[STABILITY] Prefab Instantiated via Verse Has Incorrect Initial Offset in Nested Hierarchies

Summary

This report details a critical timing issue where GetGlobalTransform() returns an unstable, incorrect value for newly spawned prefabs, especially those in nested hierarchies. This race condition causes significant visual placement errors and hinders the creation of dynamic, modular game systems.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Verse

Steps to Reproduce

  1. Create a deeply nested entity hierarchy in the editor (e.g., ParentProp → ChildObject → GrandchildSpawnPoint).

  2. In Verse, write code to spawn a prefab, child it to the GrandchildSpawnPoint, and then immediately position it using the result of GrandchildSpawnPoint.GetGlobalTransform().

  3. Trigger this code during a live game session.

Expected Result

The newly instantiated prefab should be perfectly aligned with the GrandchildSpawnPoint entity’s transform, with no incorrect offset.

Observed Result

The prefab spawns at an incorrect position due to the unstable transform value returned by GetGlobalTransform(). This issue only occurs on the first instantiation in a session.

Platform(s)

PC

Additional Notes

mpact:
This makes reliable, dynamic placement of objects extremely difficult without resorting to workarounds. It forces a specific, less intuitive approach to object spawning and can be a significant source of bugs that are difficult to diagnose.

Reliable Workaround:
The issue can be consistently avoided by parenting the new prefab first and then setting its local transform to an identity transform (.SetLocalTransform(transform{})), which delegates the final position calculation to the engine.

Request:
We request that the UEFN team investigate this timing issue. The ideal solution would be a reliable method or event (e.g., OnTransformSettled) to notify Verse when an entity’s transform has been fully calculated and is safe to query for use with SetGlobalTransform.