UWRealityLab / xrcapstone22wi-team8

XR whiteboard, maybe a little more
https://UWRealityLab.github.io/xrcapstone22wi-team8
3 stars 3 forks source link

Implement networking #25

Closed ebanisadr closed 2 years ago

ebanisadr commented 2 years ago

This PR contains the vast majority of the network code we’ll need. Objects are synchronized via photon views, and their properties (i.e. position, rotation, color, etc.) can be synchronized via specific views (usually a Photon Transform View).

Objects that can be manipulated by any user (our goal) are strongly owned by one user in Photon land so I implemented a script called SharedObject which, when attached to an object, can be configured to allow the local user to take ownership of the object before manipulating it via Takeover(). This should be called before any other modifications to the object to ensure the local user has ownership of it.

Added functionality

Known Issues/TODO items:

The TODO list is pretty long because I'm pretty incapable of manipulating scenes in Unity and/or they would require a lot of added complexity for this already-hefty PR. I'm also happy to be the "networking guy" going forward, and continue to work on these (along with voice chat and whatever networking is needed for features we add in the future).

ApolloZhu commented 2 years ago

Non-blocking issues (solve when we merge mvp into master, not necessarily introduced in this PR):