I am having a problem with negative gravity in my project.
If I enter e.g. -2 into the character movement component’s gravity scale, the character will be pulled towards the ceiling (so far so good), but if I somehow touch the floor by jumping (I have to use Launch Character in my project, in this case z is set to -1000 and the ZOverride box is ticked), the character will not go back up. It will stick to the floor, even though gravity is pulling it up. Everything goes back to normal as soon as the character hits another object.
I was able to recreate this in another simple project and it seems like the engine “thinks” it doesn’t have to calculate gravity on the character because it is standing on what the game thinks is the floor.
This is just how the character class handles interactions with the floor. You would either need to alter/create your own solution in code or workaround the issue.
You can workaround it by setting the ‘Set Walkable Floor Z’ to 1 while gravity is reversed. Then back to 0.71 when it is set back to normal.
Let me know if that works for you.