Is there a way to group actors for hierarchical rotation/translation but keep independent scale?

I’d like to attach actors to each other so they can translate and rotate as a single object. Grouping them is great for this. However, I don’t want scale to work the same way; I’d like each actor to respect only their individual scale. Grouping them is bad for this as far as I can tell. At least by default, although I don’t see any options to change the way that works.

Is there a way to do this with built-in engine functionality?

Just leave the scale on the parent node at 1.0/1.0/1.0 and never call set scale on the parent.

I guess I should have been more specific. I want to be able to scale the parent without changing the child’s scale; I scale the parent through blueprint as a core part of my game logic. Ideally, I want what group actors does now, but with the ability to disable the scaling portion. Which I’m pretty sure isn’t inherently supported. But I’d like to know if there’s an out-of-the-box way to do it, or if I need to code it up myself?

make a root dummy scene node and your current parent be a child of that along with everything else. then you can scale what was the parent without it affecting the rest.

What you’re looking for is SetAbsolute.

MyChildActor->GetRootComponent()->SetAbsolute(false, false, true);

This can also be done in blueprints within Components Mode or at runtime with the Graph Editor.


Just got around to testing, and this is exactly what I needed. Thank you!