Unreal Engine


The NVIDIA Omniverse™ Unreal Engine Connector offer a simple toolkit for Unreal users to send and live sync their model data to an Omniverse Nucleus server. This not only gives creators users a first class renderer through Omniverse View or Omniverse Create but also the ability to open, edit and sync with any of the Omniverse Connect applications. Now, depending on the use case, creators can choose the workflows and pipelines that work best for their needs while maintaining up to date revisions for all downstream consumers of their work.

The Omniverse Unreal Engine Connector plugins are an excellent way to export scene, geometry, and material content to USD and Omniverse. The MDL (Material Definition Language) plugin’s material export unlocks access to using Unreal Engine’s industry-leading material editor as one of the easiest and quickest ways to author MDL materials. Artists can use Unreal Engine’s terrain and landscape editor, and with one click can export geometry and materials straight to Omniverse, stored as a USD mesh. The plugins also support USD and MDL importing as well as live-editing of meshes, materials, and stages.

Introduction (Video)

Supported Versions

The Omniverse Unreal Connector works in the following versions of Unreal Editor.

  • 4.26 (Updates for 4.26 will stop after the 200.0 release. We’ll continue fully supporting 4.27 and 5.0)

  • 4.27

  • 5.0

USD and MDL in Unreal Engine

USD assets are used by Omniverse USD Actors, just like a Static Mesh is used by a Static Mesh Actor. MDL assets are at first identified with this Omniverse MDL icon. Once they are imported they are represented by an Unreal Material asset icon.

Note that red folders and USD/MDL assets with a lock on them identify read-only files that are located on an Omniverse Nucleus mount.

Omniverse USD and MDL asset icons

Assets Loading and Caching

Assets are not actually loaded and converted from Omniverse until they are used. Once loaded, the converted Unreal assets, such as textures, materials, are cached on disks. And they will be updated when necessary. Note that the Content Browser displays USD and MDL files inside the project’s /Content/Omniverse folder, but those files do not exist on disk. As assets are loaded, intermediate Unreal assets are saved to those locations, but the are purely intermediate and only aid in reload times. Do not create assets within the /Content/Omniverse folder as they could be removed from disk when these folders are cleaned.

A Note about the Epic Games USDImporter Plugin

In version 102.1 of the Omniverse USD Plugins the USD library was modified with prefixed library names to allow the Epic USD plugins to run together with the Omniverse plugins. Note that some export functionality (File : Export : .usd) may be impacted due to the registration order of UExporter extensions.

Usage Instructions

Project Settings

Though the default settings should be correct for most situations, you may wish to edit settings based on your use case. You may edit these settings in project settings under plugins > Omniverse.

Omniverse Plugin Settings Unreal Engine


Live Edit settings can also be controlled through an Omniverse button in the Main Unreal Editor Toolbar.



Server List

A list of Omniverse Nucleus servers that are visible in the Content Browser

Live Edit

Enable/Disable the ability to actively edit the USD that you’re
connected to, in realtime. If disabled, you must save your changes
to update the USD.

MDL Template Paths

Locations of the base MDLs that Unreal can use to convert
materials to MDL.

Render Context

Material import/render material setting - MDL or Default (USD Preview Surface)

Open Developer Log

Show developer log messages in the editor log

Texture Compression

Enable texture compression on import (disable to speed up import)

Enable Query Collision

If enabled, meshes will have query collision enabled on import

Keep Changes During Play in Editor Session

If enabled, changes made to a USD stage in PIE will be saved and replicated in a live session


To connect to an Omniverse Nucleus server, navigate to the Omniverse Icon in the top tray and select “Add Server”.

Connection Notification

Once selected you will be brought to this connection dialogue.

Connection Window

After entering an Omniverse Nucleus server, click “Add to Content Browser” to continue. Once you browser into the folder in the Content Browser you may or may not be required to login using browser authentication depending on the state of your connection ticket. If connecting to a pre-2020.2 server it will login to the server using your Windows username.



If a connection fails to exist for the Omniverse Unreal Engine Connector, a notification will appear on the bottom right of your screen. It signifies that you do not have a current connection open to an Omniverse Nucleus.

Removing a Server

To remove an Omniverse Nucleus server from the Content Browser, right click on it and select “Remove Server”. This will also remove all local cached Unreal assets that were previously imported.

Removing a Nucleus Server

Live Sessions

Live Sessions allow for real-time collaboration of USD assets cross-platform within Unreal Engine. When starting a live session, a new USD layer is created and set as a live authoring layer. This layer allows for non-destructive live work sessions. When leaving or closing a session, the creator has the opportunity to save the changes made during the session onto the original USD stage file. These changes can be activated or deactivated at any time, providing a truly non-destructive workflow.

See the Omniverse Live Workflow Documentation for more information on using Live Sessions.

Live Mode

Visual Notification





In order to use a Live Session, open the USD stage you wish to use. Afterwards, click the Omniverse icon and select Live Session. When first enabling a Live Session, you are presented with the opportunity to join an existing session or create a new one. Anyone that has already joined an existing session will be listed under participants. This includes usernames, the application they are connected through and if the user is the owner of the session. To create a new session, simply provide a session name and hit create.


In order to leave a session, click the Omniverse Live Icon and over the Live Session checkbox you will have the option to leave or end a session. Leaving a session will disconnect you from the Live Session. This session will continue to exist, allowing other users to stay connected, join or re-join at a later time.


When leaving a session, none of the live changes will be saved to the USD stage. They will continue to be stored on the live session layer for you to merge at a later time.


Selecting End and Merge will kick off all other collaborators to stop any further changes to the live session. At this point you will be presented with the option to either Merge to corresponding layers or Merge to a new layer. Merging to corresponding layers will save the changes to the USD Stage file that was used to create the Live Session. They will be saved as a Checkpoint, ensuring that all changes are still non-destructive.


You can also Merge to a new layer, which will create a new USD layer which contains the changes. You are still able to turn off this layer and discard any changes that were made in the session. When selecting this option and hitting continue a content browser will allow you to name and save the new USD layer that will contain your session changes.


When merging to a new layer, you might receive the following notification. If your original USD Stage stored any information that was not contained in a layer, then saving to a new USD layer might not reflect all of the changes from your live session. This is due to how USD determines the importance of changes. Please follow the following link for more information.

See the USD Strength Ordering For more information regarding USD strength ordering please follow the following link.


If you are in a live session and the owner ends and merges the session, you will receive a notification. At this point the USD Stage has been changed and you can fetch the file with the saved changes.



While live editing with another Omniverse client one might notice that while the Unreal Editor is in the background edits might not appear in the editor viewport. This is because Unreal has a performance setting that uses less CPU while in the background. This setting can be disabled in the editor preferences by unchecking the “Use Less CPU when in Background”. The Omniverse USD plugin unchecks this setting the first time it is run within a project by default. caption2

Cleaning Local Assets

Inevitably there are sometimes issues with the intermediate files contained in the project’s /Content/Omniverse and /Content/MDL folders that represent USD and MDL assets on the server. One way to resolve these issues is to simply remove them from the disk and let the plugin recreate/rediscover them from the server. Note, if the assets are open, or have been opened, it’s possible that the editor will not be able to delete them. Also, note that cleaning these folders locally does not remove the data on the Omniverse Nucleus server(s), it removes the intermediate Unreal assets on disk.

Cleaning Intermediate Assets

