Multiplayer Prototype

Lobby setup and player spawning (Main View)

Host wins and rematch system activates

Player 2 wins, host triggers rematch flow
About the Project
This project was a short, focused learning exercise to understand the fundamentals of Unity's Netcode for GameObjects. It served as a basic multiplayer testbed to grasp concepts like networking architecture, player syncing, authoritative logic, and match flow. The goal was to quickly build, test, and learn within a defined scope.
Technical Highlights
- Initial setup of spawn logic, prefab management, and ownership assignment.
- Basic health syncing and damage reporting via NetworkVariables and RPCs.
- Functional dash system with server-side validation to maintain fairness.
- Early version of rematch logic and networked game state transitions.
- Client-specific UI testing: health bars, name display, and victory screen toggling.
Learning Objectives
- Learned and applied core concepts of multiplayer programming in Unity.
- Practiced network-safe architecture, separation of responsibilities, and modularity.
- Experimented with client-server logic and latency handling.
- Gained experience by iteratively breaking, fixing, and improving networking logic.
What I Learned
- RPCs vs. NetworkVariables: when to use each and common pitfalls.
- How to avoid spaghetti code in networked player controllers.
- The importance of server authority and trust boundaries.
- Why UI and logic should be decoupled in multiplayer games.
Project Outcome
The project was completed as a successful foundational exercise. While the code is intentionally simple and not designed for a production environment, it provided invaluable hands-on experience with core networking challenges. The lessons learned here will be applied to more complex and polished multiplayer games in the future.