Files
Backyard-CTF/docs/brainstorms/2026-01-31-unity-project-setup-brainstorm.md
John Lamb b1b3e4d0b3 initial
2026-02-01 07:57:53 -06:00

85 lines
3.2 KiB
Markdown

# Brainstorm: Unity Project Setup for Neighborhood Quarterback
**Date:** 2026-01-31
**Status:** Ready for planning
**Related:** soul.md (game design document)
## What We're Building
Minimal scaffolding for a Unity project that will become "Neighborhood Quarterback" - a 1v1 real-time capture-the-flag game. This phase establishes:
- Unity 6 LTS project with correct settings
- Build targets for Android, iOS, and Desktop
- Feature-based folder organization
- URP 2D rendering pipeline
- New Input System configured
**Explicitly out of scope:** Gameplay code, networking, UI systems, assets. Just the foundation.
## Why This Approach
### Unity 6 LTS over older versions
- Latest LTS with best cross-platform tooling
- Improved mobile build times and runtime performance
- Active support through 2028
### URP 2D over Built-in or 3D
- Soul doc describes "backyard baseball meets satellite-map clarity" - 2D aesthetic
- URP 2D provides good lighting options for "night time" mood
- Better mobile GPU performance than URP 3D
- 2D Renderer optimized for sprite-based games
### New Input System over Legacy
- Unified touch/mouse handling critical for mobile + desktop
- Action maps allow defining "select unit", "drag route" abstractly
- Better support for complex gestures needed for squad command
### Feature-based folders over type-based
- Game has distinct systems (FogOfWar, Jail, Units, MotionLights) per soul doc
- Keeps related code/prefabs/art together
- Scales better as features grow
## Key Decisions
| Decision | Choice | Rationale |
|----------|--------|-----------|
| Unity Version | 6 LTS (6000.0.x) | Latest stable, best mobile support |
| Render Pipeline | URP 2D | 2D game, mobile performance, lighting |
| Input System | New Input System | Cross-platform touch/mouse |
| Folder Structure | Feature-based | Matches game's system architecture |
| Build Targets | Android, iOS, Win/Mac/Linux | Per requirements |
| Android Config | IL2CPP, ARM64, API 24+ | Modern devices, performance |
| iOS Config | IL2CPP, ARM64, iOS 13+ | Modern devices, performance |
## Open Questions
1. **Netcode package?** - Soul doc mentions 1v1 multiplayer, but that's post-scaffolding. Decision deferred.
2. **Unity Gaming Services?** - Authentication, matchmaking, analytics. Deferred to gameplay phase.
3. **CI/CD pipeline?** - Out of scope for minimal setup. Add when needed.
## Folder Structure
```
neighborhood-quarterback/
├── Assets/
│ ├── Features/ # Feature modules (empty initially)
│ │ └── _Template/ # Copy this for new features
│ ├── Shared/ # Cross-feature resources
│ │ ├── Fonts/
│ │ └── UI/
│ ├── Settings/ # Project settings
│ │ ├── URP/ # Render pipeline assets
│ │ └── Input/ # Input action assets
│ └── Scenes/
│ └── Main.unity # Entry point
├── Packages/ # Unity package manifest
├── ProjectSettings/ # Unity project settings
└── docs/ # Design documents
├── soul.md
└── brainstorms/
```
## Next Steps
Run `/workflows:plan` to generate implementation steps for creating this Unity project scaffold.