How can I properly set up character collision for prone?

Epic Characters are a very specific type of Upright Pawn, with custom fake physics built into its movement component, which makes all kinds of assumptions that an upright cylinder allows, like not worrying about collision during rotations, because its smooth and symmetrical on the vertical axis, and using Z as gravity, instead of an arbitrary gravity direction, or detecting stairs slope angle and step height based on the bottom of the capsule.

if you need prone, you should not be using Character as your base class, its too specific, you should be using Pawn, with a custom movement component. in programming, class inheritance requires that every child class IS A more specific version of a parent class, and includes all functionality of its parent, plus extra functionality. adding prone would not be just an additional feature, it would be a rewrite of the very core of how the character movement component’s fake physics works, so it makes more sense to rewrite that starting with a more generic base class, like pawn.

prone crawling with prone blocking and the ability to lay diagonally on stairs, is a more complicated movement type than an upright, radially-symmetric walk/crouch/jump/swim actions, and goes outside the scope of what the Character class was designed for.

it would be easier to take a 4 wheeled vehicle, make the wheels invisible, and replace the car body with a crawling human, because if you imagine being prone on a hill while turning, you will need something similar to those 4 wheels to detect the ground slope and rotate the character out of penetrations.

if you need a playable actor, which is not always an Upright Radially Symmetric Capsule With Z Gravity, you should not use Character, you should use Pawn.

1 Like