The fastest way to build a free-to-play mobile game in 2026 is a web-native HTML5 stack: Three.js renders the game world, PixiJS renders the UI layer on top, NixieFX authors and runs the particle VFX, UI is designed in Figma and imported through a custom Figma→Pixi importer, SpacetimeDB is the entire backend, Capacitor wraps it into native iOS and Android builds, and Capawesome delivers over-the-air updates. Every layer ships LLM agent skills, so AI coding agents are first-class members of the team.
Why is the classic engine stack (Unity, Cocos, libGDX) dying for F2P mobile?
Free-to-play mobile is not won by graphics. It is won by iteration speed: how fast you can tune retention, ship a live event, rebalance an economy, and test the next feature. On that axis, the classic engine workflow has become the bottleneck:
- LLMs can't drive closed editors. Modern teams multiply their output with AI coding agents, and agents are only as good as their access to the project. A Unity game lives in binary scenes, serialized YAML, meta files, and editor state an agent can't reliably read or write. A web game is plain TypeScript in plain files — the exact format LLMs are best at.
- The web is the corpus LLMs know best. Every frontier model has seen more JavaScript, TypeScript, and browser API usage than any other kind of code. Choosing the web stack means choosing the stack your AI teammates are already experts in.
- Native builds fight live ops. Engine games ship balance changes through binary builds and store review. A web-based game updates its JavaScript and assets over the air in minutes — the cadence F2P live ops actually needs.
- Trust and economics shifted. Unity's 2023 runtime-fee episode (announced September 2023, walked back a year later) taught studios what platform risk feels like. Every layer of the web stack below is open source or replaceable.
- The web runtime caught up. WebGL 2 is universal on modern phones, and WebGPU now ships in Chrome (since version 113, 2023) and Safari (since Safari 26, 2025). Three.js has over 100k GitHub stars and PixiJS over 45k — these are mature, battle-tested renderers, not experiments. HTML5 is now a serious game runtime.
The one-sentence version: engines optimized for build quality; F2P is decided by iteration speed, and iteration speed now belongs to text-first, LLM-friendly, over-the-air web stacks.
What does the web-native mobile game stack look like?
Seven tools, each the best-in-class open option for its layer, each chosen for one extra property: an LLM agent can operate it through skills.
| Layer | Tool | Role | Agent skills |
|---|---|---|---|
| 3D world | Three.js | Renders the game scene (WebGL 2 / WebGPU) | community packs |
| UI layer | PixiJS | 2D UI and HUD composited above the world | official |
| VFX | NixieFX | Particle editor + runtime for both Pixi and Three | official |
| UI design | Figma | Screens designed by designers, imported to Pixi | your own importer + skill |
| Backend | SpacetimeDB | Database and server in one module | official |
| Native shell | Capacitor | Wraps the web build into iOS / Android apps | community packs |
| Delivery | Capawesome | Native plugins + over-the-air live updates | community packs |
Three.js — the game world
Three.js is the de-facto standard 3D renderer of the web, with a huge ecosystem, first-class WebGPU support, and more LLM training coverage than any game engine API in existence. Your gameplay scene — camera, meshes, lights, postprocessing — is ordinary TypeScript an agent can refactor like any other code.
PixiJS — the UI layer on top
PixiJS renders the HUD, menus, and popups as a 2D layer composited above the Three.js canvas. Pixi v8 is fast enough to treat your whole UI as a game scene — and it ships 25 official agent skills so coding agents use the current v8 API instead of hallucinating v7 patterns.
npx skills add https://github.com/pixijs/pixijs-skills
NixieFX — particles and VFX
NixieFX is a full-featured particle editor that runs in the browser and exports to a lightweight runtime for both PixiJS and Three.js — one VFX pipeline for your UI juice and your in-world effects. It was built AI-first: effects are plain JSON in your repo, and two official skills teach your agent to author effects and to integrate them.
npx skills add https://github.com/azakhary/nixie-fx
Figma — UI design, imported not rebuilt
Designers work in Figma; a small custom importer walks the Figma file via its API and emits Pixi layout code that mirrors Pixi's own scene conventions (containers, anchors, nine-slices). This is the one piece you build yourself — roughly a week of work — and then every screen in the game is a designer-owned artifact your agent can re-import on demand. Write a skill for the importer so agents run the whole Figma→screen pipeline unattended.
SpacetimeDB — the entire backend
SpacetimeDB merges the database and the game server: you write tables and reducers (in TypeScript, C# or Rust), deploy one module, and clients subscribe to live queries over WebSocket. No REST layer, no ORM, no separate hosting for logic — which means the whole backend fits in an agent's context window.
npx skills add clockworklabs/spacetimedb
Capacitor — the native shell
Capacitor wraps the web build into real iOS and Android apps with a plugin bridge for everything F2P needs: in-app purchases, push notifications, ads SDKs, haptics, app tracking. To the stores — and to players — it is a native game.
Capawesome — delivery and live updates
The Capawesome plugin suite fills the native gaps, and Capawesome Live Update pushes new JavaScript bundles and assets over the air — compliantly — so a balance patch or a weekend event goes live in minutes. Store releases become a monthly formality; live ops runs at web speed.
Why must every layer have LLM agent skills?
Agent skills are versioned instruction packages
(SKILL.md files) that teach an AI coding agent how to
use a tool correctly — current APIs, project conventions, the
gotchas that models otherwise hallucinate through. They install
with one command and work across
Claude Code, Cursor, Codex, Grok, Copilot, Gemini CLI and 40+ agents.
This is the actual selection criterion of the stack. Three.js, PixiJS, NixieFX, and SpacetimeDB aren't just good libraries — they are libraries an agent can be taught. The rule we suggest:
If a library in your stack has no agent skill, either write one or pick a different library. An un-teachable dependency is a manual-labor tax on every future feature.
Should you write your own internal skills?
Yes — the public skills cover the libraries; your studio's edge lives in internal skills. Keep them in the repo, version them like code, and treat them as the onboarding docs your agents (and new hires) actually read. Start with:
- A performance-budget skill — target frame time, draw-call caps, texture-memory limits per device tier, particle budgets, and what to profile before merging.
- A code-conventions skill — how scenes, systems, and UI screens are structured in your codebase, naming, and the patterns reviewers reject.
- A live-ops skill — how events are configured, how a Capawesome rollout is staged and rolled back, and the checklist before anything ships to players.
- An asset-pipeline skill — atlas packing, audio compression, mesh budgets, and where generated files live.
How do you start a new game on this stack today?
-
Scaffold a TypeScript web app (Vite works well) and add the
rendering layers:
npm install three pixi.js nixie-fx -
Install the agent skills for every layer:
npx skills add https://github.com/pixijs/pixijs-skills https://github.com/azakhary/nixie-fx clockworklabs/spacetimedb - Render the Three.js world full-screen; mount a transparent Pixi canvas above it for UI.
- Author your VFX in the NixieFX editor — effects live as JSON in your project folder and export to a runtime bundle both renderers load.
- Set up the Figma file and write the Figma→Pixi importer (then wrap it in a skill).
-
spacetime inityour backend module; define tables and reducers; subscribe from the client. -
Add Capacitor (
npx cap add ios android), wire IAP and push through Capacitor/Capawesome plugins. - Configure Capawesome Live Update, ship the store build once — then iterate over the air, daily.
Frequently asked questions
Is Unity really dead for mobile game development?
As an engine, no — it still dominates heavy 3D and console-quality mobile titles. As the default choice for free-to-play mobile, we'd argue yes: F2P is decided by iteration speed and LLM leverage, and a closed editor with binary scenes loses on both. A text-first web stack iterates faster, works natively with AI agents, and updates over the air without review cycles.
Can a web game hit 60 fps on mid-range phones?
Yes. WebGL 2 is universal on phones from the last five years, WebGPU ships in Chrome (since 113, 2023) and Safari (since Safari 26, 2025), and Three.js/PixiJS batch aggressively. Casual and mid-core scenes hold 60 fps on mid-range hardware with normal mobile discipline: atlases, capped draw calls, pooled particles.
How do you ship a web game to the App Store and Google Play?
Wrap it with Capacitor. The web build runs inside a native shell with full plugin access (IAP, push, ads, haptics), producing a normal app binary that passes App Store and Play Store review like any other game.
Are over-the-air updates allowed on iOS and Android?
Yes, within platform rules: JavaScript and assets executed by the system web view may be updated over the air as long as updates don't change the app's core purpose or sneak native code past review. Capawesome Live Update implements this compliantly.
Why SpacetimeDB instead of Firebase or a custom Node server?
Because it collapses the database, the server, and the realtime sync layer into one module of tables and reducers. There is no API layer to design, host, or document — and the whole backend is small enough for an agent to hold in context and modify safely.
What are agent skills, and which coding agents support them?
Versioned SKILL.md instruction packages that teach
agents to use a tool correctly, installable with
npx skills add. Supported by Claude Code, Cursor,
Codex, Grok, Copilot, Gemini CLI, and 40+ other agents. PixiJS,
SpacetimeDB, and NixieFX all ship official skills.
Resources
- Three.js threejs.org · github.com/mrdoob/three.js
- PixiJS pixijs.com · official skills: github.com/pixijs/pixijs-skills
- NixieFX nixiefx.com · skills & runtime: github.com/azakhary/nixie-fx
- SpacetimeDB spacetimedb.com · github.com/clockworklabs/SpacetimeDB
- Capacitor capacitorjs.com · github.com/ionic-team/capacitor
- Capawesome Live Update capawesome.io — OTA delivery for Capacitor apps
- Figma figma.com — design source for your Figma→Pixi importer
- Agent Skills agentskills.io — the skills format and directory
This guide is maintained by the team behind NixieFX, the browser-based HTML5 particle editor for PixiJS and Three.js. A machine-readable version is available at /mobile-game-stack.md, and a site index for LLMs at /llms.txt.