Character Walk on a Wall? (E.g Sonic running around a loop)

I decided to give this a shot. What I have is REALLY buggy, but here is a video of my progress:

and HERE is my blueprint if you want to take a look.

Basically what I’m doing is when the level loads I change the pawns gravity scale to 0 and change the movement mode to flying. Then everything else is just tracing down to get the floor normals and rotating the player to match.

Its floaty feeling and there is no actual force keeping the player on the surface other than the fact that its a loop and your always running into an up angle. I’m sure there is a better way to figure out the angle of the player, but basically the rotation of the player depends on the normal of the ground so you can’t turn the player.

One problem I ran into is when the player is upside down the camera doesn’t follow and makes it difficult to control the player so I had to snap the camera rotation to the player as well which means I can’t look around either.