Opening USD Files

Users can open and use USD files already organized and managed from an Omniverse Nucleus server within Unreal. Opening USD files from local disk is not currently supported.

Connection Window

Once connected, the Unreal Connector lists all Omniverse Nucleus assets in Unreal Content Browser within a directory called /Omniverse. Any USD files existing within your Omniverse Nucleus can be opened, used and edited by Unreal. Any edits or modification can be saved or live synced to your Omniverse Nucleus. While USD files do not get converted, Omniverse textures and material (MDLs) are converted to native Unreal Texture assets and materials automatically and are managed by the Omniverse Unreal Connector.

To find the stage in the Content Browser after it is opened, select the Omniverse/OmniverseStageActor in the World Outliner. From the Details panel select the magnifying glass to browse to the USD stage in the Content Browser.

Browsing to the USD stage in the Content Browser

Saving USD Files

When working in a non-live workflow changes made to a USD stage are not sent back to the Omniverse Nucleus server immediately and save must be done explicitly. To save a USD file’s changes back to the server, right click on the USD in the Content Browser and select Save to Omniverse. Note that the File menu’s Save, or the Control+S keyboard shortcut do not save the USD back to the server, they will simply save the intermediate Unreal asset, which is ineffective. When saving a file there is an option to set a checkpoint comment if the Nucleus server supports checkpoints.

Saving a USD stage to Omniverse in the Content Browser

Copying Omniverse URLs

To copy the Omniverse URL into the clipboard, right click on an Omniverse asset from within the /Game/Omniverse folder in the Content Browser and select Copy Omniverse URL

Copy Omniverse URL for asset into clipboard

The Omniverse USD Layers Tab

Omniverse USD Layers can be viewed, manipulated, and locked by opening the Omniverse Layers tab from Window menu and selecting the Omniverse Layers option.

Opening the Omniverse Layers Tab

Importing USD as Unreal Assets

Introduced in 105.1

USD and MDL content can be imported to Unreal Assets and used as completely native assets that can function in a packaged application without the Omniverse Connector. These asset types are supported:

  • Static Meshes

  • Skeletal Meshes

  • Skeletal Mesh Animation

  • Level Sequence keyframed timesamples

  • Materials (from MDL)

The Connector also supports importing from local disk.

Importing USD Stages and Assets from Omniverse

A stage can be imported from the Content Browser by right clicking on the USD file.

Importing a USD stage from Omniverse

These options are presented when importing:

Options for importing a USD stage from Omniverse



Asset Folder

The destination for the imported Unreal Assets

Import Unused References

If unreferenced materials are present in the USD stage they will still be imported (default to checked)

Import as Blueprint

If the USD file is a collection of meshes that compose a structure (and even animation), this is useful to collect them as a Blueprint asset

In this example, a USD stage was imported (without “Import as Blueprint” checked) and a level was created with all of the meshes, lights, etc. represented just as they were in USD.

Options for importing a USD stage from Omniverse

The imported assets are structured under the “Asset Folder” in a specific hierarchy in this release. This will become more flexible in future releases, but currently they are are layed out like this:

  • <ImportedUSD Folder>

    • Animations

    • Materials

    • Meshes

    • Textures

This assembly was imported from the Marbles collection with “Import as Blueprint” selected. It includes many meshes, materials, and animations all collected in a Blueprint hierarchy.

Importing USD Assets from Local Disk

The Connector also supports importing USD content from the local hard drive. To do this, right click in the Content Browser in a folder where the USD is to imported as Unreal assets. The import dialog will match the one above for importing from Omniverse, except the “Input USD File” must be specified instead.

Importing USD from local disk

Reimporting USD Assets from Omniverse

The Connector allows for reimporting of meshes, materials, textures, etc in case changes were made to the source USD in Omniverse and these changes were needed in the Unreal asset. To reimport an asset from Omniverse you must use the “Reimport” option under the Omniverse right-click context menu. The standard Unreal “reimport” workflow is not used.

Reimporting a material from Omniverse

Importing Audio2Face Facial Animation Introduced in 103.1

Omniverse Audio2Face USD facial animation curves for MetaHuman characters can be imported after they are exported using the Blendshape Conversion option from Audio2Face’s Data Conversion tab. Since the animation curves need to interact with Unreal animation assets directly, the workflow is slightly different than the rest of the USD workflow from the Omniverse Connector. The facial animation curve USDs can be imported from either local disk or Nucleus and they are saved as Animation Sequence Unreal assets. Once imported, there is no connection or mapping back to the USD file, it’s a one-time import.

If you want to import a file from local disk, right click within the Animation Sequence’s destination folder and select Import Facial Animation. If importing from Nucleus, right click on a USD from the /Omniverse folders and select Import Facial Animation.

Browsing to the USD stage in the Content Browser

When importing from Nucleus a dialog box will pop up requiring two bits of input:

  • A destination path for the Animation Sequence Unreal asset

  • A skeleton, the required MetaHuman skeleton is Face_Archetype_Skeleton

Browsing to the USD stage in the Content Browser

This Animation Sequence may now be opened in the Animation Editor or added as an animation track for the MetaHuman Face skeletal mesh. If there’s an existing Face_ControlBoard_CtrlRig track, that can be deleted.

Browsing to the USD stage in the Content Browser

If further edits to the Animation Sequence are required the animation can be baked to the Face Control Rig using the right click option on the Face skeletal mesh.

Browsing to the USD stage in the Content Browser

Control curves can be tweaked using the Face Control Rig. In this image the eyes were drawn downward using a new keyframe.

Browsing to the USD stage in the Content Browser

If the desire is to have all of this animation and mesh data back in USD format in Omniverse, the Sequence or Take Recorder should be used to capture a sequence. This captured sequence can then be inserted into a level and exported as USD. This is outlined in the Animation Export to Create tutorial .

Exporting to Omniverse (as USD and MDL)

Note: before trying to export anything to Omniverse, ensure that the editor has a valid connection to an Omniverse Nucleus server.

These types of assets can be exported to Omniverse as USD or MDL files by right clicking on them and choosing Omniverse Export in the Content Browser
  • Maps

  • Meshes

  • Materials

Actors in a level can also be exported to Omniverse as USD by right clicking on the in the World Outliner and choosing Omniverse Export

Export Dialogue
  • Make sure that the output folder is under the /Game/Omniverse folder, otherwise there’s no mapping back to the Omniverse Nucleus server

  • Meshes, lights, and cameras found inside of Blueprint actors are also exported

Export Options

Export Dialogue



Export Method

Shared organizes materials so they can be shared by many assets
Modular exports a material for every asset so that assets and their materials are all self-contained

Include MDL

Export MDL materials

MDL Dependency Option

Include Dependencies - Duplicates the MDL dependencies (templates) in Destination Folder
Use Core Library Dependencies - Core MDL Library templates are referenced

Destination Unreal Template Path

Destination Folder on Omniverse Nucleus for the MDL dependencies (templates)
Note: A file must be selected, but only the folder is used

Texture Size

Use Texture Setting or Source as Exported Texture Size

Export Texture as DDS

Save DDS Files to Destination Path and reference them from materials

Include USD Preview Surface

Export Preview Surfaces

Create a material overrides layer

Export a sublayer that contains all of the material reference overs for the stage. Also create USD files for each material rather than including them in the prop stages.

Export physics data

