I’m encountering a critical locomotion problem in my Unreal Engine project using the Motion Matching system. The issue manifests as follows:
Problem Description
Normal State: Character locomotion functions perfectly without any equipment
With Weapon Equipped: Character movement becomes erratic, consistently moving sideways regardless of input direction
Animation Validation: Using the Rewind Debugger tool, I’ve confirmed that the animation sequences are playing correctly.
Issue: Despite correct animation playback, the actual in-game character movement does not correspond to the intended input direction. For now only the weapon is attaching, no conditions or animations are applied to override.
Yes, disabling collision detection resolved the issue during testing. Could you help me understand what’s causing this collision-related problem? I’d appreciate any insight into the underlying mechanics.
There are two main collision types physics (hits, bounces, moves things) and query (checks if two objects are occupying the same space without actually reacting physically).
When the weapon is attached to the character their close proximity as well as being welded together forces the weapons collision box to essentially be intersecting the characters capsule at all times. Because it would be a physics type collision, the characters capsule is trying to move out of the collision but because they are welded together it leads to unpredictable forces being applied to the character.
You can solve it by changing the weapons collision to not collide with pawn which should stop that happening but then it also won’t collide with other pawns if you’re trying to hit them with the sword. You could create a custom collision channel to solve this or when the character picks up the weapon you could change it’s collision to query only.
Long story short, having multiple sources of physical collision on your character usually leads to weird forces being applied and the character not moving how it should. This is why character meshes don’t actually have physics collision by default.