How to do proper Floor-/Collision Resolving?

Hi guys!

I want to create my own Pawn and Controller.

How do I check and resolve a (Floor-)Collision properly?

My Pawn will eventually fall into the ground if the velocity is too high.

This is my current approach:

Does someone have a basic idea how to do it better?