UnityNestJS / WebSocketsUI Toolkit

Social Games Platform

Full-Stack & Systems Programmer · Multiplayer game hub · 2025

I built the Unity client and NestJS backend for a hub where players could chat, join lobbies, and play Ludo, Chess, or Billiards.

18-second excerpt, without audio. Billiards gameplay in the shared game hub.
Watch the full recording (4:39)

One hub, several games

Each game had its own rules, but friends, chat, currency, and player state belonged to the hub. I kept those services separate from the individual games so they stayed available between matches.

My contributions

  • Shared services: Built player-state and currency services that games could use to request user data and report match results.
  • Backend & social features: Built the NestJS/WebSocket backend, friends, direct messages, lobbies, and match invitations.
  • Billiards: Wrote a deterministic simulation that synchronizes the initial shot data rather than continuously sending every ball’s position.
  • UI: Built the hub and game screens with UI Toolkit and an MVC pattern.

Billiards networking

With shot-based networking, each client needs to simulate the same result from the same input. I built the billiards simulation around that requirement.

Related code

My MVC Framework has public source for the UI navigation and view system.