I made a hex tile and a blueprint to spawn those tiles and make a grid, the blueprint works fine, using the ConstructionScript I was able to spawn the tiles and make the grid, but those tiles appear only in the blueprint Viewport and in the Editor.
I added one cube to the Grid blueprint to see if it appear in game and I added one HextTile manually to the level and both appear in game.
I used to use a similar grid on UE5 EA2 and it works fine, but at UE5 I can’t manage to make it work.
I was able to use that blueprint to SpawnActor to the world using a function in editor, and it works, but with that method I can’t “resize” the grid nor move it (selecting all Tiles manually I can move all, but …)
How can I solve this? Anyone using Child Actor on UE5?
Edit: There are two workarounds I have found. One is opening a new map without World Partition and using the blueprints with child actor components there. It seems to be related to this issue. However, even turning off World Partition on a map that is already using it won’t fix this. The other one is just assembling all the meshes in your child actor again in the other blueprint, thus avoiding any child actor components, but this is very counterproductive.
If you’re using world partition you might try taking the reference to the child actor from the child actor component and setting “Spatially loaded” to false. Though, I’m not sure this is the issue.
It’s hard to make further suggestions without seeing more of the Blueprint code you’re using.
There is no blueprint code, at least in my case. It’s simply a blueprint actor with a child actor component, so it’s just blueprint actor A inside blueprint actor B. I even tried it with nothing but a child actor component, which means blueprint actor B is absolutely the same as blueprint actor A, in practice at least. I did hear that a child actor component is not the same as the blueprint itself, but I don’t know any more than that. But placing blueprint actor B on a map will trigger the bug, while blueprint actor A will not.
Edit: I just tried your suggestion. You are right, it worked. So just to make it a bit clearer for other people to see. You open up the blueprint actor with child actor components, or blueprint actor B in the example above. Then you select the child actor component, click the drop down button of “Child Actor Template”, then under World Partition, untick “Is Spatially Loaded”.
Edit 2: Sorry, I just tested this on another blueprint actor with child actor components but this time it didn’t work. It seems “Is Spatially Loaded” has the same effect as “Actor Hidden In Game” in this case. They both force the actor to load if you tick or untick them while in game.
Edit: I would suggest not marking my suggestion as a solution, because it’s a pity that you can’t use World Partition if you use child actor components. Let Epic developers know that this is still a issue.
In my parent Pawn actor where introducing Child Actor components, in “Begin Play” node I just call “Set Child Actor Class” with the same Class referring to the original Child Actor component in the pawn structure. I don’t create or spawn those actors, I just refer to the same class it is.
I really don’t know why, but it works with World partition maps. Those Child Actors have “Is spatially loaded” unchecked (not sure if it has nothing to do here).
World Settings HLOD =
MainGrid
500 Cellsize
1000 Loading range
(Squeezed cell sizes to fail fast, debug)