Collision stopping movement on different axis

Hi, I’m having some trouble with colliders. I am making a top down shooter where you can move left/right & forward/back. I have some standard cubes acting as walls with the block dynamic option selected.

The problem I am having is that when moving left to right, the player is being stopped which is great, but if they are touching the side wall, it also stops them moving forward and back unless they move to the side a little to stop from touching the side wall. I don’t quite understand why this is happening, in Unity, if you have a collision to your right, then you are unable to move further right, but this does not stop you moving forward or backwards. In UE4 it feels like the player is kind of stuck to the wall.

To summarise, touching a wall on the X axis also stops movement on the Z axis.

Any idea what I am doing wrong?


Would you mind posting a couple of screenshots:

  • One of your level setup
  • One of the collision of your “wall” cubes
  • One of your character’s collision and collision settings

This will allow me to get a better idea of what is going on in your level so I can attempt a similar setup on my end. Thank you.

Hi, thanks for the quick reply. Hopefully the images are clear enough. The first one is the set up of the level, the two sections of black at the sides are the walls, (standard cubes) and you can see the collision info for the walls in the right of the inspector. The second image is the collision data for the player ship.

Ah, my bad. I’ve added those too, one of the BP and one of the SM. From my understanding there is no representation of the collision on the BP and it is taking it directly from the auto generated collision of the SM. It looks like a pretty tight collider.

Thank you for providing the screenshots. However, I also need a screenshot of the viewport of your character blueprint, where it shows a visual representation of your collision. I’d like to see how far your collision extends beyond the bounds of your player ship.

Yeah the collision definitely looks tight. Have you tried adding a box collision component to the actor, and using that as the main collision instead? You’d have to parent the ship mesh to the box collision, but if you are able to give this a shot let me know how that works. It could be related to the fact that you’re using the mesh’s collision.

Yep, that worked, never even crossed my mind that the mesh collider could have been the issue. Good to know. Thanks for the help, much appreciated.

I know its 2 years later, but any change I can see what you ended up doing there? I’ve having a similar issue with an infinite runner I’m making, but even my ship’s box collision is slowing/stopping the ship movement on the forward axis.