How to make the character instantly snap 180° when moving backwards?

Hey everyone! Quick question: how can I make it so that when I press, say, the ‘S’ button, the character instantly snaps around to face backwards (a full 180-degree turn???)? Right now, with the default movement setup, if you repeatedly tap the button, the character only rotates a little bit at a time instead of turning immediately.

example:

unknown_2026.07.22-01.06

The Character Movement Component has this property:

Set its Z to -1

@Everynone
unknown_2026.07.22-23.52

The rotation is actually instant now, lol, but that’s not quite what I was going for. I was actually aiming for something more like the turning style you see in GTA V or 007 First Light, for example.

Grand Theft Auto V Enhanced_2026.07.23-00.13_1

P.S.I suspect this might have something to do with “Turn In Place”, but all the tutorials I’ve found on YouTube about it only cover mouse rotation while the character is idle. I’m not really sure how to set up this behavior for actual movement, and I’m wondering if I should change the category of this post(though that’s just a guess on my part).

There is a thing called game animation sample project on fab and in it is a character that is capable of this kind of things. There is also a whole nightmare process of migrating the character to your own project. And removing references to “echo” and “twin blast” from some obscure blueprints array, and a whole lot of garbage references to other things no one asked for. If you have nerves of steel maybe you can try that.

Use the character’s (or camera’s - depends on how it’s supposed to work) forward and right vectors, remember that you can negate them to get the opposite direction, and then set player controller’s desired Control Rotation. The movement component will do the rest.

@Everynone Could you suggest an implementation? I wrote this function.

Key issues: 1) It’s not flexible, Select Float is clearly not suitable. 2) The model turns too abruptly,

unknown_2026.07.25-15.03

and if I add RInterpTo, the original problem returns.
P.S. In short, how do I pass the movement vector values (the variables “x axis” and “y axis” are taken from the movement function)

and where exactly should I plug them?
upd:Just in case, I went ahead and finished this awful function.