Cylinder Gravity or Attraction

Yes, I was thinking about that too. It should be able to handle jumping. I don’t know all the math you’d need off the top of my head, but a here’s a general concept.

Anytime your character is jumping, you would want to set a bool, like “IsJumping”. As long as this bool is true, don’t place the character on the surface of your cylinders, instead place them in the air. The point in the air where you place your character depends entirely on how high you want them to jump and how quickly they should be pulled back towards the surface of your cylinders. You’ll still want to rotate the character even while in the air so it looks like their feet still point towards the center of the “planet”.

For jumping you’ll likely have to do your own math to launch the character in the air and make them fall back towards the center. It shouldn’t be too hard, but unfortunately I’d need to spend some time thinking about the math and trying it out. In general you’d want some force to launch them away from the center (the jump action) and then some gravity to start pulling them back towards the center. Do the correct math (this is the part I’d have to think about) and it should give you a position to place the character until they collide with your cylinders again.

You should be able to use Unreal’s collision system to detect when they’ve made contact with your cylinders as they fall. Once you detect contact, you’d set “IsJumping” to false, then the ray trace would take over again and make sure they stay on the surface.