The PUN packages from the Asset Store include several demos. None is a full-blown game but each shows a practical setup of scenes and prefabs for some aspect of a multiplayer game.
Below, we highlight a few demos of the PUN Free and PUN+ package.
The Hub Scene
When you import PUN into a new, empty project, this scene should be loaded automatically. If not, use Unity's menu:
"Window" -> "Photon Unity Networking" -> "Configure Demos (build setup)".
All included demos can be started from this "Hub Scene". You just need to setup your AppID, build and run.
You can run the Hub in the Editor as well. Some demos use the Console of Unity to log hints. Double click a Console output line and you usually get to the code that printed it.
To learn more about the demos, open their individual scenes, too.
- Quick and easy random matchmaking (JoinRandomRoom and CreateRoom)
- Instantiation of prefabs. InstantiateSceneObject
- Position and rotation synchronization in fixed updates
- Room listing in lobby (with old UI)
- Instantiation of a player character
- Synchronization of character state and animation
- In-room Chat with RPCs
- Shows and compares several algorithms for position-update smoothing
- Requires keyboard input
Onwership Transfer Demo
- Uses Ownership Transfer options of PhotonView
- Allows to take over control of a GameObject
- Enables current owner to reject control-requests
- Highlights owned GameObjects with a "pin" above
- More details
Pickup, Teams, Score
- Provides a simple solution for pickups of items (even concurrent ones)
- Synchronizes the timing when an item gets respawned
- Uses Custom Properties to store a player's team and score
- Uses Class Extensions to easily set and access Custom Properties
- Animation synchronization with Animator View Component
- Smooth position updates for a mecanim character
- More details
Friends & Authentication Demo
- Friend Finding (with fake usernames)
- Custom authentication (optional)