Exporting Unreal Engine Content to glTF

How to export Unreal Engine content to glTF

Use the glTF exporter to export individual Assets or the current Level to one of the following formats:

Format

Description

JSON

.gltf

Includes the following elements, saved separately in a directory you specify:

  • Full scene description: saved as a JSON-formatted, human-readable UTF-8 text file with the .gltf extension.

  • Texture files: saved to the format you specify, .png, .jpeg, and so on.

  • Binary data files: saved separate files with a .bin file extension.

Binary

.glb

Combines the full scene description, all binary data, and all textures into a single self-contained binary file.

This page explains how to export glTF files from the Unreal Editor UI. You can also export glTF files from the Editor using Blueprint, Python scripting, or C++. Runtime export without the Editor is also possible, but there are some limitations. For details, see Scripting glTF Exports.

What You Can Export

You can export the following types of Asset as glTF files:

  • Static Meshes

  • Skeletal Meshes

  • Animation Sequences

  • Levels

  • Level Sequences

  • Materials

  • Variant Sets

For more information about how the glTF exporter handles each of these Asset types, see How the glTF Exporter Handles Unreal Engine Content.

Export an Asset

To export an Asset to glTF:

  1. In the Content Browser, right-click the Asset you want to export.

  2. From the right-click menu, select Asset Actions > Export… . A file save dialog opens.

  3. In the file save dialog, choose a name and location for the exported file. Make sure Save as type is set to .gltf or .glb, and click Save. The glTF Export Options dialog opens.

  4. Set the export options as needed. For more information, see glTF Export Options Reference.

  5. Click Save.

Export the Current Level

To export the all Actors in the current level to glTF:

  1. Do one of the following:

    • From the main menu, select File > Export All… .

      or

    • In the Content Browser, right click the Level Asset, and from the right-click menu, select Asset Actions > Export…

    A file save dialog opens.

  2. In the file save dialog, choose a name and location for the exported file. Make sure Save as type is set to .gltf or .glb, and click Save. The glTF Export Options dialog opens.

  3. Set the export options as needed. For more information, see glTF Export Options Reference.

  4. Click Save.

Export Part of the Current Level

To export a selection of Actors in the current level to glTF:

  1. Select one or more Actors in the current level.

  2. From the main menu, select File > Export Selected… . A file save dialog opens.

  3. In the file save dialog, choose a name and location for the exported file. Make sure Save as type is set to .gltf or .glb, and click Save. The glTF Export Options dialog opens.

  4. Set the export options as needed. For more information, see glTF Export Options Reference.

  5. Click Save.

glTF Export Options Reference

The glTF Export Options dialog includes the following options:

General Options

Option

Description

Export Uniform Scale

Scales exported Assets to compensate for differences in units.

The default value is 0.01, to convert from Unreal Engine's default unit of centimeters to glTF's default unit of meters.

Export Preview Mesh

When enabled, the glTF exporter exports the preview mesh for a standalone animation or Material Asset.

Strict Compliance

When enabled, the glTF exporter truncates some values to strictly conform to the formal glTF specification.

For example it:

  • Truncates HDR color values to be between 0 and 1.

  • Adjusts spotlight angle values to conform to the KHR_lights_punctual spec.

It can be difficult to troubleshoot errors caused by out of range values. Although some glTF importers and viewers accept them, or truncate them automatically, we recommend leaving the Strict Compliance setting enabled in most cases.

Skip Near Default Values

When enabled, the glTF exporter does not export floating-point-based JSON properties that are nearly equal to the default values specified in the glTF specification or the specifications for glTF extensions.

This reduces the size of the exported JSON data.

Skipped properties are treated as though they're set to their exact default values.

Include Generator Version

When enabled, the glTF exporter includes version info for Unreal Engine and the glTF exporter plugin in the exported glTF files.

This is useful for troubleshooting issues with the exporter or exported Assets.

Material Options

Option

Description

Export Proxy Materials

When enabled, the glTF exporter checks whether each exported Material has a glTF proxy Material defined in its user data. If it does, the exporter exports the proxy instead of converting the original material.

This setting does not affect glTF proxy Materials you reference directly, the way you would any other material.

For more information, see glTF Proxy Materials.

Export Unlit Materials

When enabled, Materials that use the Unlit shading model are exported correctly.

The glTF exporter uses the KHR_materials_unlit extension to export Unlit materials.

For more information, see Shading Model Support.

Export Clear Coat Materials

When enabled, materials that use the clear coat shading model are exported correctly.

The glTF exporter uses the KHR_materials_clearcoat extension to export clear coat Materials.

Some glTF viewers do not support KHR_materials_clearcoat.

For more information, see Shading Model Support.

Export Extra Blend Modes

When enabled, the glTF exporter correctly exports Materials that use the following blend modes:

  • Additive

  • Modulate

  • Alpha composite

The glTF exporter uses the EPIC_blend_modes extension, which is supported by Unreal Engine's glTF viewer, to export Materials that use these blend modes.

For more information, see Blend Mode Support.

Bake Material Inputs

Specifies whether to bake a Material into a texture, and if so, how to bake it.

  • Disabled: Never use material baking and only rely on material expression matching.

  • Simple: If a material input needs baking, then only use a simple plane as mesh data.

  • Use Mesh Data: If a Material input uses mesh-specific data such as vertex color, world position, vector transform nodes and so on, this setting includes that data in the Material baking process, and the resulting texture. For materials that don't use mesh-specific data, the exporter uses a simple plane.

The exporter only uses baking for complex material inputs. For simple texture or constant expressions, it uses Material expression matching.

For more information, see Material Baking.

Default Material Bake Size

When Bake Material Inputs is enabled, this setting specifies the default size of the baked texture that contains the Material input.

