Caution: Fraudulent or imitation websites may appear. Only this site is official. Report concerns on our Report Fraud page.
Syncing the player’s head is the foundation of VR multiplayer.
The head determines where the player is looking, how their body is oriented, and how other players interpret their movement.
If the head is synced smoothly, the entire avatar feels natural and believable.
This page explains how to sync the VR headset’s position and rotation using Photon, how to structure your head object, and how to achieve smooth, low‑latency replication.
1. What Head Syncing Does
Head syncing ensures that every player sees:
The correct head position
The correct head rotation
The correct viewing direction
Smooth interpolation between updates
This is essential for immersion and player interaction.
2. How Photon Syncs the Head
Photon uses serialization to send transform data across the network.
The head object typically includes:
A PhotonView
A sync script (PhotonTransformView or custom)
A VR headset reference (for the owner)
The owner writes the head’s position/rotation.
Other players read and interpolate it.
3. Recommended Head Sync Architecture
Your player prefab should include:
Player
│
├── Head (synced)
├── LeftHand (synced)
└── RightHand (synced)
The Head object should contain:
PhotonView
Sync script
Head model (optional)
Cosmetic attach points (hats, masks, etc.)
The head should be synced independently, not as a child of a synced root.
4. Syncing Position & Rotation
A. PhotonTransformView (simple)
Easy to set up, but less smooth.
B. Custom sync script (recommended)
Allows:
Interpolation
Extrapolation
Lag compensation
Smoothing curves
VR benefits heavily from custom smoothing logic.
5. Interpolation (Why It Matters)
Interpolation smooths out movement between network updates.
Without interpolation:
Head jitter
Snapping
Delayed rotation
Unnatural movement
With interpolation:
Smooth head movement
Natural looking direction
Stable avatar orientation
This is critical for VR comfort.
6. Send Rate Recommendations
The head moves slower than hands, but still needs high update rates.
Recommended:
Send Rate: 30–60
Serialization Rate: 30–60
Lower rates cause:
Head jitter
Delayed rotation
Desync during fast turns
Higher rates improve smoothness.
7. What NOT to Sync
To avoid lag and bandwidth issues, do NOT sync:
Physics on the head
Colliders
Rigidbody forces
Full body models
Large data packets
Constant RPC spam
Only sync the essentials: position + rotation.
8. Cosmetic Attach Points
The head often contains attach points for:
Hats
Masks
Glasses
Head accessories
These should NOT be synced via transforms.
Instead, sync cosmetic IDs using Custom Player Properties.
Photon will then load the correct cosmetic locally.
9. Best Practices
Sync the head separately from the body
Use interpolation for smooth movement
Keep the head model lightweight
Avoid syncing physics
Use high send rates for VR
Use custom scripts for better smoothing
Test with multiple players to ensure stability