UE4 connector: Omniverse Layers not working

When I tried to test Omniverse Layers in UE4 layout feature not working.
Open Omniverse Layers then create a layer, select an actor in outliner then move the selected actor.
I see the manipulator moving but the object stays the same place and as soon as I release the manipulator it snaps back to the original position.
I see the warning message of “there are deltas of this actor above the activated layer. moving underneath will not be propagated correctly to other users.”

How can I remove deltas? (from above the activated layer) I have only one layer and above is “Root”

Thanks for giving the UE4 connector a try, we’re looking into your issue now and I’ll have an engineer from the UE4 team reply shortly!

I tried to reproduce your issue using one layer, and seems to be working as expected.
Could we get a screenshot of your Omniverse Layers panel?
Also is it possible to share the level/map you’re working with?

I had exported the Unreal basic level, Minimal_Default, to Omniverse and opened that in UE4 4.25.
This is what my Omniverse Layers panel looks like, with one Layer. /Root/
image

If you could also provide your UE4 Connecter version, as well as UE4, that could be helpful.
(From Omni Launcher, Library > Connectors > Epic Games Unreal Engine Version)

OK, a few things:

  1. The Omniverse Layer tab in UE4 is an old implementation that needs to be improved. Much work has been done in Create to make the layer UI much nicer, and we are planning to upgrade the layer UI in UE4.
  2. At the moment you cannot move deltas from one layer to another in UE4 like you can in Create. When I open a single-layer stage in UE4 and add a layer I cannot transfer deltas from the Root to the new layer, and this creates the issue you are seeing.
  3. In UE4 the way you set your authoring layer is by selecting a particular layer. In Create you explicitly right-click and “Set authoring layer”.

For example, in this situation I should NOT be able to move the chair because Layer1 has a lower priority than Root (being lower in the layer stack) and since I have Layer1 selected I’m authoring in Layer1.

You can remove deltas by right clicking on them and deleting. This will undo any changes on that layer. You can also hide the layer to do A-B comparisons.


Thank you for your quick reply.
I will attach a movie to demonstrate what I did.

1 Open level
2 Export to Ominiverse
3 open USD file
4 select Chair_15 and move,
5 open Omniverse Layers
6 create one layer, select Layer1
7 move Chair_15 again (It does not move(
8 remove Chair_15 from Root*Chair (disappear)
9 Select Layer1 but there is no Chair_15 anymore so I cannot move Chair_15

Omniverse Plugin Version: 100.3.493.cea5d9a3
MDL Plugin Version: 100.3.493.91e48433
Omniverse Client Library Version: 0.18.0-0953256a-release
USD Version: 20.8
Build Date: Dec 17 2020

So, what happens here actually makes sense.

  • When you select Layer1 in step 5, you are trying to an “over” in Layer1 for the Chair_15 prim xform in step 6. Because Layer1 is below Root, you can’t add an “over” there.

I would suggest that once you remove Chair_15 from the Root layer in step 8, you then drag in another chair prop while Layer1 is your authoring layer.

At that point you’ll have your chair prim in Layer1 and you can make changes to its properties in Layer1.

Create is a much better place to play/learn about USD Layers and Overs since the Layer Editor/Tab is more developed. It allows you to move overs from one layer to another, which is really what you want to do here in Unreal Engine, but we haven’t implemented it yet.

Thank you for your reply.
I just tested your suggestion and it works
However, this is not a usable solution, and production not really interested in using Create app.
By your suggestion, we have to open USD scene, remove all object which might move in layers, then put back all props one by one into the scene.
This workflow not going to scale well in the massive production scene.
Is this intended behaviour or still under development feature(or bug)?

The inability to move items from layer to layer is not intended, it’s simply because the layer editor in Unreal Engine is immature compared to Create. We intend to improve the layer functionality in Unreal Engine, it’s just not there yet.

I know that this isn’t the best workflow, but in the interim, a good workaround might be to actually open the stage in Create and add all the authoring layers you require, then use UE4 to cooperatively work on the stage.

Thank you for the feedback, it helps us determine priorities and the most glaring holes in our functionality!

1 Like