📘 Course Contents
Click a lesson to expand its summary, goals, and resources.
Lesson 1 — VRChat & Unity Setup: Your First World
Summary:
Set up the full development environment and publish your first VRChat world, tested in Desktop and VR.
Lesson goals:
- Install and configure Unity + VRChat tools
- Create and upload a VRChat World
- Verify it works in Desktop and VR
Resources:
🎥 Watch video (embedded)
- 📄 PDF: Download the PDF
Lesson 2 — Building the Game Arena
Summary:
Build the stadium arena, boundaries, and your first GameController behavior inside a VRChat world.
Lesson goals:
- Create a clean Unity project structure
- Import and configure the stadium and boundaries
- Implement basic GameController logic
Resources:
🎥 Watch video (embedded)
- 📄 PDF: Download the PDF
Lesson 3 — State Machine & Game HUD
Summary:
Create a world-space HUD that follows the player and build a synchronized state machine for game flow.
Lesson goals:
- Build a GameHUD with live debug info
- Implement the State Machine pattern
- Synchronize game states across clients
Resources:
🎥 Watch video (embedded)
- 📄 PDF: Download the PDF
Lesson 4 — Team Formation & Player Identification
Summary:
Assign players to Red/Blue teams, display team info in the HUD, and add floating team markers above avatars.
Lesson goals:
- Implement team assignment and tracking
- Show team debug information in the HUD
- Spawn identification markers per player
Resources:
🎥 Watch video (embedded)
- 📄 PDF: Download the PDF
Lesson 5 — Ball Creation: Pickup, Throw & Networking
Summary:
Create networked balls with pickup/throw mechanics, synchronized physics, and respawn logic.
Lesson goals:
- Implement pickup and throw in VR + Desktop
- Sync movement and impulses across clients
- Control spawning and respawning via a BallController
Resources:
🎥 Watch video (embedded)
- 📄 PDF: Download the PDF
Lesson 6 — Goals, Scoring & Ball Reset
Summary:
Detect goals, update synchronized scores, refresh the HUD, and reset the ball after scoring.
Lesson goals:
- Create goal trigger zones
- Implement a networked score system
- Reset ball position after each goal
Resources:
🎥 Watch video (embedded)
- 📄 PDF: Download the PDF
Lesson 7 — Player Collision & Defensive Mechanics
Summary:
Add tackling: detect collisions between opponents and force a backward ball drop for competitive gameplay.
Lesson goals:
- Detect proximity collisions locally
- Force ball drop/throw on tackle
- Keep multiplayer behavior consistent
Resources:
🎥 Watch video (embedded)
- 📄 PDF: Download the PDF
Lesson 8 — End Game Logic & Match Reset
Summary:
Add a synchronized timer, final results screen, and a full reset loop so matches restart cleanly.
Lesson goals:
- Implement a networked countdown timer
- Show WIN/LOSE/DRAW + final scores
- Reset teams, balls, and HUD for a new match
Resources:
🎥 Watch video (embedded)
- 📄 PDF: Download the PDF
Lesson 9 — Late Joiners & Spectator System
Summary:
Handle late joiners by teleporting them to a spectator zone during active matches and reintegrating them next round.
Lesson goals:
- Create a spectator area for mid-game joins
- Prevent late joiners from breaking gameplay
- Reintegrate spectators after match reset
Resources:
🎥 Watch video (embedded)
- 📄 PDF: Download the PDF