Include collision data with static meshes (not available with Unreal Engine 5.0 due to USD Schema updates)

Export source geometry for Nanite high-poly detailed mesh

Brute-force export the Nanite geometry as USD geometry data. (only available with Unreal Engine 5.0, this generates a LOT of triangles)

USD Scenegraph Instancing

Make every referenced mesh in a stage an instance. If the stage has duplicate meshes this can greatly
reduce geometric GPU memory in another renderer, but the editing workflow may be hampered.

Export as Payloads

Use Payloads instead of References in the stage

Export as Y-up axis

If checked, USD and MDL are exported with a Y-up stage up-axis rather than the default Z-up

Export Sublevels as Sublayers

If checked, levels are exported as USD sublayers and referenced in the root stage

Convert Skeleton root to identity transform

This option will convert a Skeleton’s root node to an identity transform to assist downstream tools that require this. All animations exported during this export will be transformed properly so they’ll work in downstream tools.

Include invisible levels

If checked, levels that are hidden will be included in the export and marked as invisible

Export Decal Actors as planes

If checked, decal actors are exported as “floating” plane meshes offset from their base mesh

Add extra extension to exports

Stage files will be named .stage.usd, props will be named .prop.usd

Checkpoint Comment (Optional)

Set the checkpoint comment on the Nucleus server for each exported file
MDL Templates

The MDL Core Library is a set of MDL templates shipped with every Connect plugin. An MDL preset can simply reference the template with requiring it to be in a particular location.

  • Reasons to choose “Include Dependencies”
    • You want all exported MDL presets to use a specific MDL template which you control and possibly modify.

    • You are concerned that as the MDL templates are modified and improved over time that there might become parameter incompatibilities between the different Connect plugins

  • Reasons to choose “Use Core Library Dependencies”
    • You want to avoid the proliferation of the MDL templates as you do many different MDL exports

    • You want to use the newly updated MDL templates that ship with Omniverse Kit or other Connect plugins rather than what existed when you exported

Export USD and MDL to Local Disk

Maps or meshes can be exported directly to disk as USD and MDL files with the File menu’s Export All or Export Selected options. Export All will export the entire open map while Export Selected will export the selected actor from the editor viewport.

Exporting USD and MDL assets or maps to the local disk

Stages and MDL materials can also be exported from the Content Browser. Right click on the asset, select Asset Actions, then Export.

Exporting USD and MDL assets or maps to the local disk

Once the File menu option is selected (or right-click-export), the file type, or “Save as type” should be set to .usd or .usda.

Select USD or USDA file type to export USD and MDL

Export Commandlet

The Omniverse commandlet automates the process of exporting levels to Omniverse.

Instructions: The “-AllowCommandletRendering” flag must be added to the command line if exporting Text Render actors or USD Preview Surface.

In the following example, the FooSample map from the BarProject project is exported to a local server for testing:

BarProject.uproject -run=Omniverse -AllowCommandletRendering -map=FooSample.umap -path=”/Projects/FromUnreal” -user=admin -omniverse_server=localhost:3009 -log

Export Options:




The map name (with or without) extension. Note, specify the entire path to the map (/Game/Maps/MapToExport) if the name is ambiguous


The output path on the Omniverse server path (absolute)


The name of the USD file. Defaults to the Map name


The user name


The password (Defaults to the user name)


The address of the desired server

Export Flags (true/false):


Default State



Include MDL in export


Materials are exported for each asset


Generate preview surfaces


Add extra extension to exported file, ie, .stage.usd, .prop.usd


Copy templates to export directory


Use the source texture for the texture size


True (non-shipping)
Emit some messages along with the export for debugging


Convert Actors to StaticMeshActors


Export collision components


Call BeginPlay on world to create runtime components. Default true.


Log operations but do not perform the export.

Multiple Maps: If you supply a ‘+’ delimited set of maps following the -map option, the maps will be exported at the path using the map name as the sub-folder and the name of the USD file.


MyProject.uproject -run=Omniverse -AllowCommandletRendering -map=Island.umap+Cavern.umap+Moon.umap -path=”/Projects/FromUnreal” -user=admin -omniverse_server=ovserver.mycompany.com



Exporting Omniverse PBR Materials

Introduced in 103.2

The Omniverse PBR materials available from Omniverse Create can be used to prevent MDL export translation when materials are exported. Only the parameters are mapped and the material will be presented as an OmniPBR just as if the material were added in Create. To use this method create a Material Instance from the /Game/MDL/Base materials that are created by the Connector.

These materials are supported:

  • OmniGlass

  • OmniGlass_Opacity

  • OmniHair

  • OmniPBR

  • OmniPBR_ClearCoat

  • OmniPBR_ClearCoat_Opacity

  • OmniPBR_Opacity

  • OmniSurface

  • OmniSurfaceBlend

  • OmniSurfaceLite

Take these steps to export an OmniPBR based MDL from Unreal:

  1. Create a material instance from OmniPBR and move it to another folder (outside of /Game/MDL/Base)

    Make a base material instance and move it to another folder
  2. Apply the Material Instance to a mesh and edit the whichever parameters are required

    Edit the material instance parameters
  3. Export the stage or mesh, specify if the MDLs should be copied or if the core library dependencies should be used

  4. Observe in Omniverse Create that OmniPBR.mdl is the referenced MDL and the parameters are all mapped correctly

    Edit the material instance parameters

Supported & Unsupported Features


Import/Open (From USD)

  • Geometry
    • Static Meshes

    • Skeletal Meshes

  • Materials
    • Preview Surfaces

    • MDL

  • Animation Introduced in 100.1
    • Skeletal Mesh animation

    • TimeSamples (as Level Sequence Actor)

    • Omniverse Audio2Face USD facial animation controls for MetaHuman characters Introduced in 103.1

  • Cameras
    • USD Camera attributes mapped to Cinematic cameras

  • Lights
    • USD Distant Light (as Directional)

    • USD Rect Light (as Rect)

    • USD Sphere Light (as Point)

    • USD Dome Light (as sky sphere mesh and sky material) Introduced in 101.1

    • USD Lights with IES Profiles Introduced in 102.6

Export (To USD)

  • Geometry
    • Export to USD w/ Skeleton

    • Nanite mesh exported brute-force as geometry (Unreal Engine 5.0)

    • Static Mesh Collision data

    • Landscapes

    • Grass textures Introduced in 101.1

    • Foliage

    • Brushes

    • Text Actors

  • Animation Introduced in 100.1
    • Skeletal Mesh animation export

    • Level Sequence Actor export (if Autoplay checked)

  • Materials
    • Preview Surfaces

    • MDL Export: Native translation

  • Cameras
    • Cinematic camera attributes mapped to USD Cameras

  • Lights
    • Directional Light (as USD Distant)

    • Point Light (as USD Sphere)

    • Spot Light (as USD Sphere)

    • Rect Light (as USD Rect)

  • Postprocess
    • Some exposure settings saved with stage export

  • Blueprints
    • Meshes, Lights, Cameras, SceneComponents, etc. within a Blueprint are exported as USD after the Construction Script is run

  • Groom Asset Introduced in 100.4
    • USD BasisCurves exported if OmniverseGroom plugin enabled

Live Workflow

  • Stage Editing
    • Actor transformations

    • Actor addition/removal

    • Receive mesh deformation from other clients

  • Material Syncing
    • Material assignment

    • Material Instance parameter changes


