Why do the static meshes in this blueprint spawn at the world origin?

So I have this ‘prop tornado’ in one of my levels. It’s just a bunch of static meshes and a few bouncepads (also blueprints) connected to a rotating movement components. In the editor, it works great. But when I package a windows build, all the static meshes get moved to the origin point, and cease rotating. The only stuff that remains are the bouncepads. Any insight into this problem would be greatly appreciated.


(This is what it’s supposed to look like.)

I have noticed that meshes with rotating movement components also change their direction in packaged vs dev builds.

Bumping this to say that it happens with any mesh you convert to a blueprint in 5.6. If you make a blueprint and add static meshes there, no problem, but if you find a collection in your level you want blueprint-ified, select them and convert, this happens. It appears to only happen when you try to convert 2 or more static meshes to a blueprint. Converting a single mesh doesn’t have this problem.

Hi,

I tried that in UE5.6 and didn’t have that issue.

  1. I added a bunch of static mesh cubes in an empty level besides a directional light
  2. “Convert Selection To Blueprint Class…“ → selected “Harvest” option with Actor class selected
  3. packaged the project
    The cubes where still at same position.

What version are you on? What exact steps are you going through? Can you reproduce it in a new project?

5.6.1, let me try with a blank project.

I was also using ‘child actors’ instead of ‘Harvest’ so let me try that too

Can you share the code of how your spawning and controlling movement?

It could be mesh pivot related, also check in the construction script of said BP if there are some transform changes going on (if it’s a procedurally generated thing)

I tested around a bit and was able to recreate your problem.

Quick fix

In the blueprint, that was created in the conversion, select all Child Actor Components and activate (set true) Child Actor Is Transient check box.
details panel → Child Actor Component (category)
at bottom the second last option.

My findings

I don’t know what Child Actor Is Transient does, but it seemed to work for my setup. With the default settings the Child Actor Components had their correct positions in the packed build, but the actual Actors had their transforms set to zero or default 1.0 for size. It also worked to set the Child Actor Components to be “static” instead of “movable”, but then you would not be able to use the Rotating Movement Component.

Using “Convert selection to BlueprintClass…” with the “Child Actors” option will create a “Child Actor Component” in the new Blueprint for every piece you had selected. Sadly Child Actor Components are known to be a buggy mess. Apparently “the unreal engine team regrets adding it“

https://www.reddit.com/r/unrealengine/comments/1ckpzha/is_the_childactor_component_still_considered/

Maybe this is already in the bug tracker / issues here

My conclusion

I don’t have much experience with this workflow, but I would still recommend to use the “Harvest” option here. Beware of the conversion process attempting to reconstruct selected blueprints without any logic that which you may added. It will get all components from the selected blueprint and reconstruct these.