Developing Technical Stack and Selecting Game Modules
"Let's use Unity, it has everything"—that's not a technical stack, it's the absence of a solution. Unity provides the base engine. But choosing Render Pipeline (Built-in / URP / HDRP), approach to network code (Netcode for GameObjects / Mirror / Photon / Nakama), analytics system, backend for saves, IAP provider, CI/CD infrastructure—all this needs to be chosen and justified before development starts.
Wrong choice at start costs dearly. For example, URP chosen for mobile project—correct. But three months later custom post-process effects needed—and team used built-in Renderer Features incorrectly, incompatible with target API Level. Switching from URP to Built-in mid-development—that's 2–4 weeks of material rework.
Render Pipeline: Selection Principles
Built-in Render Pipeline—legacy, but still relevant for projects with maximum compatibility (WebGL, old Android, Nintendo Switch with specific patterns). Maximum Asset Store compatibility.
URP (Universal Render Pipeline)—standard for mobile and console projects. Leaner and faster than built-in. Custom Renderer Features for post-processing. Custom Render Pass API. Essential for VR/AR projects (XR Interaction Toolkit works better with URP).
HDRP (High Definition Render Pipeline)—for PC/consoles emphasizing photorealism. Ray Tracing, Volume-based lighting, Screen Space Global Illumination. Not for mobile. Not for WebGL. Minimum requirements: DX12/Vulkan/Metal.
Pipeline choice is architectural decision with no easy rollback without significant cost. Made at very start.
Network Stack for Multiplayer
This is where mistakes cost most. Network code permeates entire game, and switching network library late—that's almost rewriting game logic from scratch.
Netcode for GameObjects (NGO)—official Unity multiplayer SDK. Suits co-op games with < 16 players, relatively simple to integrate. Requires Relay server (Unity Gaming Services) or own transport.
Mirror—open source, battle-tested, excellent documentation, large community. For indie and independent projects with own server infrastructure. Supports large player counts (with right architecture—hundreds per scene).
Photon PUN 2 / Fusion—managed cloud solution. Photon handles infrastructure: relay, matchmaking, lobbies. PUN 2—for turn-based and loosely-coupled real-time. Fusion—for fast action with client-side prediction and server reconciliation.
Nakama—open source game server with matchmaking, leaderboard, chat, economy, tournaments support. Self-hosted or managed cloud. Right choice if you need full game backend, not just network code.
PlayFab—Microsoft Azure-based game backend. Analytics, economy, player profiles, cloud scripts, matchmaking. Quick start, managed infrastructure. Pricing depends on MAU.
Analytics and Monetization
For mobile projects with monetization, stack usually looks like:
- Analytics: Firebase Analytics (free, tight Unity integration) or GameAnalytics (game-specialized, funnels, retention cohorts). Both through single integration.
- IAP: Unity IAP (wrapper over App Store / Google Play, supports 20+ stores). Server-side purchase validation mandatory—through own endpoint or PlayFab Cloud Script.
- Ads: ironSource / AppLovin MAX (mediation platforms) instead of direct single ad network integration. Mediation auto-optimizes fill rate and eCPM.
- Push notifications: Firebase Cloud Messaging (FCM) for Android and APNs for iOS, through Unity package or OneSignal.
How We Conduct Stack Selection
We start with requirements matrix: platforms → this eliminates some options. Genre and mechanics → determine network code requirements. Team → experience with specific technologies affects speed. Operation budget → managed services vs self-hosted.
For each key choice we prepare ADR (Architecture Decision Record): problem, considered options, chosen option, justification, known tradeoffs. This document to return to when in doubt.
Final stack documented in Tech Stack Document with versions, licenses, and responsible parties for each component.
| Task Scale | Estimated Timeline |
|---|---|
| Technical stack + ADR for new project | 3–7 days |
| Audit of current stack + upgrade recommendations | 3–5 days |
| Render Pipeline switch in existing project | 3–6 weeks |
| Network stack selection and prototyping | 1–3 weeks |
Cost calculated after reviewing project requirements.