The Unreal Engine is vast and has many varied authoring pipelines and asset types. For now the Omniverse USD and MDL plugins are targeting a subset of those that are useful and it will continue to grow. Listed below are some of the items that are not supported, but note that this list doesn’t cover everything.


For now the Omniverse USD and MDL plugins are only supported in editor mode. They cannot be run in “-game” mode or used as a packaged, shipping project.


Logic Run in a Blueprint is not yet translated into any sort of compute logic within USD. A Blueprint’s components are exported to USD in whatever state that they exist after the Construction Script is run. Note that if a user wishes to capture Blueprint motion as timesamples, Unreal’s Sequence Recorder may be used and then exported as USD timesamples.

Level Sequences

Only linear keyframes are supported in the USD import/export. On export, a cubic, or any native Unreal keyframe will be translated into per-frame, linear timesamples. On import, linear USD timesamples will be imported as linear Unreal keyframes.


When exporting unsupported material functions watch the Message Log for notifications. Not all material functions map to MDL properly, so they are often replaced with a constant value.

The Message Log shows materials with unsupported functions
These material functions are not supported (incomplete list):
  • Complicated Custom HLSL Material Expressions that use code that doesn’t align with MDL

  • Atmospheric Light Vector

  • Atmospheric Light Color

  • Atmospheric Fog Color

  • Pixel Depth

  • Scene Color

  • Camera Vector/Position

  • Object Position/Radius

  • Field of View

  • View Property

  • Light Vector

  • Bump Offset

  • Fresnel

  • IOR from texture lookup

  • Media texture sampler

  • Particle
    • Particle Color

    • Particle Direction

    • Particle MacroUV

    • Particle PositionWS

    • Particle Radius

    • Particle Random

    • Particle RelativeTime

    • Particle Size

    • Particle Speed

    • Particle SubUV


  • Meshes with more than 2 UV channels with materials that use Vertex Color won’t have correct materials in Omniverse Kit.

  • There are issues with exporting Brushes as USD meshes, when they are exported they sometimes don’t have the correct materials.

Commandlet Limitations

  • The export commandlet will only export maps, not individual meshes or materials.

  • The export commandlet will not properly export maps with multiple levels.

  • The export commandlet doesn’t currently set the Perspective camera in the custom layer data

  • The export commandlet must be run with the -AllowCommandletRendering flag to support text render actors and USD Preview Surface

Release Notes

200.1 Hotfix

Bug Fixes

  • Fix a packaging failure by avoiding MDL core material generation when cooking


  • Update Omniverse USD Resolver Plugin to 1.11, Omniverse Client Library to 2.15

200.0 Point Release


  • Added the new Non-Destructive Live Session Workflow

    • Create live sessions that don’t alter the root stage until the session creator merges

    • See who else is connected to the live session


Bug Fixes

  • Fix a crash when renaming a folder in the export folder selection dialog (OM-33512)

  • Install the Connector under /Engine/Plugins/Marketplace by default to enable 5.0 to build C++ projects (OM-53266)

  • Add a scrollbar to the export dialog (OM-46285)


  • Expose USD and Facial Animation loading to Editor Utility Blueprints (OM-58488)


  • Updates for 4.26 will stop after this update and we’ll continue fully supporting 4.27 and 5.0

105.1 Point Release


  • Import USD and MDL as Unreal Engine assets (OM-38124)

    • Static and Skeletal Meshes, Time Sampled sequence data, Materials, Textures

    • Import USD assemblies as Blueprints

    • Reimport asset supported through Omniverse context menu

    This Blueprint was imported from a USD prop

Bug Fixes

  • Fix live editing exposure and loading exposure time samples for USD lights (OM-49611)

  • Mark imported textures as sRGB if the color space is auto in a material (OM-49285)

  • Add support for BC4 DDS exporting and fix building 16bit grey textures (OM-48724)

  • Fix exporting UDIM/VT with different dimensions (OM-48684)

  • Handle UE5 issue where C: is a relative path while C:/ is not for material loading (OM-53158)

  • Fix loading mdl which contains the full parameters list in SourceAssetSubIdentifier (OM-50358)

  • Fix a crash after dragging a USD into a level then running PIE, then quitting (OM-50761)

  • Fix a crash when exporting Skeletal Mesh with no Skeleton (OM-50461)

  • Fix an issue where the content browser is blocked when starting the editor due to a refresh

  • Don’t create a preview Directional Light if the USD stage contains a Dome Light (OM-52432)

  • Fix crash when exporting a Blueprint with a root that’s an instanced mesh component (OM-51882)

  • Fix crash when exporting only USD Preview Surface due to uninitialized OmniverseExportMaterialResult (OM-53656)


  • Add support for the DomeLight “Visible in Primary Ray” attribute in the Unreal sky mesh plus material (OM-50112)

  • Add support for exporting Animation Montages (OM-50677)

  • Add support for local exporting of BC6, BC6H, and BC7 DDS (OM-48684)

  • Dramatically improve the performance of loading stages with thousands of prims (OM-50300)

  • Add support for importing Mineways materials (OM-51513)


104.3 Hotfix

Bug Fixes

  • Fix loading the USD animation sequence length

  • Fix MDL exports when virtual textures are used (OM-48724)

  • Fix crashes due to invalid USD prims when live editing (OM-48918)

  • Fix Omniverse texture loading in projects with virtual textures enabled (OM-46133)


  • Update the Omniverse client library to v1.17.4 to update OpenSSL

  • Update the Core MDL library to 910238b3

  • Setup imported meshes with convex collision rather than using “complex as simple”

  • Load DDS block compressed textures as 2D when importing USD files to open/edit (OM-49132)


104.2 Hotfix


  • The Omniverse Connector is released for Unreal Editor versions 4.26, 4.27, and 5.0

Bug Fixes

  • Fix progress bar that might show 100% when exporting a map for the first time (OM-46329)

  • Fix VertexInterpolator in the MDL translator (OM-47468)


  • Support the PreSkinnedNormal material expression in the MDL translator (OM-47468)

  • Add support for exporting a master pose component (OM-46978)

  • Add support for exporting with CopyPoseFromMesh in an AnimGraph (OM-46978)

  • Add an export option to set the Skeleton’s root transform to an identity transform (to assist downstream tools that prefer this)


104.1 Point Release


  • The Omniverse Connector is released for Unreal Editor versions 4.26, 4.27, and 5.0 Preview 2

  • Layer visibility and locked state is synced between Unreal and Create (OM-41867)

  • Add support for loading MDL templates (OmniPBR and friends) as an instance based on Connector templates

    • Rather than re-importing OmniPBR every time, the OmniPBR Unreal material is used as the parent material

  • Add support for loading USDZ files from Nucleus (OM-43305)


