Child Actor Position Bug (4.12.4)

Hi!

We’ve just updated to 4.12.4, and there seems to be a problem with the Child Actor’s world location.

Here’s an example of the problem we’re facing. Obviously, the doors are supposed to be fitting in their spaces, but here’s the behaviour when we try to place them:

https://ppotn40-hotmail.tinytake.com/sf/NzgzNjY0XzM1MjEwMzk

Placing the blueprint in the level

When we place it in the level, the static mesh (Fridge) is correctly placed in the world, but the Child Actors are placed at the position [0,0,0].

Example: https://ppotn40-hotmail.tinytake.com/sf/NzgzNjcwXzM1MjEwNzU

What’s in the Child Actor’s blueprint

In the Child Actor’s blueprint, there’s a skeletal mesh for the door, an audio component, and collision boxes to limit movements. Some are static and some are moveable, and they’re all attached to the root scene.

It seems to have been introduced in the most recent update. Is there any workaround? Will it be fixed in the next update?

Thanks.

Hey CyanBalloon,

I have a few questions to help narrow down this issue:

  • Are you seeing this during PIE, or at any point once you put the object in the viewport?
  • Have you been able to reproduce this in a clean project? If so, can you do it with default assets and provide repro steps?
  • Is this occurring only on the one blueprint, or do you have several that are experiencing issues?

After fiddling around, even with World position type, some doors work and some others don’t. The behavior is extremely unexpected and unpredictable (only as Child Actors, everything is fine otherwise).

We’ve somehow fixed the problem, but highly doubt that it won’t bug in another future update.

We’ve changed the position type of the Child Actor from Relative to World in the blueprint’s viewport. When we’re playing in editor mode, everything is fine. This should’nt be fine though, it’s clearly in a relative position, or else the door would be somewhere very close to the world’s origin.

Example: https://ppotn40-hotmail.tinytake.com/sf/NzkxNDIxXzM1Mzk0NzQ

Looks like there’s a problem with relative/world positioning with Child Actors, buried deep somewhere, as the problem only affects our doors blueprint as a Child Actor. If we place the doors directly in the world, every thing is still fine. I wouldn’t even know where to begin to isolate the problem.

Since you’re having trouble isolating the issue, could you recreate the issue with that particular asset in a clean test project with no additional content? That way I can use that to reproduce the issue and determine if we need to enter a bug report for this. You can zip up the test project and provide me with a Google Drive or Dropbox link. If you’re concerned about privacy, you can PM me the link on the forums: https://forums.unrealengine.com/member.php?160394-Sean-Flint

This has been driving me insane. I literally felt like I was losing my mind. Child actor location is acting all screwy. Hit collisions, controls randomly going out. I don’t know what is going on but 12.4 has been nearly unusable for me.

Having same problem. Projectile child actors have been acting completely sporadic since 12.4 update. Locations and hit collisions are acting unpredictably.

That’s the think, there is nothing predictable in the behavior. We tried to reproduce the bug in a clean project, and couldn’t. We even have trouble reproducing it in our project. We open UE4, it’s all broken, we close and reopen it, it’s fine, vice versa.

We finally fixed it by setting all the scene static and tweaking some values. This might have something to do with attaching movable objects to static objects, or something like that.

Well, I’m happy, and also troubled, to see that we’re not the only ones experiencing these issues.

Another weird thing is the Thumbnails to actor blueprints have other actors in them that aren’t actually in the blueprint. For example my projectile blueprint has a picture of the character actor in it (though the character actor isn’t in the projectile blueprint at all). I don’t know if this addition was done on purpose or not.

I also have this problem. A lot of my actor blueprints have the fridge door in front of the actual actors inside, only in the thumbnails.

Just to pile a bit more onto the weirdness, I finally got fed up with the child actors so I decided to delete all of them and re-create them from scratch. So I deleted them (5 in total), they deleted as expected. Then went to create a new child actor and all 5 of the deleted child actors were re-created a long with the new child actor. So instead of deleting the 5 child actors and creating 1 new child actor, I deleted all 5 child actors and got 6 child actors when trying to create 1 new child actor (the 5 old ones I deleted plus the new one).

Are either of you able to provide a repro case for the issue that you are experiencing? It definitely sounds like it is hard to track down, so any information you can provide would be extremely helpful, or if you are able to provide a test project, feel free to shoot it to me in a PM. I provided my forum link below. Unfortunately, without a repro case, we have limited options as far as what actions we can take with this issue. As a result, I am going to mark this topic as resolved for tracking purposes at this time. However, please feel free to reopen the thread as soon as you have any new information, and we will continue to investigate.

Thank you for your report.

This issue is still in 4.27.
I have some workarounds I figured out. Just had to post this to possibly help someone else who might be stuck out.
Seems not many people are adding child actors inside the blueprints “compile time”.

How to reproduce:
Add an actor as a child of another actor in its default scene root.
Play in editor and the child appears where it should be.
Modify the child actor’s blueprint and compile it.
Play in editor and the child appears at 0, 0, 0.

My workarounds:

  1. Manual workaround: Switch the DefaultSceneRoot’s mobility to movable and back to static, then compile. Fixes child components.

  2. Automatic workaround:
    In the parent’s construction script, use GetComponentsByClass in order to get all your child components, then use a for each loop to loop through them. For each item use the get Child Actor node to get the actor, then drag out a get Root Component node, and out of that drag out a Set Mobility node → set the mobility to movable.

This made every child appear in the correct location without needing to manually change the parent’s mobility each time a child actor blueprint is modified.

Hello there! While I comprehend that your situation might differ slightly from mine, it’s worth attempting this approach. I’ve encountered a similar bug on several occasions and managed to identify the root cause in my case. The problem stemmed from the child actor being designated as static, along with certain components. Once I reconfigured them to be movable, I observed a significant improvement in their functionality. Your issue might have distinct nuances, but it’s certainly worth considering this solution.