Edugator delivers a fast-paced game-show experience where players compete against a strict 20-second timer across 20 diverse trivia disciplines. Players tackle escalating difficulty curves in solo challenges, engage in face-to-face tabletop battles on a single tablet or phone, or host room-code multiplayer lobbies for remote competition. Strategic lifelines—such as 50:50 pruning, dynamic Ask-AI solvers, and audience polling—provide clutch tactical decisions to drive high-score leaderboards and earn reward currency.

The client sought to disrupt the digital trivia space by merging solo educational quizzes, local head-to-head tabletop social gaming, and low-latency online room multiplayer into a unified, high-performance Unity 6 WebGL and mobile application.


Problem: Supporting three radically different game modes (single-player solo, local turn-based tabletop, and online lockstep rooms) risked turning QuizUIManager and core managers into monolithic branching codebases. Direct references between networking layers and UI components caused state leaks, race conditions, and maintenance bottlenecks. Solution: Engineered a polymorphic IQuizInputHandler abstraction implemented independently by QuizManager, MultiplayerQuizManager, and PhotonQuizManager. All gameplay state transitions publish strictly to the static GameEvents bus, ensuring QuizUIManager remains completely agnostic to whether input comes from a local button or a remote network packet.
Problem: Transmitting full question payloads over the network or waiting for authoritative server answer evaluations introduced network jitter, data serialization lag, and desynchronization on unstable mobile connections. Additionally, late submitters could hold up match progression or trigger race conditions during question changes. Solution: Designed a lightweight client-validated lockstep protocol where the room host pushes only compact question references (QuestionRef) via Room Custom Properties, while clients evaluate answers locally without latency. Clients broadcast only a lightweight submission token via Photon RaiseEvent; every client independently tracks the set of submitted actor numbers to advance questions simultaneously once all players complete their turn.
Problem: Traditional mobile multiplayer trivia forces players to physically pass the device back and forth, breaking immersion and risking device drops. Instantly snapping the screen orientation 180 degrees caused disorientation, visual popping, and input misalignment during time-sensitive rounds. Solution: Implemented UIOrientationManager, which isolates rotation strictly to the gameplayRoot RectTransform while keeping canvas systems intact. Upon listening to OnTurnChanged from TurnManager, it executes a coroutine that fades out the CanvasGroup alpha, pivots the container 180°, and fades it back in within 0.5 seconds, delivering a seamless tabletop face-to-face experience.
Problem: Parsing complex JSON trivia files on the fly and using LINQ queries for difficulty sorting created repeated heap allocations and triggered unpredictable Garbage Collector sweeps during time-critical rounds. On WebGL and low-tier Android hardware, these GC spikes caused micro-stuttering in the countdown slider and dropped player touch events. Solution: Built an in-memory dictionary cache in QuestionManager that deserializes category data into strongly typed QuizCategoryData structures once on first access. Replaced all LINQ statements with manual zero-allocation for-loops and in-place Fisher-Yates array shuffling, ensuring zero memory allocation while active question timers are ticking.
Core Architecture (Event-Driven & Decoupled): The engine utilizes an event-driven decoupled architecture anchored by the GameEvents bus, eliminating tight coupling across subsystems. Input handling is standardized through the IQuizInputHandler contract, economy operations are gated by IWalletService on CurrencyManager, and UI visibility is centrally coordinated by UIManager. Modular power-up execution (IPowerUp) guarantees that adding new game mechanics requires zero edits to existing gameplay loops.
Optimization Strategy (Locked 60 FPS & Sub-55 MB Footprint): Targeted framerate is hard-locked at 60 FPS (Application.targetFrameRate = 60; QualitySettings.vSyncCount = 0;) with optimized Universal Render Pipeline (URP 17.0.4) settings. Draw calls are minimized via tightly packed Sprite Atlases, TextMeshPro SDF font rendering, and selective canvas hierarchy batching. Memory usage is streamlined for WebGL and mobile by dynamically loading questions from cached memory structures and implementing robust safe area math (SafeArea) to handle notch cutouts without runtime canvas re-layouts.
Tri-Mode Tabletop & Game-Show Lifelines: Seamlessly combines Solo Challenge, local pass-and-play tabletop matches with automated 180° screen flips, and Photon online room codes. Features tactical FiftyFiftyPowerUp, dynamic AskAIPowerUp solver algorithms, and simulated AudiencePollPowerUp crowd distributions.
Modern Minimalist Flat 2D UI with DOTween Juice: High-framerate procedural tweening, directional shake effects on incorrect answers, celebratory confetti particle bursts, and seamless 9:16 portrait layout scaling from 1080x1920 mobile down to 450x720 WebGL.


Structured milestone sprints from core game loop validation to production-ready multi-platform release.
Engineered in-memory dictionary caching in QuestionManager, zero-allocation array shuffling, 20 categories, and 3 difficulty curves.
Developed automated 180-degree CanvasGroup alpha fade-and-rotation transitions tied to TurnManager with zero device passing.
Built QuestionRef lightweight room sync, Photon RaiseEvent submission tokens, and anti-desync actor validation.
Integrated PlayFab leaderboards, CurrencyManager wallet operations (IWalletService), and AdMob with exponential retry backoff.
Delivered rock-solid 60 FPS execution across budget Android devices, iOS, and WebGL browsers with instant load times and zero gameplay stutter.
Achieved total isolation between UI and game modes, enabling seamless integration of online matchmaking, local tabletop play, and cloud leaderboards without architectural regressions.
Fully integrated PlayFab cloud leaderboards, an AdMob partial-class facade with exponential retry backoff, and a soft-currency economy supporting scalable long-term monetization.