Bug Fixes

  • Refactored the Commandlet exporting to fix an issue where sublevels wouldn’t properly export (OM-15147)

    • Note, there is still an issue when exporting a persistent level, sublevels won’t export

  • Fix specifying the MDL template folder so that the template MDLs are copied properly (OM-42933)

  • Export 16bit PNGs for normal maps to prevent pixelated highly reflective/metallic surfaces (OM-30912)

  • Fix empty actors when they are attached to a Blueprint actor (OVSD-349)

  • Skip exporting hidden instanced components

  • Fix material location for exporting instanced meshes to avoid duplicates

  • Fix exporting custom material expressions with macros

  • Fix OmniGlass importing

    • Cutout opacity will be treated as opacity for translucent materials

    • Fix glass opacity when it isn’t enabled and disable RT shadow if the imported MDL is translucent

  • Fix editing a USD stage causing a reload issue (OM-42016)

  • Decode URLs before loading assets (fixed a texture path with space %20 encoding) (OM-43689)

  • Fix a regression with scene depth in a spiderweb MDL export (OM-44215)


  • Add a message log for loading USD and MDL to report issues with custom MDL distillation (OM-41762)

  • Add support for translating Square/Pow2/Pow3/Pow4/Pow5/Pow6 Unreal material functions

  • Add support for exporting instanced meshes as a referenced USD rather than including it inline in the stage USD

  • Update the Omniverse client library to v1.17.2. It uses Python 3.7 and fixes file subscription callbacks

  • Update the texture saving pipeline and only rebuild PNGs to improve perf if texture parameters require it

  • Remove local to remote USD layer copies in the stage control class (OM-44628)

  • Use individual file subscription for updates on Omniverse Assets rather than subscribing to the entire folder’s changes

  • Avoid redundant texture files copies when uploading to Nucleus servers

  • Add an accurate progress bar when exporting (OM-43374)

  • Add cancel button when exporting to Nucleus (OM-43680)

    • Due to the unresponsiveness of the editor during export the addition is limited


103.3 Hotfix


  • Updates for 4.25 will stop after this update and we’ll continue fully supporting 4.26 and 4.27


  • Support for viewing live synced USD variantSet changes from other clients (OM-26617)


Bug Fixes

  • Fix missing LightColor timesamples from lights in Level Sequences (OM-40909)

  • Fix exported exposure when Post Process Volume’s “Apply Physical Camera Exposure” is disabled (OM-40877)

  • Fix MetaHuman Fuzzy Hoodie material export due to a regression (OM-41058)

  • Fix MetaHuman Teeth occlusion material export (OM-41055)

  • Fix a crash and behavior with USD prim attaching (OM-41418)

  • Fix USD Preview Surface normal map to undo the default tangent space calculations made by texture nodes (OM-41410)

  • Fix live sync when a Translate:pivot is used in USD xform op stack (OM-41542)

  • Fix loading MDLs with unpack_integer_as_float: It was moved to new 1.7 template (OM-41759)

  • Fix changing the SpotLight Cone Angle in Kit not changing the Outer Cone Angle in Unreal (OM-8166)


  • Updated to Omniverse Client Library 1.17 (OM-40371)

    • Live lock for “fast updates” is removed since there were issues with it

  • Export auto exposure settings to USD custom layer (OM-40877)

  • Disable two sided material when rendering translucent USD Preview Surface materials

  • Add support for OmniHair MDL importing (OM-40241)

  • Add support for exporting and importing Object material functions in Unreal (OM-41760)

  • Auto-refresh Content and Export Browser windows with Nucleus files and folders (OM-41548 OM-2399)

  • Remove preview height fog when opening USD stages

103.2 Hotfix


  • Allow users to export OmniPBR-based materials (OM-38620)
    • OmniPBR Material Instances aren’t converted, their parameters are just mapped to OmniPBR

  • Add live-edit support for USD Preview Surface material parameters (OM-39825)


Bug Fixes

  • Make empty actors first class USD xform prims and handle them properly (OM-38960)

  • Fix OmniSurfaceBlend MDL import by replacing long distilled material network with bespoke functions


  • Modular exports will group materials for splines and landscapes (OM-39408)

  • Add support for importing Reallusion’s character MDLs in 3.44 (OM-39977)


103.1 Point Release


  • Import Audio2Face USD facial animation controls for MetaHuman characters (OM-35209)


Bug Fixes

  • Fix crash when exporting a USD mesh with null material in Y-up axis mode (OM-37433)

  • Checkpoint actors that are right clicked from the viewport or world outliner panel (OM-37414)

  • Don’t allow saving or exporting to a read-only Nucleus folder and notify the user (OM-37424)

  • Fix exporting mesh with the socket attachments (OM-38063)

  • Add OmniSurface support for material graph MDLs (OM-37830)

  • Fix Undo/Redo changes so they replicate over live sync (OM-16706)

  • Fix deleting a copy of a referenced mesh under a referenced prim (OM-39178)

  • Add error notification when attempting to delete an ancestral prim

  • Fix USD mesh actor duplication (Alt+Drag, Copy/Paste, Ctrl+W) failures (OM-38541)

  • Fix USD Scope loading and exporting - now acts as an unmovable actor (OM-39383)

  • Fix “Copy Omniverse URL” to have a correct extension “.usd” rather than “_usd” (OM-32549)

  • Fix remove/add Nucleus server so it works (also fixes a server disconnect) (OM-38546)


  • Support exporting DynamicParameter material expression

  • Add a new parameter that was added in base::file_bump_texture in MDL 1.7

  • Ask the user if they want to fetch changes from the server or save changes when entering live mode (OM-32236)

  • Override attributes instead of duplicating full props when exporting a painted mesh (OM-38566)

  • Clean up many of the MDL warnings that were generated from exported materials (OM-37089)

  • Fix uninstall/delete from the Omniverse Launcher to only remove the currently installed Connector (OM-26048)

    • Note: this will only work with 103.1 builds and later, previous builds will have a broken uninstall/delete

102.6 Hotfix


  • Add IES light profile import for USD lights, export not yet supported (OM-34371)


Bug Fixes

  • Initialize static mesh render data outside of OmniverseUSD module to avoid crash (OM-36271)

  • Support exporting cameras created from Default Pawn and spawned actors when recorded in a sequence (OM-34197)

  • Also add basic support for the spring arm component as a fixed joint to suspend a camera (without any collision avoidance)

  • Fix MDL custom annotation by unmangling paths

  • Fix strange triangulation due to world normal usage in Unreal materials when exporting as MDL (OM-34110)

  • Reset EV100 to 0 when the luminance is 0 to prevent the post process from overexposure


  • Add support for referencing textures, materials, and USD stages with a checkpoint URL (file.png?checkpoint=2) (OM-34630)

  • Allow a material to load for a GeomSubset that doesn’t define the “familyName” attribute set to “materialBind” - still emit a warning

  • Add support for the USD Preview Surface “Transform2d” function

  • If USD camera focus distance is zero use the setting from post-process on import (OM-35714)

  • Export EXR files as 16 bit textures since they’re now supported by Create

102.5 (4.27 only) Hotfix


  • Updated build to support 4.27.0 Release

  • Add support for importing the OmniSurface MDL materials (OM-34790)

  • Add support for exporting a material with virtual textures (OM-35721)


  • Add an export option to disable exporting Landscape Grass to reduce memory usage

  • Add support for exporting materials that use a Desaturation material expression node (OM-35720)


102.4 (4.27 only) Hotfix


  • Unreal 4.27 Preview 4 editor support added (Preview 3 support dropped)

Bug Fixes

  • Fix Lerp material expression node losing inputs with a scalar parameter caused by OM-34457 (OM-35242)

102.3 Hotfix

