firebase-game-backend · git:20260907.501dbca · 2026-09-07 · sha256 17c56d6d152fa2d3

firebase-game-backend git:20260907.501dbcaA

Immutable. This exact content never changes and is served at /api/v1/blob/17c56d6d152fa2d3.

---
name: firebase-game-backend
description: Use when building or reviewing Firebase-backed game features for Unity or JavaScript, including Firebase Auth, Cloud Firestore, Realtime Database, Cloud Functions Gen2, Express.js HTTP APIs, Unity request/response clients, Cloud Storage, Remote Config, Analytics, App Check, security rules, local emulators, deployment, data modeling, and client/server boundaries.
---

# Firebase Game Backend

Use this skill for Firebase features that support a Unity game, web dashboard,
companion app, or JavaScript service.

## First Read

Inspect whichever files exist:

- `firebase.json`
- `.firebaserc`
- `firestore.rules`
- `firestore.indexes.json`
- `storage.rules`
- `functions/package.json`
- `functions/src/` or `functions/index.js`
- Web app Firebase config files
- Unity Firebase wrapper code under `Assets/`

## Core Rules

- Client SDKs are untrusted. Security rules and Cloud Functions enforce policy.
- Do not put privileged operations in Unity or browser code.
- Keep Firestore rules restrictive by default.
- Rules are not filters: queries must match the rule constraints.
- Use Firebase Auth UID as the primary ownership boundary.
- Validate writes in security rules and again in trusted server code.
- Use Cloud Functions or another trusted backend for economy mutations,
  anti-cheat-sensitive rewards, purchases, inventory grants, and leaderboards.
- Use Firebase Emulator Suite for rules and function testing when available.
- Keep Firebase code behind interfaces in Unity.
- For this game backend style, prefer Firebase Functions Gen2 with JavaScript
  and Express.js HTTP routes. Unity should call those routes through typed
  request/response client wrappers, not by scattering raw HTTP calls through
  gameplay code.
- New or changed game API behavior needs focused unit tests for the expected
  success path and important failure paths. Emulator/Newman coverage complements
  handler unit tests; it does not replace them.

## Workflow

1. Identify the feature: auth, save, leaderboard, inventory, economy, matchmaking,
   remote config, analytics, storage, or admin tooling.
2. Decide which operations are safe on the client and which require trusted code.
3. Check data model, indexes, rules, and Cloud Functions together.
4. Add unit tests for expected behavior when changing routes, authorization,
   validation, response contracts, or write behavior.
5. For Unity, expose Firebase through game-facing interfaces.
6. For JavaScript, use the modular Web SDK for browser code and Admin SDK only
   in trusted server environments.
7. For Functions HTTP APIs, keep Express routing, request validation, auth/App
   Check guards, response envelopes, and Unity DTO alignment together.

## Reference Loading

- Data modeling and products: `references/firebase-stack.md`
- Functions Gen2 + Express + Unity request/response:
  `references/functions-express-unity.md`
- Security rules: `references/security-rules.md`
- Unity integration: `references/unity-firebase.md`

Official docs to verify current setup details:

- Unity SDK: https://firebase.google.com/docs/unity/setup
- Web SDK: https://firebase.google.com/docs/web/setup
- Security Rules: https://firebase.google.com/docs/rules/
- Firestore Rules: https://firebase.google.com/docs/firestore/security/get-started