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.

Billiards gameplay in the shared game hub.

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.