Bug Fixes

  • Separate MDL functions which require MDL 1.7 to a new core template which will be imported as needed. The main Ue4Function template maintains MDL 1.6 to compatible with older Kit SDK versions (OM-35152)

    • This specifically addresses the issue where Machinima 2021.1 shows red materials with Unreal 102.1 and 102.2 exports

  • Fix a crash by adding error checking for the custom mdl function translator

  • Avoid repeatedly copying template MDL files when exporting materials


  • Add option to decide if exporting preview mesh as well when exporting the animation sequence (disabled by default)

  • Add support for HSLS exp/exp2 to MDL math functions

102.2 (4.27 only) Hotfix

Note, this hotfix is only for the 4.27 Preview 3 Unreal Editor. Epic Games recently updated from Preview 2 to Preview 3 and our 102.1 release isn’t compatible, so we updated it.


  • Updated build to support Unreal 4.27 Preview 3 (Preview 2 is no longer supported)


Bug Fixes

  • Fix the result of MDL lerp expression when the input is constant (OM-34457)

  • Adjust spot and point light exporting (OM-34234)

  • Fix the incorrect relative texture path when exporting objects (static mesh/skeletal mesh) to local disk

  • Fix crash when loading transform_vector_from_tangent_to_world() and transform_vector_from_world_to_tangent() from Ue4Function mdl

  • Clamping the texture coordinate index if exceeding the number of texture coordinates: Omniverse MDL used the 3rd and 4th uv sets as vertex color, so out of bound coordinates will cause the issue (OM-34912)

  • Add notification when the filename on the Omniverse is too long (OM-31735)


  • Setting max roughness to 1.0 which is 0.3 by default in Create to match the roughness attribute of UE material (OM-34749)

  • Update Core material libraries to 1dcbfb85 for OmniSurface

102.1 Point Release


  • Unreal 4.27 Preview 2 editor support added

  • Add an export option to create a “material override” sublayer and material references (OM-31466)

  • Add Omniverse Checkpoints on Save, Export, and Live Toggle (OM-31918)

  • The USD DLLs are prefixed to allow the NVIDIA USD plugins to be loaded at the same time as the Epic USD plugins (OM-31328)

    • Note that some functionality in the plugins might be impacted due to both running at the same time

  • Add support for http/S3 references to allow for Omniverse skies, materials, and other assets from Create (OM-31892)

  • Add support for importing materials generated by the MDL Material Graph in Create (OM-31608)


Bug Fixes

  • Add version control to USD DDC to prevent crashes when importing the same USD SkelMeshes with different editor versions (OM-31982)

  • Add MetersPerUnit stage value to DDC cache to prevent incorrect scale on importing

  • Fix invalid MDLs in Create when exporting using the Core library dependencies

  • Fix USD Domelight import material by normalizing the reflected vector to prevent scaling

  • Fix bounds for USD SkelMesh animation imports (EuclidVR sample)

  • Fix live editing material from the USD Skel which mixes with Mesh and GeomSubset

  • Fix importing tangent_space_normal_texture function from base module to fix normals on OmniPBR (OM-33899)

  • Fix check() when importing Automotive Materials Pack M_Opaque_Master (OM-33666)


  • Unreal 4.24 is no longer supported

  • Live Edit will automatically be disabled when opening/importing a USD stage (OM-31918)

  • Add support for HLSL clamp conversion to MDL clamp

  • Add support for importing/exporting “unpack integer as float function” (OM-30252)

  • Add support for converting hlsl rgb per-component operation for the variable and function to mdl (OM-30252)

  • Update MDL SDK to 2021.0 (344800.2052): 01 Jun 2021

  • Support loading specific material from the core material lib in preparation for material node graphs (OM-31608)

  • Omniverse Client Library update to 1.13

101.2 Hotfix


  • Add an option to export SubLevels as USD SubLayers (OM-30422)

  • Add an option to export Decal Actors and Components as USD meshes (OM-10250)

  • Add an option to export stages as Y-up (default is Z-up) (OM-3518)

Bug Fixes

  • Fix missing USD Layer names in the Omniverse Layers tab (OM-13577)

  • Add a missing vector and matrix multiplication support for MDL distilling (OM-30492)

  • Fix installer to support a relocated Unreal Engine install from Epic Games Launcher (OM-30765)

  • Fix a vertex color bug on mesh export and weld USD static mesh verts

  • Fix Skeletal Mesh live transform update issues (OM-30696)

  • Fix a crash due to shared SkelMesh DDC entries between engine versions (OM-31982)

  • Fix an issue where imported animations replay too slowly due to usage of framesPerSecond rather than timecodesPerSecond

  • Prevent OmniAsset in mounts from saving and live editing (OM-31753)

  • Fix folders and assets missing read-only mount flags (OM-31821)

  • Fix a reconnect loop on disconnected Nucleus servers (OM-26381)


  • Add “localhost” as the default in the Add Omniverse Server dialog (OM-2734)

  • Allow “omniverse://servername” in the Add Omniverse Server dialog (OM-2734)

  • Add export commandlet options for payloads and layered sublevels

  • Export World Outliner folders as USD Scope prims (OM-30645)

  • Add an “Export Current Level to Omniverse” option from the menu button (OM-30627)

  • Add an option in the project plugin settings to save stage changes during Play in Editor sessions (OM-28372)

  • Update the Omniverse Client Library to 1.11.15


  • This is the last update to the Unreal Engine 4.24 Connector. Future releases will only contain Connectors for 4.25, 4.26, etc.

101.1 Point Release


  • Source code included to allow source builders of Unreal Engine to use the plugin.

  • USD Skeletal Mesh import improvements to support more USD hierarchies

  • Fixed Skeletal Mesh material editing in live-sync

  • Added support for exporting IOR values in MDL with Unreal Ray Tracing Translucency

  • Fixed many custom HLSL material expression issues for MDL export

  • Add import and live-sync support for USD DomeLights as UE4 sky sphere actors.


  • Include source code in the Launcher download to support GitHub Unreal Engine source builds

Bug Fixes

  • Materials

    • Fix an issue where an MDL parameter name might be redefined, causing invalid materials (OM-29128)

    • Fix an issue where deleting a material made in Create while in a live sync session didn’t update in Unreal (OM-28940)

    • Fix missing parameter annotations from parameters in material functions

    • Fix live editing of materials in a skeletal mesh (OM-29530)

  • USD importer will convert mesh from Y-up to Z-up, so cache should be changed if the up-axis is different (OM-29351)


  • Materials

    • Add support for Unreal’s combined material and post process volume ray tracing translucency in transparent MDLs (OM-27969)

    • Prevent duplicate custom expressions in exported MDLs by using a cache

    • Add support for radians and degrees in custom expressions in exported MDLs

    • Add support for mul in custom expressions in exported MDLs (OM-29276)

    • Support exporting additional outputs for custom expressions (OM-29276)

    • Support exporting additional outputs for custom expressions (OM-29276)

    • Support additional float4 constructors in custom expressions (OM-29276)

    • Unifying the material loading for USD skeletal and static meshes (OM-29351)

    • Add support for DistanceToNearestSurface material node when exporting MDLs by using a constant value to generate a valid material (OM-30208)

  • Skeletal Meshes

    • Reorganize the hierarchy of UsdSkelRoot to fix a missing UsdSkeleton transform, also helpful for the multiple skeletons. (OM-29351)

      • Old: UsdSkelRoot -> SkeletalMeshActor

      • New: UsdSkelRoot -> Actor and UsdSkeleton + UsdMesh -> SkeletalMeshActor

  • Landscapes

    • Export Landscape actors with a GeomSubset and MDL Preset for each Landscape component to address issues with the visibility mask (OM-29643)

    • Only export the Landscape visibility mask once, as opposed to once for every layer

  • Lights

    • Improve skylight when importing a USD stage (OM-27528)

    • Add support for importing USD DomeLights as UE4 sky sphere mesh plus a material that supports some DomeLight properties (textures, exposure, intensity, color)

