Reference Level Instance actor from Persistent Level

In UE4, if you want to reference, from the Persistent Level, an actor that’s in a sublevel, you can just create a soft reference to it. However, this doesn’t seem to work with World Partition’s Level Instances. I’m not sure if it’s by design, not implemented yet, or broken.

Below are multiple tries at this, simply by trying to reference a cube that’s in a Level Instance from the Persistent Level.

First, I tried to select my cube from the soft reference variable dropdown menu. As you can see, the cube isn’t available in the dropdown.

The second try is using the “Pick actor from scene” button. With that, I can pick the cube from the scene, which properly initializes the variable.

However, at runtime, the soft reference fails to be resolved.

image

The third try is by going in “Edit Mode” on the Level Instance. In such case, the cube becomes available in the soft reference variable dropdown menu.

However, as soon as we exit “Edit Mode”, we get the following warning.

And if we try to play, the soft reference also fails to resolve.

image

So all in all, I’m not sure if that’s expected or not, and what will be the status of that at 5.0. But being able to reference actors in Level Instance would be pretty important for us, so I hope to at least get some clarification on that.

Thank you.

1 Like

Any update on this? It’s still appears to be a very real issue.

Using UE5.2 now but still can’t directly reference actors from a level instance.

This is a very important feature as level instance is currently the only way to do the encapsulation of “Actor Composition”, which supplements blueprint class’s “Component Composition”.

To successfully resolve a reference to an actor located inside a level instance at runtime, you need to get object path string and replace symbols from _0. to _1. then do make soft reference back which will now resolve successfully

Apparently this is some kind of mark by which you can determine when the reference was received (editor time (0), or runtime (1)).