Any tips for child component sweeps for addactorlocaltransform?

So here is a thing i noticed the other day. When using AddActorLocalTransform with sweep checked, it only does the sweep with the rootcomponent (ie box collision), all child components, for example static meshes and such are ignored and penetrate everything static.

I have a spaceship pawn blueprint, where i want to be able to attach different parts to the ship, for example different engines, parts of hull and so on. But at the same time when i move the pawn with addlocaltransform i need to detect collisions with those attached parts so the ship as a whole stops. This is not happening right now, only the root collision object is doing a sweep, all else is ignored so the attached engines for example go trough walls and terrain.

Have i missed something critical here? I have looked trough all collision options and can seem to find a solution. Any suggestions?


I would just add collision to the individual parts.
turn them into BP, add an on overlap event to a custom collision within the BP - or to the base model if it is made with good custom collision.

if collision occurs (on overla start) you get the parent, and tell it to stop normally via a cast to and changing a variable or calling a function.

When you add them to the pawn BP they’ll become child actors.

Try this out with a simple BP and sphere collision at first. Make sure it works with your current setup.

Thanx for the tip, i will try that and see. I think its very strange that there isnt a options to turn on sweep for child components, ofcourse it would be more expensive to itterate trough all children depending how many there are but it would be an option.

But since you already have a child component, it would make more sense that the child’s collision and response aren’t set or communicating back.
sweep is usually what you use on traces, for the most part. You aren’t really running a trace, you are relying on the actor to handle it’s own collision and tell the “owner” that something is wrong.
The way I see it at least.

And I know the collision response works 100% since i used it for a couple of “non”-components.
they should have been components, but you can’t add custom meshes to components, so child actors do the trick.