100.6 Hotfix


  • Significant Skeletal Mesh and Animation import and export improvements

  • Fix bugs to allow for easy USD timesample/animation exports of recorded sequences - makes it easy to capture dynamic Blueprint behavior as timesampled data

  • Further fixes to material creation live-syncing between Create and Unreal Engine

  • Improvements to mesh caching of USD stages, both during the editor process lifetime (mesh cache) and between editor executions (DDC) - this makes reloading a USD stage significantly faster

  • Added an option to export prims in a stage as Payloads rather than References.

Bug Fixes

  • Fix a USD Skeletal Mesh animation import issue where the start time was being ignored (OM-27456, OM-27454)

  • Fix a Skeletal Mesh export issue when morph targets are employed by using LOD RenderData instead of the LOD Model

  • Fix crash when loading skel root with multiple skeleton bindings as the default prim

  • Fix exporting Level Sequence visibility/boolean sections if there’s only one keyframe (OM-27613)

  • Remove live-syncing of Level Sequence changes because of performance issues

  • Fix exporting spawned Blueprint meshes in Level Sequences (OM-27613)

  • Fix exporting Level Sequence with a 3D constraint section that has an infinite range

  • Fix exporting a mesh component as a Xform prim when there’s no actual mesh asset assigned (OM-27790)

  • Fix exporting material with PrecomputedAOMask in DDS mode

  • Fix a material export crash when HLSL text in custom material expressions contain comments near the end of the text block.

  • Fix a material export/import issue where refraction was removed with using the Fresnel node (now default IOR for invalid refraction is set to 1.491 instead of 1.0)

  • Fix another issue where initial material creation and application on a prim in Create did not live-sync to Unreal Engine (OM-26415)

  • Fix attenuation radius scaling (MetersPerUnit) for spot and point lights

  • Fix scaling (MetersPerUnit) for USD cameras, which use fixed units, so no scaling required


  • USD Mesh Importing
    • Meshes are now cached by both the mesh cache and the DDC to speed the subsequent loading of unmodified USD meshes

  • USD Payloads and References
    • Add an option to export props as payloads rather than references (OM-28488)

  • Materials
    • Update MDL Core Definitions to version 2.0.0 and set the exported SDK version to 1.6

    • Add support for exporting sincos() HLSL function in custom material expressions (OM-27401)

    • Workaround HLSL usage of the SampleGrad() function in custom material expressions (OM-27401)

    • Support exporting HLSL vector components as left assignment in a custom expression (OM-27401)

    • Add support for exporting Texture2DSample UE4 material function in custom material expressions

    • Add support for HLSL distance in a custom material expression

    • Prevent MDL export errors when encountering View to World and World to View transforms and emit a warning

    • Update the MDL Core materials to support hair color

    • Add MDL display_name annotations to strip the extraneous “inputs:” from the name in Create

    • Add support for exporting 2D Render Targets to PNG and DDS (OM-28954)

  • Animation
    • Add support for exporting a Blueprint animation with the “Copy Pose from Mesh” graph
      • Note: Only attached parent is supported

    • Automatically export a Level Sequence if there’s only one in the level, previously “Auto Play” had to be checked

  • File Support
    • Use UTF-8 (rather than ANSI) when interacting with the Omniverse Client Library to support all possible characters from the Content Browser

  • Installer
    • Make the uninstaller silent (OM-28140)

100.5 Hotfix


  • Add the module .Build.cs files to allow C++ source project builds using the Epic Games Launcher source

Bug Fixes

  • Materials
    • Unify MDL export warnings so they all appear in the same message log whether exporting to local disk or Nucleus server

    • Add a new way to identify if the refraction contained in material expressions can be used for MDL IOR. For example, if texture sampling is used to drive refraction attributes in a material, it will be ignored and replaced with the default IOR constant.

    • Fix 4.26 fog volume MDL exports, the subsurface color attribute was incorrect

    • Fix an issue with a missing override material when exporting instanced meshes

    • Fix an issue where initial material creation and application on a prim in Create did not live-sync to Unreal Engine

    • Fix MDL/texture importing when sampled with address mode (wrap vs. clamp)

    • Fix translation of the Panner material expression node to MDL

  • USD
    • Fix a crash when exporting shots in a Level Sequence that end outside the time range

    • Fix a crash by not allowing an imported Level Sequence actor to be renamed

    • Fix a crash when editing the transform of an instanceable prim by locking the movement of an actor if it’s a descendent of an instanceable prim

    • Fix USD warnings when reading incorrect value types

    • Fix an issue where USD mesh shapes axis changes did not live-sync

  • Lights
    • Fix export of SpotLights to USD SphereLights

    • Fix the import of SphereLights as SpotLights to take the stage’s metersPerUnit setting into account

  • Install
    • Fix the uninstall to only delete files that were installed, not the entire folder where the plugins were installed


  • Materials
    • Add annotation to MDL parameters so that DisplayName, Description, SortPriority, Group, and Range are all exported and visible in Create

    • Add support for the clamped texture sample setting in the texture asset for MDL export

    • Add support for the exporting the PerInstanceRandom material expression node to MDL

  • Other
    • Add a utility Blueprint function to list the contents of a Omniverse server folder (ListOmniverseFiles)

    • Add support for exporting Level Sequence shots with the correct priority into a single Omniverse shot camera

    • Support mapping a Post Process Volume’s “Exposure Compensation” to “cm^2 Factor” in the Tone Mapping RTX Settings in Create

    • Add support for importing USD capsule shapes

    • The defaultPrim on exported stages now have a blank Kind, rather than be set to “group”. This fixes some prim/defaultPrim selection issues in Create.

100.4: Hotfix


  • Add the optional OmniverseGroom plugin to 4.25 and 4.26. This plugin will export Groom assets as USD Basis Curves.

Bug Fixes

  • Fix crash when importing Black_Oak from mounted tree library. Do not attempt to reuse an actor of a different class.

  • Fix a crash when closing the editor when connection to an Omniverse server had previously failed

  • Fix a crash when opening an MDL that is referenced from a path larger than 260 characters (or so) due to Unreal Editor path length issues

  • Fix a crash when exporting a Level Sequence actor with a shot in negative time

  • Fix USD Skeletal Mesh animation importing and playing when triggered from within a Level Sequence

  • Fix an issue where imported USD timesamples that changed visibility on a parent prim did not affect children meshes.


  • Make basic USD shapes (sphere, cube, etc) use the same default material that meshes use when no material is bound

  • Don’t allow deletes of ancestral prims from referenced USDs within a stage

  • Support live replacement of mesh prim from point instancer with a UE4 static mesh

  • Workaround issues related to materials that employ Parallax Occlusion Mapping (POM) since this doesn’t translate well to MDL

  • Add support for the Black-body radiation material expression node with MDL

  • Add primitive data (bounding box, etc) from Unreal Engine to MDLs through a custom expression

  • Trigger Skeletal Mesh animation from within a Level Sequence rather then on the actor to ensure that animations with other actors are synchronized.

