Sweep only works with Root component?

Days of work to isolate that issue.
Title says it all, Sweep on Set Actor Location or Add Offset will work on ROOT component ONLY!!

That’s quite terrible, my BP is composed of multiple StaticMeshes, and only root will collide with player (very fast moving object).

Am I doing my setup wrong? Is there an option i’m unware of? Or is it by design (if so, a note on sweep tooltip would have been much appreciated)


Yes, when moving only root component will be used check for collision, this way to improve performance. I’m not sure but when you disable root collision i think it will use children collision to check.

Yeah makes sense to want to save perf here, though we have many options to increase collision detection at cost of perf. So, unless i’m missing option to change that behavior,

I’d like it to be available. It doesn’t make any sense to not have it.

Hi Genova,

Thanks for report! I was able to reproduce this in 4.7.6 as well as our main internal builds, and I’ve entered a bug report for issue (UE-16309). If it is determined that this is by design, I will enter a feature request for an option to be included in components. Thanks!

Hi ,

Okay great. I’ll be eagerly waiting for an answer :slight_smile:
i’ll postpone my massive fix then :slight_smile:


Following up on this since its been a few months and its impacting us too (and seems like a pretty important feature).

Any updates?

Hi phantasie17,

No update yet, but I’ve emailed developers about it. I’ll let you know if they’re able to provide any additional information. For now, using a collision component as your root that encompasses entirety of Actor in world is only way to use sweep with Set Actor Location. Thanks for your patience!

This is something we want to do and it’s on our feature wish-list, but it’s not scheduled in near term right now.

Shoot… That’s not really a good news for my project. Those blueprint i’m using are randomly choosing among several static meshes to spawn obstacles. I didn’t want to have a blueprint for each individual possible obstacle (which would be around 50 T.T )

I Have this problem too

Hey Zak, i’m doing some follow up on that topic. Has there been any progress ?


This is something that developers have decided not to focus efforts on at this time, as they are currently focusing on high-priority crash and showstopper bugs.

Have a great day

I had this problem, found this thread and decided to write a function that solves it

It calculates offset between current and desired root transform, sweeps all children by that amount, finds shortest sweep time, puts children back where they were and moves root by original offset multiplied by smallest sweep time

May be useful for other who had this problem, feel free to optimize it

1 Like

Yeah I did something similar.
It’s a shame to have to rely on such unoptimized workaround though.
At least there is a solution :slight_smile:

first person toolkit for free this month cannot function properly without this engine feature to cascade sweep to each child of a rootcomponent actor in a blueprint.

then why did you make first person adventure toolkit free this month knowing you ignored an issue that makes it not work properly. ???

this is kinda a showstopper as I can’t show my game with players flying all over scene because of drawers hitting them.

WAI. RTFM: USceneComponent::MoveComponent’s bSweep param.

Source (v4.23): /Engine/Source/Runtime/Engine/Classes/Components/SceneComponent.h.

Only root component is swept and checked for blocking collision, child components move without sweeping.

I need this function to work properly without this engine feature to cascade sweep to each child of a rootcomponent actor in a blueprint drawers will just clip player. Sweep should fix drawers clipping and throwing player around scene, if only sweep worked for children of root as it should. Unreal Engine Issues and Bug Tracker (UE-16309)

is there a way to edit this code to allow this?

2022, we’re at Unreal Engine 5 now and this is STILL not fixed!



I opened a Pull Request for this exact feature on Unreal Engine’s Github: https://github.com/EpicGames/UnrealEngine/pull/9289

Fingers crossed :slight_smile:

EDIT: It’s closed now because I had to update my fork the hard way by recreating it, but I’m still using it, still going strong! :stuck_out_tongue: