Player rotation changing without input immediately after spawning

I’m trying to setup a 2D multiplayer game and have run into a problem. My goal was to have two players spawn at specific Player Starts (Player 1 on the left, Player 2 on the right) facing each other at the start of the game. But nearly every time I start the game, one or both players will spawn as expected, then immediately reverse their rotation.

I adapted the respawn logic from the MultiplayerShootout sample project to get the players spawning at specific Player Starts. If I don’t use that logic, the players always spawn with the proper rotation, but obviously not at the preferred locations every time.

Player Start rotations:

Desired outcome:

What actually happens:

Game Mode - Post Login:

Game Mode - Post Login continued:

Game Mode - Initial Spawn:

Game Mode - Initial Spawn continued:

Player Controller - Client Post Login:

Where am I going wrong?

I am having a similar issue myself. I even made a thread for it a few hours ago. I think it has something to do with the way you are spawned into the world from a Player Start. I hope there is a way to fix this.

Bump ?

Please avoid bumping threads more than once a week.

As for the problem, if memory serves, the rotation of the player controller is only set to the player start if the pawn has a player controller when it first spawns.
Since you’re spawning the pawn THEN possessing it with a player controller, the player controllers rotation is probably overriding the pawns.

Try forcing the player controllers rotation as well.

I assume with the “Set Control Rotation” node? If so, I have tried adding one in every place I can think of in the Game Mode Initial Spawn sequence (using the Player Start’s rotation) with no success.

Seems others are having the same problem, and not just in Blueprints:

I think you have done it but for other ppl too if someone still finding answer, heres my SOLUTION which works perfectly for me:

It looks like InputAxis events throw some values on initializing, so i solved this problem pretty simple:
Just put some boolean variable before “add controller yaw/pitch” and set it true after little delay on begin play, all works fine!