100.3: Hotfix


  • Add support for MetersPerUnit on import and export for meshes, shapes, cameras, lights, and stages

Bug Fixes

  • Fix crash when editing material caused by Geometry Subset material binding

  • Remove duplicate vertices when exporting UE4 Landscape to USD mesh

  • Fix SkelRoot live edit perf issue

  • Get full data and handle transform exporting from Level Sequence sections even if there’s no key in a shot

  • Avoid crashing when MDL function call creation fails and reports an error

  • SkyAtmosphere material expressions get a constant 0 value when exported as MDL


  • Always create UE4 actor when loading a USD prim (rather than only if it is a model or lacks a parent component). This changes the layout actors, meshes, components, etc. in UE4 to be more like the USD stage. Fewer components, more actors

  • Merge multiple camera sequence shots into a new USD camera while still preserving the original shot cameras

  • Support exporting BC6H/BC7 2D textures

  • Replace UE4 material function DeriveTangentBasis with TangentBasis when exporting MDL materials due to the usage of incompatible DDX and DDY material nodes

100.2: Hotfix


  • Add Unreal Engine 4.26 editor support
    • Note: The export folder dialogs in 4.26 do not refresh Omniverse server folders properly. Browse/create folders from the Content Browser first.

Bug Fixes

  • Collision properly exported from stand-alone static mesh asset exports

  • Fix crash when exporting DDS textures when a material uses virtual textures (note, proper VT export is not supported)

  • Fix crash when loading Level with USD actors

  • Fix live-edit of many Cinematic Camera properties

  • Fix binding materials to geometry subsets, honored only if the familyName of subset is UsdShadeTokens->materialBind

  • Remove the “Omniverse USD Sequence+ (usd)” Image Output Format from the Render Movie Settings because it is no longer supported

  • Fix crash when importing USD skeletal meshes. Garbage collection cleans up StaticMeshLOD so some classes needed to be moved to a different module.


  • Avoid exporting TangentX array for skeletal meshes if unnecessary

100.1: Point Release


  • USD upgraded from 19.11 to 20.08

  • Skeletal Mesh animation import and export support added

  • Level Sequence actor import and export support added (as USD Time-sampled data).

  • USD Scenegraph Instancing export option added

Bug Fixes

  • Improve Blueprint export (for meshes, cameras, text render actors, and lights)

  • Fix normal generation on USD imports that contain no normals

  • Fix live update issues with Camera actors


  • If DDS textures are exported then they will be referenced by exported materials

    • Note, there’s no DDS importer so the exported textures will not import properly in UE4.

  • Log messages added during export to Omniverse to make it more clear when

  • Add option to include invisible levels when exporting

  • Exporting levels as USD to the file system are now organized as props and references. Previously all meshes were defined in the stage USD file.

  • Add an “About Plugin” dialog from the Omniverse toolbar button

2020.2: Hotfix 2


  • Update Omniverse Client Library to 0.9.1064 to address file listing issues and potential data loss while overwriting large files

2020.2: Hotfix 1


  • Fix a crash when running in VR Mode in the editor

  • Skip exporting a section if there are no faces

  • Update Omniverse Client Library to 0.9.723-mr2020.2.1-602740bb to fix some LFT issues

  • Fix a couple problems with texture exporting and importing (settings and global texture settings)


  • Improve the hierarchy of meshes under Blueprint actors when exporting. Remove an extra Xform and make them have a proper origin (not 0,0,0)

2020.2: Point Release


  • New Omniverse Client Library

    • Add support for multiple Omniverse Nucleus servers connected simultaneously

    • References between servers supported

  • Add a right-click save to Omniverse option on assets when Live mode is not enabled

  • Bake O/R/M USD Preview Surface textures to 8-bit gray textures

  • For a shared asset export the MDL Schema will be a material instance based on an MDL Preset, rather than simply pointing to an MDL Preset

    • This reduces the number of materials in a stage export, but note that static switches will still cause distinct material creation

Bug Fixes

  • Fix a reload issue on USD stages, now it will pull the latest version from the server rather than a stale version

  • Fix exporting multiple text components from a Blueprint

  • Fix importing and exporting the relative transform of a USD prim

  • Fix crash when loading MDLs for the first time in a new project

  • Fix getting Export LOD from LandscapeStreamingProxy

  • Fix writing files larger than 2GB to Omniverse

  • Indicate that no filename is necessary when exporting multiple assets and don’t lose the default path when Cancel is hit

  • Use global ::anno style imports for standard MDL modules (per specification)

  • Add support for the MDL core library clearcoat and opacity base variants

  • Resolve UDIM path for USD Preview Surface and MDL Schema

    • Note that the UDIM path is resolved with the first texture only. If UV > 1 then the texture shown will be incorrect.

2020.1: Hotfix

Bug Fixes

  • Make sure all characters are UTF8 with MDL exports and imports

  • Replace engine variable with constant in custom expression during exporting

  • Fix distilling of MDLs that use a Fresnel function

  • Notify users that vertex and pixel normal expression cannot be used for MDL IOR

  • Fix an issue where the Omniverse texture etag was saved before a texture load was completed. This prevents random garbage materials appearing on meshes.

  • Avoid loading from empty USD asset path address

  • Support masked materials when exporting and importing USD Preview Surfaces

  • Support actors with the same name in multiple sublevels while exporting USD

  • Fix proto index if there are empty instanced mesh components

  • Fix separating sections to meshes: Note that the number of vertices can’t be obtained from static mesh section

  • Fixing baking preview surface for the dynamic translucent material instance : Dynamic material instance can’t set the parent directly

  • Mangle/Unmangle invalid characters to make UE4 access Omniverse path


  • Use the editor’s Landscape ExportLOD property to determine what LOD to export to USD
    • This is useful because Landscape actors are currently exported as meshes and the size can get out of hand quickly

  • If MDL load fails try to load the preview surface instead (and vice versa)

  • Automatically disable the editor CPU throttling to avoid live editing issues

2020.1: Point Release


  • 4.25 Support

  • Geometry (Static Mesh)

    • Switched from exporting GeomSubsets to Meshes to support Preview Surface

    • Multiple landscapes in one map is now supported

    • Better support for brush geometry export

    • Text Render actor export

  • Materials

    • Vertex color support added

    • Vertex color painting

    • Landscape layers

    • Unlit translucent material support added

    • Dynamic material instances are exported to a single MDL file (greatly improves rendering performance)

    • Precomputed AO mask support added

    • Texture bombing added

    • Many noise features added

      • Noise

        • Simplex: Perlin

        • Gradient: 2D texture (3D texture not supported)

        • Value

        • Voronoi

      • Vector Noise

        • Cellnoise

        • Perlin 3D

        • Perlin Gradient

        • Perlin Curl

        • Voronoi

  • Cameras

    • Perspective camera in Omniverse Kit defaults UE4 editor perspective camera transform

  • Lighting

    • Some post process settings saved to stage (exposure)

  • Local Workflow

  • Physics

    • Export collision by default

    • Exporting complex, triangle mesh collision

  • Editor Experience

    • Read-only Omniverse mount icon overlay on new Omniverse USD and MDL asset icons

    • Versions in plugin info

    • More/fixed documentation

  • Omniverse

    • Live material updates and stage management bug fixes

  • Automation

    • Level export commandlet

    • Script to automate level export