Flat base for floor checks when mid-air?

I have the flat base option checked, but when the player is in midair it seems to still be using a curved capsule base. Meaning if the player jumps onto a ledge and holds forward, they land half on / half off the ledge, surfing it until you let go of the movement key.

Any work around or solution to this?

Maybe I’m completely wrong, but I think that the problem is that the floor check (and thus the flat base option) is only done during the PhysWalking movement state. So, when jumping, we’re in PhysFalling, thus no floor check. Only after we hit the ground, we go into PhysWalking where the flat base check is performed.
Maybe something simple as a custom floor check works: when in falling state, perform multiple downwards traces on the capsules outside (http://i.imgur.com/SuQjLaQl.png source https://www.reddit.com/r/gamedev/comments/31mv74/the_poor_mans_character_controller/) and when successful put character into PhysWalking state.

For something “normal” as precision movement/platforming this should be a default option.

I stumbled upon this post trying to figure this out myself and this is what I was able to come up with.

I used the OnComponentHit event of my capsule component from my character and checked the normal of the hit. Whenever there was a collision (which before would give me the “surfing” you described) I set the movement mode to Walking. This would mess up my jumps when standing next to a wall or colliding with one in midair so I used the normal to check if the hit was a wall (ignore) or if the hit was a walking surface (set to walking). Here is the code I ended up using.

blueprint code

Thanks for the help!