| Phase | Mechanism | Description |
|---|---|---|
Matchmaking | UDP broadcast on port 9876 | Discovers nearby players on local network |
Connection | Photon Fusion | Establishes networked session |
Alignment | Shared Spatial Anchors | Aligns coordinate spaces across devices |
INetworkData: interface for network data abstractionINetworkMessenger: interface for network messaging abstractionFusionNetworkData: Photon Fusion implementation of INetworkDataFusionMessenger: Photon Fusion implementation of INetworkMessengerHasStateAuthority checks in FusionNetworkDataFusionMessengerINetworkStruct serialization wrappers for custom data types, in the sample colocation scriptsCreate → Save to Cloud → Share → Localize → Align
OVRSpatialAnchor at a shared physical spot.AlignCameraToAnchor moves the camera by the inverse anchor pose, so the scene lines up with the anchor. For more on this pattern, see Deep Dive into Discover’s Colocation Package.// Interfaces allow swapping network backends
public interface INetworkData { /* state synchronization */ }
public interface INetworkMessenger { /* RPC messaging */ }
// Photon Fusion implementations
public class FusionNetworkData : INetworkData { }
public class FusionMessenger : INetworkMessenger { }
git clone https://github.com/oculus-samples/Unity-LocalMultiplayerMR.git cd Unity-LocalMultiplayerMR/colocation-sample-fusion