All projects
Games

LasMeta Case Study

Technical case study, May 2025. Code sample.

GitHub

  • Engine: Unity, C#
  • Networking: Photon Fusion 2 (Shared Mode)
  • Scope: Solo technical case study

A small multiplayer poker scene where players ask a dealer to deal cards. The goal was a "deal cards" interaction that stays correct and in sync across clients.

Networking

  • Player joins and spawning handled through NetworkEvents.
  • Only the player whose turn it is can deal: turns are enforced with RequestStateAuthority and ReleaseStateAuthority.
  • Dealer animation, card sound and effects are broadcast with RPCs, so every client sees the same thing.
  • Shared game state kept in Networked Properties.

Gameplay and UI

  • Round-based dealing, one card at a time, with animated 3D cards (DoTween).
  • Card objects are pooled and reused to cut allocations and GC spikes.
  • Custom UI designed in Figma, with an animated game-state panel.
  • Third-person camera with orbit and zoom, plus a first-person roaming mode.

Performance

  • Static light baking, with real-time lights limited by layer masks to the objects that need them.

What I'd change next

The IPlayerJoined callback did not fire as expected, so I fell back to NetworkEvents, and some state authority delays needed careful event ordering. For a production version I would move from Shared Mode to Fusion Server Mode for stronger authority.

Demo

Two clients side by side, staying in sync: