CharacterMovementComponent architecture question

I’m having a go at doing my own CharacterMovementComponent (a new one, not derived from it) so I can remove some functionality I don’t need and add some others, but i’m having trouble working out the whole thing with multiple iterations per frame. Why is that done? Is it necessary to process input up to 8 times a frame?

It’s sub-stepping, which essentially makes the collision more accurate and responsive. It’s needed if you have a low frame-rate or if your object moves quickly and could come into contact multiple surfaces in the course of one iteration (since only one surface can be detected at a time).

Ok that makes sense, thanks.