In UNET how do I spawn players at specific point and rotation (2D)
pic of the problem I have a problem. I'm making a simple unet game for 2 players. They should face each other and the host should be on the left and the client on the right. Round Robin only works with the host disconnects and re-run. But first thing first, inside the tank's script in OnStartLocalPlayer() I make the check if the player was spawned in the left side or the right (simple transform.position.x is greater than a value or not). The host flip both to the wrong direction and the client sees the right direction but the tanks shoot from their behinds (as the host sees this).
The player prefab is a red tank facing right (blue is colored also in OnStartLocalPlayer() to make oneself blue in its own client) and the flipping is done with changing the local scale to (-1,1,1).
So how do I make them flip right and be sync?
I used the text tutorial that Unity have provided lately but since that was a 3D game with "free" rotations there was nothing like my situation.
public override void OnStartLocalPlayer()
{
var sprites = GetComponentsInChildren<SpriteRenderer>();
foreach (var s in sprites)
{
s.color = Color.blue;
}
if (GameObject.FindGameObjectsWithTag("Player").Length > 1 && isLocalPlayer)
transform.localScale = new UnityEngine.Vector3(-1, 1, 1);
}
What am I missing? I didn't use hooks at the code. Maybe this?
And in follow subject - how do I run invokes or coroutines on players?
Your answer
Follow this Question
Related Questions
[uNET] Instantiated gameobjects not syncing for new clients 1 Answer
[UNET] Problems with syncing Weapon rotation 0 Answers
How to Update Objects Sprite to the Network 1 Answer
How to improve voice quality in Photon Voice? 1 Answer
How do I sync Network-Server objects to clients? / Is my solution okay? 0 Answers