Lobby System
Using Unity's Relay and Lobby systems, I set up a matchmaking network where players can create or join game sessions. Lobbies can be public or private; public lobbies populate a shared lobby list, while private sessions generate a unique lobby code that other players can join with. I also set up a custom input field that allows players to update their display names locally.
Networking Gameplay
Also using Unity's Relay service, I sync real-time data across clients through remote host servers. To optimize bandwidth and keep performance high, I serialize data down to simple integer values to communicate game events like tracking which cards a player has been dealt or played.
Card Conditions and Effects
Cards in Breakroom Bots have distinct effects that trigger depending on whether specific conditions are met. I made an data system to simplify the process of adding cards, allowing designers to easily implement new cards by setting their name, splash art assets, conditional logic, and associated effects in the inspector.
Main Menu Animations
To make an immersive main menu spread across the game's breakroom setting, I used the Cinemachine plugin alongside Unity's UGUI system. I designed the submenus as world-space UI layouts and set up virtual cameras to blend and transition between viewpoints depending on the active menu.