Teleporting my character wont set the correct rotation

Hello,

Ive setup a blueprint system to teleport my character around to 4 different locations based on the location and rotation of 4 dummy objects (see image below). The teleportation works fine in terms of location, but it doesnt seem to take the rotation of the dummy object.

I feel like the virtual joystick interface might be overriding it, but im not sure how to change that. I cant delete the virtual joystick interface, because i actually need it to look around. I just want it to start with the dummy object’s rotation each time it teleports, and then have the virtual joystick take over from there.

Thanks in advance!

][1]

2 Likes

Alright, figured it out myself. Apparently the rotation is controlled by the controller, not the dummy object.
Ended up using this chain of nodes:
‘Get Player pawn’ → ‘Get Controller’ → ‘Set Controller rotation’ and connected this with the dummy rotation output.

3 Likes

Thank you very much! Very useful to me

Additionally, you may want to use ClientSetRotation on the controller, instead of SetControlRotation. If you are doing this from a server in a multiplayer game, this allows the client to receive the rotation as well, instead of just the local controller.

// Set location/rotation on the server.
SetActorLocationAndRotation(Location, Rotation, false, nullptr, ETeleportType::TeleportPhysics);

// Since the player is using pawn control rotation (yaw), the controller must be rotated or it will snap back the
// player.
GetController()->ClientSetRotation(Rotation);
1 Like