I am currently making an online board game in unity and I have made everything consisting entirely of unity UI components, I do not use any 2D gameobjects, I just loaded the sprites onto the unity image components and use buttons to make each grid of the board so the only thing there is in my scene is 2 player canvases.
I would want to know if it is possible to make my game into an online multiplayer game where the canvases can be synced as a single board so that what the one player selects on their canvas will also be displayed on the other player’s canvas, so that the whole game is played using unity UI components
yes its possible to do what you say, you will find that the hard part is making the online stuff work in itself and that things like whether its uses UI components or other stuff will be completely trivial compared to making the online multiplayer work at all.
Even though the game deals with 2D physics?
Cause I know you can send variables across the server on what pieces where moved but what about the physics simulations?
Will that just happen too automatically?
Cause I need them both to see what each other does on the board in terms of the physics simulations
And I gave the board pieces random physics too
So can random physics simulations be synced over an online multiplayer game?
yes, but nothing is automatic, it is grueling to code online multiplayer you will find obstacles at every step of the way, even just keeping 2 ppl connected to each other will be an ordeal. I just want to make you aware that you have to worry about the online part first and it will be hard, and whatever your gameplay is will be trivial to implement compared to that
I don’t believe you can use physics on UI objects and I would not recommend making a game out of just UI objects.
Multiplayer has nothing to do with rendering. You are sending a string of data and that data will determine to the user what is rendered.
There is also a huge difference in online turn based and online real time. With turn based things are kind of simple because you wait until the entire string of data is collected before moving on. In real time things will be messy as you will have to make assumptions on what is happening while you wait for the data you keep to be collected.