How to make 360 degree running

k so I’m wondering how I can make a blueprint script that will allow a character to run on walls and ceiling if Hes going fast enough, think Sonic and running around loops.

Theres a lot of people who have looked into this and I know it can be done using blueprints, but the information can be hard to understand and there are MANY different approaches to it. so I want to see if someone can do it based on the system I have set up.

Right now I have a way to change the max walk speed based on momentum and speed and then two different functions for the 360 running, one which changes the character rotation based on the angle he’s standing, and another that creates custom gravity (I have the default gravity set to zero) and applies it based on his rotation depending on his speed, both based on an event tick. you can see these two functions below.

\

the angle one works almost perfect plus or minus some janky transitions, but the gravity one is being weird, it sets is falling to true pretty easily and I still cant run around loops he goes up to about 80 degrees and then just kinda stays there and if I jump his rotation goes all over the place

I think it has something to do with the walkable floor angle, is there anyway to override it in 4.12?

Update, I disconnected the yaw value and it got rid of the weird gravity effects, but I’m still not able to walk up loops