How to rotate Mover GASP

This is ridiculous, I just want to rotate Mover for sequences. I tried using Teleport Instant Movement Effect → Queue instant movement effect, and it doesn’t work. I tried all the regular rotation / teleport nodes - doesn’t work. Only rotating the visual override makes the character run backwards, which isn’t a problem unless I want the character to keep that rotation once the sequence is over. I don’t understand what node to use and I’m tired, the lack of documentation is ridiculous, it’s been long enough to at least get a full “How to add a swimming mode” tutorial. I just want the basics, surely one of the people working on it can spend a day on a tutorial after it’s been years that it’s out.

Hey @ZhangZou

I really get why you must be feeling frustrated about this because setting up Mover (and GASP in general) is not that easy when it comes to rotation, especially during sequences or custom moves.

In any case I would like to help you out with it! Please provide me with some additional details so that I can guide you in the right direction.

How are your movement inputs or orient options set up in Mover?
Are you using target orientation modes or overriding the control rotation directly?

Where and how are you triggering the sequence?
Is it via Level Sequence/Control Rig, root motion animations or custom Blueprint nodes during gameplay?

Is the Mover Component currently handling gravity/orient to movement every frame?
Sometimes Mover internal state logic overwrites standard rotation nodes right on the next tick if the movement mode isn’t configured to allow external rotation changes

If you can share a screenshot of how you’re calling the node or setting up the sequence logic, I would appreciate it.

Rotating the mesh is why it runs backwards, and the teleport “doing nothing” is Mover throwing your rotation away on the next tick. GASP’s facing is owned by the Mover movement mode, not by the actor and not by the skeletal mesh. Set Actor Rotation, a normal Teleport, and a Sequencer transform track all write the actor, then the walking mode simulates and puts the actor back to the orientation in its sync state. The mesh offset is the one thing Mover does not overwrite, so the visual turns, the actor does not, and locomotion (which faces the actor) looks like it is playing in reverse. When the sequence ends the mesh relative rotation goes back and the turn is gone.

Queue Instant Movement Effect is the right family of node, but only if the effect’s rotation is actually set and the mode stops fighting it.

  1. Call it on the Mover component on the pawn, not on Character Movement. GASP is not CMC, so CMC teleport and rotation nodes never stick.
  2. On the teleport instant effect, set the target rotation to the yaw you want. If the effect has a “use actor rotation” style flag and you leave it on, it copies the current facing and the turn is a no-op. That is the usual reason this exact node looks broken.
  3. The walking mode will still replace that yaw on the next tick if it is orienting to movement or to the controller. For the length of the sequence, switch orientation so it does not. In the GASP mover settings, turn off orient-to-movement / controller-desired-rotation, or put the character in a mode that is not generating a new facing (the animated / root-motion style mode, not the default walking mode). Queue the teleport after that switch.
  4. To keep the facing once the sequence is over, the new yaw has to be the Mover’s orientation, which a rotation-aware instant effect does, and the mode you return to has to agree with it. If you go back to “face the camera”, also set the control rotation to that yaw or it will snap to the camera on the first frame. Do not leave a relative yaw on the mesh. Put the mesh back to the default GASP offset (the mannequin mesh is usually yaw -90) and let the actor carry the turn.
  5. If the sequence is a played turn animation rather than a hard cut, drive it as root motion through Mover instead of teleporting. A montage with root rotation, while the movement mode is set to apply root motion, writes the yaw into the same sync state. When the montage ends, that yaw is the facing, so it survives. A Sequencer transform track on the actor will not, unless Mover is not simulating during the shot.

Teleport with an explicit yaw, mode not orienting to the camera, mesh offset left alone. The visual-only rotate is the one that gives you the backwards run.