How to add controller rotations relative to character orientation

I’ve made a character that can walk on any surface, think alien xenomorph movement type. The problem I’m having is that I can’t figure out nor did I find any tutorials on how to use the built in controller rotation to be relative/in reference to the characters orientation as well.
Basically if I disable Use Controller Rotation [Pitch,Yaw,Roll], disable the follow camera boom’s Use Pawn Control Rotation and disable Use Controller Desired Rotations,Orient Rotation to Movement and apply any camera rotations on the follow camera boom itself, it works perfectly since it is in reference to character and is being rotated relatively to it on the Y (pitch) and Z (yaw). However, I really like the Orient Rotation to Movement from CharacterMovement option and want to have that kind of movement when not aiming (readying for melee) and when right click is pressed the character orients to the cameras pitch and yaw in a relative way, maintaining it’s upwards orientation based on the surface. So I was wondering can the built in Controller Rotation be used relatively to the characters up/upwards orientation? Or if there’s another way without Controller Rotation?

I’d post what I tried so far but I tried so many and deleted so many things for 3 days now that I doubt any screenshots would really help but I’ll post it if it would help with the question. I can even make a video if need be.

I got a semi-working concept, in case someone want’s to take a look. This should probably be converted using quaternions but I barely made this work to begin with.
In case anyone can make sense of it, or even find it a useful jump start.
If anyone can refine it, please share with us. :slight_smile:

Keep in mind that for the system to also work, you need to change the default movement inputs vectors as well.
First uncheck all actors Class Defaults’ 'Use Controller Rotation [Pitch,Yaw,Roll].
Second, check ‘Use Pawn Control Rotation’ and all 'Inherit [Pitch,Yaw,Roll] on Follow Camera (camera boom) camera settings.
What I’m doing is essentially projecting a new plane to move on based on characters orientation and controllers orientation. Finally, the movement component really hates anything other then upwards so keep in mind it will be janky if you don’t actually make a custom one or use ‘Fly Mode’ for walking on walls and ceilings by applying ‘slight fake gravity’ on tick in actors Z direction, but that’s all it needs. On the trace for the floor normals you apply the lerp/interp actor rotations (orientation) and then the fake gravity.

Btw, it’s a comment rather then answer since it’s still a loooong way from being a viable and reliable/good system sooo, until I figure out something that is satisfying enough, it will just be a comment.

Have a great day! :slight_smile: