Finicky Player Collision

When player’s walk into each other, they can sometimes walk over the other player. The pink part you see in the GIF is the player’s HumanoidRootPart.

Here is what I want.
I want it so you can’t push players at all (if not possible, it isn’t the biggest deal ever). Most importantly, I need a way to stop a player from literally walking over another.

Here is not what I want.
CollisionGroups. I need my player’s to be able to collide with each other.

You could create a part as large as the HumanoidRootPart, but taller, that surrounds the player via an attachment.

If a player stood on top of another, they would just be floating in the air. I’d rather find a solution that fixes the actual issue at play here.

Well, another way would be changing the Humanoid.MaxSlopeAngle property, so the player would no longer be able to climb on steeper angles.

It still happens, even with a low MaxSlopeAngle like 40.

Well, if that doesn’t work either, and you don’t want to use weird scripting, like teleporting the player when they’re on top of another player, then, your best bet is to go with my original reply, and just making the part extremely tall, like the part maximum of 2048 studs.

Edit: Another way to fix it would be to use the MaxSlopeAngle, and changing the HumanoidRootPart’s shape to a rectangular prism, like how it was originally.