"Add Actor Local Offset" collision not working

I’m using “Add Actor Local Offset” to make my character fly up and down, is it expected that collisions do not work while using this node? My character collides perfectly with the environment if I simply use the “Add Movement Input” node instead.

Also worth noting -

  1. The Blueprint Flying template also uses "Add Actor Local Offset’ but collisions indeed work there.
  2. My parent class is a “Character” blueprint set to ‘flying mode’ while the Flying template project uses “Pawn” as parent class (in hindsight I can see why they’ve done this - I found the character class better suited to regular humanoids than flying creatures)


Any thoughts on this anyone? Not sure if there’s any other information that might help - my character’s component setup is the usual capsule root component with the mesh and camera/boom inside.

I’m guessing the answer is that if one uses a character base class one has to also use “add movement input” instead of local offset but that’s not an option for me as that node has some issues if your mesh is rotated in the character setup screen, not to mention its reliance on the in-built character physics which can get wonky at times in flying mode.

Am I the only one using this node? :slight_smile:

I guess collision issues may be more suited for the ‘Content Creation’ section so I’ll probably gather some more information and try my luck there tomorrow if no one has seen this issue from a Blueprints standpoint.

You need to have the bool “Sweep” checked for collision to work.

Thanks! That didn’t work but I think you got me on the right track.

Looks like the only difference between the template Flying blueprint and mine (apart from mine being a Character BP and not Pawn BP) was indeed the “Sweep” bool which was turned on for the template. I think the reason Sweep doesn’t work for me is the ‘Target’ of the node, which is Self in both cases, except [Self=Pawn based BP Actor] for the template and [Self=Character based BP Actor] in my case.

Perhaps character Blueprints are meant to only use the “Add Movement Input” wrappers instead of fiddling at a lower-level with actor offsets? I think I’ll redo my blueprint to build it off a pawn just like Epic’s flying template project instead of a a character based blueprint which has caused more issues (wonky physics, unreliable flying movement, etc) than it has solved.

PS: It would great if the dev at Epic who created the ‘Flying Third Person Template’ could opine on why they chose a Pawn BP instead of the Character BP which is widely recommended as the go to template for characters - I suspect it’s because they encountered the same kind of issues with the Character template which appears versatile for humanoids but less suited to other creatures.

Add Actor Local Offset do work with Character blueprints. Try creating a blank character without changing anything and just add the Actor Local Offset parts, then compare that one with your own. That way you can easily see what you have changed in your character blueprint.

Thanks, your input was spot on. Sweep does work with ‘Add Actor Local Offset’ if I start from scratch with a fresh character blueprint.

I’ll do some digging to figure out why sweep doesn’t work for my character blueprint. Guessing one of the myriad settings in the character component has somehow negated collisions for this particular use case.

Edit: Fixed it, I accidentally had two ‘Add Actor Local Offset’ nodes in my blueprint, one of which still had sweep disabled. No wonder no one else had seen this issue earlier!

Thanks a lot for help Tekoppar!

In my limited understanding, for collision to work, the StaticMesh needs to be at the root of the scene. In the Components menu, drag StaticMesh to DefaultSceneRoot.

My own particular problem is that my Add Actor Local Offset node doesn’t have a sweep option visible on the graph.

EDIT: Doh! I had unused pins hidden. Don’t do that.