Thanks for the advice! I kept fiddling with my blueprints, and it did actually come down to something that you mentioned: “it’s due to the capsule component’s behavior of always staying upright”
For whatever reason, the Pawn blueprint’s capsule doesn’t really mind being rotated around however you want it to. However, in the case of the Character blueprint, it turns out that the more you rotate the Character’s capsule away from world-up, the more its built-in movement code and velocity projection fight you. As the character moves around the planet and rotates away from world-up, the CharacterMovement keeps calculating velocity based on the ground plane… because this wasn’t built to handle planet physics.
I could just be talking nonsense, but that’s my best guess for why the following fix worked.
For future people trying to do what I’m doing, here’s the fix!
Before taking my advice, make sure to do what the tutorial video from the original post does, except for making custom code for movement; that’s already provided inside the FPC blueprint, and we can still use that code no problem!
My issue was caused by rotating the main capsule component, with the method pictured here: Imgur: The magic of the Internet (the Z input is the same as the tutorial)
We need to keep the main capsule component’s rotation exactly the same and never change it so that the CharacterMovement’s code doesn’t break. Instead, we can make duplicate capsule components that are attached to the main one, and use those in our nodes instead! I made a child capsule called “Capsule of Pain” and changed my code to this: Imgur: The magic of the Internet
This next step is optional, but I made another child capsule called “Capsule of Pain 2”, which is a child of the first Capsule of Pain, but I have extra code that changes its Z rotation based on IA look, and it has the camera attached to it. Basically it determines what direction you’re facing, but if you use something else to do that that’s fine too! All you gotta do is plug in said component into the default movement code, like this: Imgur: The magic of the Internet
And just like that, the tutorial method works in a Character blueprint. Hopefully my imgur links never break!