Files

Commander AI Lab — Unity Client

Unity front-end for Commander AI Lab. Communicates with the FastAPI backend (lab_api.py) via REST API.

Requirements

Tool Version
Unity 2022 LTS (6000.0+)
Render Pipeline Universal Render Pipeline (URP)
.NET .NET Standard 2.1
Backend Commander AI Lab FastAPI (port 8080)

Setup

  1. Open Unity Hub
  2. Click Add → select this unity-client/ folder
  3. Open the project in Unity 2022 LTS
  4. Install required packages via Package Manager (see Packages/manifest.json)
  5. Start the FastAPI backend: python lab_api.py
  6. Open the MainMenu scene and press Play

Folder Structure

unity-client/
  Assets/
    Scenes/           — All Unity scenes
      MainMenu.unity
      Collection.unity
      DeckBuilder.unity
      DeckGenerator.unity
      Simulator.unity
      Coach.unity
      Scanner.unity
      Training.unity
      Precon.unity
    Scripts/
      Models/         — C# POCOs matching FastAPI response shapes
      Services/       — ApiClient.cs, CardImageCache.cs
      UI/             — Scene-specific controllers
      Animation/      — CardAnimator.cs, BattlefieldAnimator.cs
    Prefabs/
      CardPrefab.prefab
      DeckSlotPrefab.prefab
      ChatBubble.prefab
    Materials/        — URP materials + Shader Graphs
    Textures/         — UI sprites, card back
    Fonts/
  Packages/           — Unity package manifest
  ProjectSettings/    — Build settings, input system config

Build Targets

Platform Instructions
Windows File → Build Settings → PC/Mac → Windows x86_64
WebGL File → Build Settings → WebGL (requires Brotli compression)
Android File → Build Settings → Android (requires Android SDK)
iOS File → Build Settings → iOS (requires Xcode on Mac)

API Configuration

The default backend URL is http://localhost:8080. Change it from the Settings panel in the MainMenu scene or pass it as a WebGL URL parameter: ?server=http://your-server:8080

GitHub Issues

See Epic #45 for full task breakdown.