Actors randomly getting unparented and their location set to 0,0,0

Every few days, we notice that actors that were parented to other actors got detached and are now floating around at 0,0,0.

  • All objects are still in the same level as their former parent objects.
  • Mobility of both parent and children is still set to movable.
  • The parents are pure blueprints (no construction script, no components).
  • The children can be anything (BPs, static meshes, FX, etc.).

We’re at our wits end with this, as it keeps happening, and we have to redo hours of work to move everything back in place. There is no apparent pattern of when this is happening, or to which actors. Our only solution going forward is to not use outliner parenting anymore, which is problematic for organization or for moving multiple objects as a group.

Has anyone experienced something like this before? Any ideas what’s going on here?

Did you ever figure out a fix or why this was happening??

I have been having the same issue for several days now and it is literally driving me insane! Blueprint actors are randomly being set to Movable with Static parents and thus move to 0,0,0…

Sorry for the late reply, but we never figured it out anyway. The only solution we have is to never do any parenting with blueprint actors, other than beneath something like empty scene actors. Very annoying, but it’s better than having to recreate parts of our levels every few days.

During gameplay:

Theres about a billion possible fixes for this.

The easiest one being to create a manager that simply gets all the elements by using a collider placed at 0,0,0 and then detroy the elements in a loop.

The hardest one, ofc, to figure out why it is happening and preventing it.

In eidotor?
Sounds like your files are locked or Git controlled.

You should check that the engine is able to properly write to the files. Usually if it isnt you get a warning in the logs.

Sounds like your hard disk has issue more than an engine problem.

That said, unless you created something that changes the mobility expressly, then the mobility of an actor doesnt just “randomly” change.

If this is happening on an Attached actor, then its even more odd that the change differes from that of its parent.

Simplest thing to check would be to create the same situation in a new peoject, work on the 2 side by side.

If building from source you could set a watch for the state of a given element to monitor when it changes yourself.

What engine verion(s) are you 2 on?
(If its the same it could just be an engine bug)

I don’t have time to detail this more at the moment but:

  • Fixing during gameplay would not be ideal if lighting is baked, you also convert back to static for batching etc.
  • It’s obviously not a hard drive issue.
  • 5.1.1

I even tried something like setting to static in construction script but that doesn’t seem to fix it either. This weird behaviour changing the mobility also only happen after reopening the editor or when packaging.

It was also happening on attached child actors. Pretty sure its a bug but cant confirm

Not sure if you ever fixed this issue. Child static meshes were unparenting themselves in a cooked build, but looked fine in editor. I just managed to “fix” it by disabling world partition in the world settings. Not really a great solution if you rely on world partition for your project. I don’t see any other threads complaining about this specific issue though, so here we are.

Just pointing out that it sounds like the exact same bug that Wildcard (Ark survavial of the bugs) never managed to fix in what? 10 years of shelf life?

Granted they never gaf about any bug or players or anything except stealing talent from other studios and creating a mess…
But they had the exact same issue on live servers. Whatever was attached to their dinos suddenly disappeared and was placed somewhere (randomly) at world 0,0,0.

Coud this be an issue with the mobility setting? Sure. But the resulting outcome is still a bug.

The reason one doesn’t see more threads about it, is probably exactly because the mesh or child actor or whatever attached component is just given the wrong settings in the first place - but - it sounds insane that these instances would persist when their parent is removed from the scene/level/world.
So definitely still a bug with the engine (and likely one thats been ongoing for 10+ years)…