Hi there, I’m new to Multiplier, so please help me to understand the following.
My multiplayer mode is 1 vs 1 challenge, only two players max.
I’m using Lobby to Relay.
On the host device, I can move my local player,
But I can’t move the player on the client device as it ignores transform. position/rotation.
Both player’s objects have Network Object and Network Transform.
Now,
The only thing I can do is to send control commands to the host, update the position there, and then it updates on the client device.
But is this fair? One player controls its player locally, the second over the network with all these latency, ping, etc…
Or did i miss something?
You just understood why competitive games prefer or only implement a server/client architecture, rather than host-client/client.
The host-client is always at an advantage - host/client mode is not suitable for competitive action games.
There is NOTHING you can do about this except using a server-client architecture. This at least ensures each client has some latency to the server, and the advantage is with the one who has a faster connection to the Internet and the server.
Actually, I’ve managed to solve this.
My game is a mobile one, and it allows two players to challenge each other.
I just inherited from the NetworkTransform class and then overloaded OnIsServerAuthoritative method.
And now both devices can control their own players.