[UE5] TLazyPtr nulls only when travelling to level?

One property of type TLazyObjectPtr is configured on the editor panel to target a ACameraActor on the scene.

Property on ACompositingElement, Compositing plugin.

This works just fine. When the level plays in PIE the reference is valid. However, When I travel to this level from another level the reference is null.

I noticed this happening with TSoftObjectPtr as well. Aren’t they supposed to keep a soft reference at all times?

Bump

Bump

I tested various soft pointer properties on various actors, all contained by sublevel actors referencing an actor on a persistent level. All become null during PIE. Just curious who else ran into this so far.

Makes perfect sense to me. When you travel, the actor (belonging to the world) is gone, so the reference no longer resolves to a valid actor.

The underlying string is probably the same RE the Soft Ptr, but the actor itself is now null. It won’t resolve to anything and the editor can’t show you what it is.

Yes that makes sense for a normal pointer but not for a lazy / soft one to nullptr on its own. I’m supposed to be able to make a reference so I can load the actor on demand :smile:.

Also the lazy pointers do point at actors on the same level. Just when that level is streamed as a sublevel into another level the pointers null. That makes no sense to me.