You can override this default setting with Material-specific and input-specific bake settings. For more information, see the following sections:

Default Material Bake Filter

When Bake Material Inputs is enabled, this setting specifies the default filtering mode used to sample the baked texture.

You can override this default setting with Material-specific and input-specific bake settings. For more information, see the following sections:

Default Material Bake Tiling

When Bake Material Inputs is enabled, this setting specifies the default addressing mode used to sample the baked texture.

You can override this default setting with Material-specific and input-specific bake settings. For more information, see the following sections:

Default Input Bake Setting

Input-specific default bake settings that override the general defaults.

For details, see Configure Global Material Bake Settings for Specific Inputs.

Mesh Options

Option

Description

Default Level Of Detail

Default LOD level used to export a mesh.

You can override this setting with Component or Asset settings. For example, a minimum or forced LOD level.

For more information about how to control which LOD setting the glTF exporter uses, see Level of Detail (LOD).

Export Vertex Colors

Specifies whether to export vertex colors.

If you set Bake Material Inputs, in the Material Options, to Use Mesh Data, the exporter bakes vertex colors automatically for any Material that needs them.

The glTF format always uses vertex colors as a base color multiplier, which often produces undesirable results. We recommend disabling this option in most cases.

Export Vertex Skin Weights

Specifies whether to export the vertex bone weights and vertex indexes of Skeletal Meshes, which are required for animation sequences.

Use Mesh Quantization

When enabled, the glTF exporter uses quantization for vertex tangents and normals.

This setting uses the KHR_mesh_quantization extension, which might cause the Mesh to not load in some glTF viewers.

For more information about mesh quantization, see Mesh Quantization for High Quality Lighting and Reflections, and the KHR_mesh_quantization documentation.

Animation Options

Option

Description

Export Level Sequences

Specifies whether the glTF exporter exports Level Sequences. It only supports transform tracks.

The exported Level Sequence plays at the Level Sequence Asset's Sequence Display Rate (frames-per-second setting).

Export Animation Sequences

Specifies whether the glTF exporter exports a single animation Asset used by a Skeletal Mesh Component.

If you enable this setting, you must also enable Export Vertex Skin Weights in the Mesh Options.

Export Playback Settings

Specifies whether to export the following information for Animations or Level Sequences.

  • Play Rate

  • Start Time

  • Looping

  • Auto Play information

This setting uses the EPIC_animation_playback extension, which is supported by Unreal Engine's glTF viewer.

Texture Options

Option

Description

Texture Image Format

Specifies the image file format to use for exported textures.

  • None: The exporter does not export any textures.

  • PNG: The exporter always exports textures as .png files.

  • JPEG (if no alpha): The exporter exports textures that do not have an alpha channel as .jpeg files. If a texture has an alpha channel, the exporter exports it as a .png file instead.

Texture Image Quality

Specifies the level of compression for textures exported in a lossy image format.

You can set values between 1 (least compressed) and 100 (most compression).

Set a value of 0 to use the default compression level for the format. For .jpeg files, 0 is equivalent to the default value of 85.

No Lossy Image Format For

Specifies whether to use lossless image formats for textures that are more sensitive to compression artifacts.

These include the following texture types:

  • High Dynamic Range (HDR) textures

  • Normal Maps

  • Light Maps

Export Texture Transforms

When enabled, the glTF exporter exports UV tiling and un-mirroring settings in a Texture Coordinate expression node for simple Material input expressions.

This setting exporter uses the KHR_texture_transform extension.

Export Lightmaps

When enabled, the glTF exporter exports lightmaps created by Lightmass when you export a level.

This setting uses the EPIC_lightmap_textures extension, which is supported by Unreal Engine's glTF viewer.

Texture HDR Encoding

Specifies how the glTF exporter encodes textures that have pixel colors with more than 8-bit per channel.

  • None: The exporter clamps HDR colors to 8 bits per channel.

  • RGBM: The exporter uses modified RGBM encoding to store HDR colors. For details, see HDR encoding.

This setting uses the EPIC_texture_hdr_encoding extension, which is supported by Unreal Engine's glTF viewer.

Adjust Normalmaps

When enabled, the glTF exporter flips the direction of the green channel in normal maps to conform to the glTF convention.

Scene Options

Option

Description

Export Hidden In Game

Specifies whether to export Actors and Components that are set as hidden in-game.

Export Lights

Specifies whether to export directional, point, and spot light Components according to mobility.

You can toggle export separately for Static, Stationary, and Movable lights.

This setting uses the KHR_lights_punctual extension.

Export Cameras

Specifies whether to export Camera Components.

Export HDRI Backdrops

Specifies whether to export HDRIBackdrop Blueprints.

This setting uses the EPIC_hdri_backdrops extension, which is supported by Unreal Engine's glTF viewer.

Export Sky Spheres

Specifies whether to export SkySphere Blueprints.

This setting uses the EPIC_sky_spheres extension, which is supported by Unreal Engine's glTF viewer.

Variant Sets Mode

Specifies whether to export Level Variant Set Actors, and if so, how to export them.

  • None: Do not export Variant Sets

  • Khronos: Use the KHR_materials_variants extension to export variant sets.

  • Epic: Use the EPIC_level_variant_sets extension to export variant sets.

Variant Sets Options

Option

Description

Export Material Variants

Specifies whether and how to export material variants that change the Materials property on a Static or Skeletal Mesh component.

  • None

  • Simple

  • Use Mesh Data

Export Mesh Variants

Specifies whether to export Variants that change the Mesh property on a Static Mesh or Skeletal Mesh Component.

Export Visibility Variants

Specifies whether to export Variants that change the Visible property on a scene Component.