VRCBilliards / vrcbce

VRCBilliards: Community Edition
MIT License
307 stars 37 forks source link

Synchronization issue if prefab is disable by default #184

Open xxxCommando opened 12 months ago

xxxCommando commented 12 months ago

When the prefab of VRCBCE is disable by default for performance purpose, if a player who is playing leaves the instance, other players who will enable the game after will have game stuck.

Please, could you provide a workaround/solution to not have this problem when the prefab is disable to save performance ?

How to reproduce :

  1. Put the VRCBCE prefab in a world and disable it.
  2. Create a simple toggle button to enable/disable the prefab locally.
  3. Join the world with at least one friend.
  4. Your friend have to keep the game disabled.
  5. Start to play and rejoin the instance.
  6. Enable the game with your friend and see that the game is stuck.
FairlySadPanda commented 11 months ago

Hey; this is a complex problem due to the core table code being extremely messy right now. I'll be taking a look at this this year and confirming the best way to optimize the table in-world to save people's CPU cycles.

xxxCommando commented 11 months ago

Hello, thanks for your answer. I'm not expert in U# and I know networking can be really difficult, but I suspect something about bad ownership transfer in the situation I described. Anyway, it would be fantastic to have a solution to save performances.