# V4 — Dependency Registry (Tactical Action Universe, Unreal Engine 5)

> **Scope:** Dependencies that V4 launch depends on — engine version, plugins,
> middleware, third-party SDKs, infrastructure services, platform SDKs, build
> tooling, and internal packages on the V4 critical path. **Companion docs:**
> [`V4/V4_features.md`](./V4_features.md), [`V4/V4_TODOS.md`](./V4_TODOS.md),
> [`V4/V4_ARCHITECTURE.md`](./V4_ARCHITECTURE.md). **Date:** 2026-05-15.
> **Updated:** 2026-06-12 (remediation pass — option-stacking resolved into
> recorded decisions; dangling section refs fixed).

## Purpose

This file is the V4-scoped dependency contract. For each dependency it answers
three questions a reviewer needs before launch:

1. **What is it** — one sentence on the dependency itself.
2. **Where does V4 use it** — the V4 features or TODOS sections that need it.
3. **How is it wired** — version source, plugin path, target platform.

Pinned versions will live in `V4/ue/V4.uproject`, each plugin's `*.uplugin`,
each `*.Build.cs`, and the per-platform configs in `V4/ue/Config/` once §1
creates those artifacts. Until then, this document is the planning contract and
must mark dependencies as **current**, **planned**, or **external**.

Package-state rule for agents:

- **Current** packages must match a repo `package.json` before wiring.
- **Planned** packages are actionable work: create or land the package before
  wiring V4 to it, unless an ADR says the feature must be gated.
- **Historical / corrected** package names are only mentioned to prevent reuse;
  do not implement against them.

## Cross-Reference Convention

Throughout the V4 docs, including this file, **bare `§N` and `§N.M` references
resolve to `V4_TODOS.md`** (the canonical backlog). Explicit doc prefixes are
used where ambiguity matters:

- `§40` → `V4_TODOS.md` §40.
- `deps§14` → this file's §14.
- `arch§"<anchor>"` → `V4_ARCHITECTURE.md` by section anchor.
- `features§"<anchor>"` → `V4_features.md` by section anchor.

## Table of Contents

1. [Engine Version](#1-engine-version)
2. [First-Party UE Plugins](#2-first-party-ue-plugins)
3. [Third-Party UE Plugins](#3-third-party-ue-plugins)
4. [Audio Middleware](#4-audio-middleware)
5. [Animation & Mocap Pipeline](#5-animation--mocap-pipeline)
6. [Physics, Cloth, Hair, Destruction](#6-physics-cloth-hair-destruction)
7. [Rendering & Post-Process](#7-rendering--post-process)
8. [Networking & Lockstep](#8-networking--lockstep)
9. [Online Services Provider](#9-online-services-provider)
10. [Anti-Cheat](#10-anti-cheat)
11. [Platform SDKs](#11-platform-sdks)
12. [Build & Distributed Compile](#12-build--distributed-compile)
13. [Source Control](#13-source-control)
14. [Data Authoring & ETL](#14-data-authoring--etl)
15. [Telemetry & Analytics](#15-telemetry--analytics)
16. [Cloud Backend Services](#16-cloud-backend-services)
17. [Anti-Spam, Moderation, ML](#17-anti-spam-moderation-ml)
18. [Localization & VO](#18-localization--vo)
19. [Esports / Broadcast Toolkit](#19-esports--broadcast-toolkit)
20. [Testing Tooling](#20-testing-tooling)
21. [Marketing Site Stack](#21-marketing-site-stack)
22. [Live Service Operations](#22-live-service-operations)
23. [Security, Secrets, Code Signing](#23-security-secrets-code-signing)
24. [Internal V4 Modules & Plugins](#24-internal-v4-modules--plugins)
25. [Procedural Generation (PCG)](#25-procedural-generation-pcg)
26. [Crowd / Mass Entity](#26-crowd--mass-entity)
27. [2D Engine Stack (Paper2D)](#27-2d-engine-stack-paper2d)
28. [RTS Pathfinding & Flow-Fields](#28-rts-pathfinding--flow-fields)
29. [Voice / Speech-to-Text / Text-to-Speech](#29-voice--speech-to-text--text-to-speech)
30. [Companion App](#30-companion-app)
31. [Spectator Portal](#31-spectator-portal)
32. [Internal Oshun Cross-Domain Dependencies](#32-internal-oshun-cross-domain-dependencies)

---

## 1. Engine Version

| Dependency             | Version          | Notes                                                                              |
| ---------------------- | ---------------- | ---------------------------------------------------------------------------------- |
| **Unreal Engine**      | 5.5 LTS          | Lock to 5.5.x; no engine upgrade across the launch window without explicit signoff |
| **Engine source path** | `Engine/` (Epic) | Built from source if engine modifications required; binary otherwise               |
| **Visual Studio**      | 2022 17.10+      | Windows toolchain                                                                  |
| **Xcode**              | 16.x             | macOS (dev only)                                                                   |
| **clang (Linux)**      | 16+              | For Linux dedicated server                                                         |
| **CMake**              | 3.28+            | Where required by 3rd-party SDKs                                                   |
| **LLVM / lld**         | 16+              | Used for fast linking on Linux DS                                                  |

V4's UE 5.5 LTS choice is identical to V2 and V3 — Oshun's three game-domain
projects all converge on 5.5 LTS to share toolchain and middleware investments.
No engine upgrade in the launch window.

## 2. First-Party UE Plugins

Enabled in `V4.uproject` Plugins list. The full inventory is large; the table
below covers every plugin V4 ships with enabled. Plugins not listed are
explicitly disabled in `DefaultEngine.ini` to keep editor cold-start ≤ 30 s and
runtime memory predictable.

| Plugin                      | Used by V4 for                                              |
| --------------------------- | ----------------------------------------------------------- |
| **GameplayAbilities (GAS)** | Combat spine, abilities, attributes, effects (`V4Gameplay`) |
| **EnhancedInput**           | Input mappings, IMCs, motion-parser feed (`V4Input`)        |
| **CommonUI**                | Front-end shell, input-style routing, focus graph (`V4UI`)  |
| **ModelViewViewModel**      | HUD attribute binding (`V4UI`)                              |
| **MotionWarping**           | Throw / takedown / breach / finisher alignment to NPC       |
| **AnimationWarping**        | Foot lock, stride warping for traversal modes               |
| **MotionMatching**          | Hitman sandbox roaming, Wukong area roaming, Commandos walk |
| **Mover (2.0)**             | Replacement for CMC in exploration modes                    |
| **ChooserTable**            | Hit-reaction selection, takedown variant selection          |
| **Niagara**                 | Muzzle, blood, debris, VFX, weather, fog                    |
| **GeometryScripting**       | Procedural map building (RTS map editor, 2D stage editor)   |
| **ProceduralMeshComponent** | Editor stage building                                       |
| **ChaosCloth**              | Costume cloth, capes                                        |
| **ChaosFlesh**              | Wukong gore for cinematic finishers (mild)                  |
| **ChaosDestruction**        | R6 destructible walls; CoD setpiece building collapse       |
| **ChaosVehicles**           | Drivable vehicles (helo, tank, snowmobile, horse, Humvee)   |
| **MetaSound**               | Native audio runtime                                        |
| **AudioModulation**         | Dynamic mix, ducking, music stack                           |
| **AudioGameplayVolume**     | Stealth-cell zone-aware audio (e.g., enclosed-vs-open)      |
| **ReplicationGraph**        | BR replication priority bands, sandbox map replication      |
| **NetworkPrediction**       | Tactical PvP prediction, Iris-tagged states                 |
| **GameFeatures**            | Modular game-mode plugins, DLC, license-conditional content |
| **ModularGameplay**         | Per-mode actor extension                                    |
| **Iris**                    | UE5.5 networking layer for non-rollback channels            |
| **OnlineSubsystem**         | Cross-platform online abstraction                           |
| **TraceInsights**           | Perf profiling                                              |
| **Gauntlet**                | End-to-end automation runner                                |
| **FunctionalTesting**       | Per-feature in-engine automation                            |
| **AutomationController**    | CI test orchestration                                       |
| **MoviePipeline**           | Cinematic capture for trailers / replay export              |
| **Replays**                 | Demo recording for replay system                            |
| **WorldPartition**          | Sandbox map streaming (Hitman, Commandos, BR)               |
| **WorldPartitionHLOD**      | Distant-cell HLOD geometry                                  |
| **MassEntity**              | Dense crowd system (Hitman 400-NPC maps)                    |
| **PCG**                     | Procedural generation for roguelike-tactics campaign        |
| **Paper2D**                 | 2D Contra cell                                              |
| **MetaHuman**               | Principal characters in cinematic                           |
| **AnimNext** (experimental) | Future animation graph; gated behind ADR before enabling    |

Plugins explicitly **disabled**:

- Most experimental / sample plugins (`Studio Telemetry`, `Mover Examples`,
  `Sample Game Modes`).
- `OnlineSubsystemNull`, replaced by EOSShared in shipping builds.
- `WaterMesh` unless a tactical map requires water rendering.

## 3. Third-Party UE Plugins

| Plugin / Vendor               | Used by V4 for                                         |
| ----------------------------- | ------------------------------------------------------ |
| **MetaHuman Animator**        | Facial animation pipeline for principals (free)        |
| **Live Link Face**            | Performance capture for cinematics                     |
| **OnlineServicesEOS**         | Default OnlineServices provider (cross-platform)       |
| **EOSShared**                 | EOS SDK wrapper for friends, presence, matchmaking     |
| **EOSVoiceChat**              | In-lobby and in-match voice                            |
| **EasyAntiCheat (EAC)**       | Anti-cheat for ranked PvP and BR                       |
| **PixelStreaming** (optional) | Cloud-streaming variants where contract permits        |
| **AssetLinter (V4)**          | Internal plugin enforcing naming conventions (see §24) |
| **SteamAudio**                | Optional: SC stealth precision spatial audio           |
| **NVIDIA DLSS Streamline**    | DLSS / Reflex on PC NVIDIA path                        |
| **AMD FSR 3 Streamline**      | FSR on AMD + console upscaling                         |
| **Apple MetalFX**             | macOS / iPad upscaling                                 |
| **Sony PSSR (PS5 Pro)**       | PS5 Pro upscaling                                      |
| **Intel XeSS**                | Intel Arc support                                      |
| **NVIDIA RTXGI**              | Optional: enhanced RT GI on PC RTX path                |

## 4. Audio Middleware

Default: **MetaSounds + AudioModulation** (engine-native) — chosen to minimize
middleware licensing risk and keep audio in-source for the bulk of the
soundtrack.

Optional middleware: **Audiokinetic Wwise** integrated via
`Wwise-Unreal-Integration` for the **Splinter Cell stealth cell** where the
audio team requires bank-based authoring of granular footstep materials.
Decision recorded in §94 launch readiness; if Wwise is adopted for the stealth
cell, license is per-platform (PC / PS5 / PS5 Pro / XSX / XSS / Switch2 / Mac /
iPad) under Audiokinetic terms.

| Asset                      | Path / Source                                |
| -------------------------- | -------------------------------------------- |
| Voice barks (per-operator) | `Content/Audio/Operators/<op>/Voice/`        |
| Commentary banks           | `Content/Audio/Commentary/<mode>/<persona>/` |
| Music stacks               | `Content/Audio/Music/<cell>/<stack>/`        |
| Stage ambience             | `Content/Audio/Stages/<stage>/Ambience/`     |
| UI SFX                     | `Content/Audio/UI/`                          |
| Vehicle audio              | `Content/Audio/Vehicles/<vehicle>/`          |
| Weapon foley               | `Content/Audio/Weapons/<weapon>/`            |
| Wukong combat foley        | `Content/Audio/ARPG/Combat/`                 |
| RTS unit response banks    | `Content/Audio/RTS/<faction>/<unit>/`        |
| 2D arcade SFX              | `Content/Audio/Arcade/`                      |

## 5. Animation & Mocap Pipeline

| Dependency             | Used for                                         |
| ---------------------- | ------------------------------------------------ |
| **Motion Builder**     | Mocap cleanup                                    |
| **Maya**               | Animation authoring                              |
| **Blender**            | Animation authoring (open-source pipeline)       |
| **Vicon**              | On-stage mocap                                   |
| **OptiTrack**          | Alternate mocap rig                              |
| **Faceware**           | Facial mocap (alternative to MetaHuman Animator) |
| **Cubic Motion**       | Optional partner for premium facial mocap        |
| **MetaHuman Animator** | Default facial pipeline                          |
| **Live Link Face**     | Real-time facial capture                         |
| **Mixamo**             | Background NPC anim library (sourced animations) |
| **Adobe Substance 3D** | Texturing pipeline                               |
| **ZBrush**             | Sculpt pipeline                                  |
| **3DS Max**            | Asset import variant                             |

Custom V4 anim tooling:

- **V4 Mocap Cleanup Pipeline:** Python scripts in `V4/tools/mocap-cleanup/`.
- **V4 Anim Retargeting Editor:** `V4Editor::FAnimRetargetWidget`.
- **V4 Combo Authoring Editor:** Wukong combo chains.

## 6. Physics, Cloth, Hair, Destruction

| Dependency            | Used for                                                              |
| --------------------- | --------------------------------------------------------------------- |
| **Chaos Cloth**       | Capes, costumes, flags                                                |
| **Chaos Flesh**       | Mild gore for Wukong (decapitation cinematics)                        |
| **Chaos Destruction** | R6 destructible walls; CoD setpiece building collapse, breach charges |
| **Chaos Vehicles**    | Drivable vehicles                                                     |
| **Chaos Physics**     | Default rigid body                                                    |
| **Niagara Fluids**    | Optional: water, smoke volumetrics for SC mission                     |
| **PhysX**             | Legacy fallback for one-off Wwise interop                             |

## 7. Rendering & Post-Process

| Dependency                 | Used for                                  |
| -------------------------- | ----------------------------------------- |
| **Lumen GI**               | Default global illumination               |
| **Nanite**                 | Hero geometry; environment hero assets    |
| **Virtual Shadow Maps**    | Default shadows                           |
| **Hardware Ray-Tracing**   | Optional: hybrid RT lighting on RTX cards |
| **Path Tracing**           | Marketing renders (offline)               |
| **Movie Render Queue**     | Cinematic capture                         |
| **DLSS / FSR 3 / MetalFX** | Per-platform upscaling                    |
| **PSSR** (PS5 Pro)         | PS5 Pro upscaling                         |
| **XeSS** (Intel Arc)       | Intel upscaling                           |
| **Substance UE Plugin**    | Substance materials                       |
| **MetaHuman Creator**      | Principal character creation              |

## 8. Networking & Lockstep

| Dependency              | Used for                                                                |
| ----------------------- | ----------------------------------------------------------------------- |
| **Iris (UE5.5)**        | Modern net layer; default for non-rollback channels                     |
| **NetworkPrediction**   | Tactical PvP prediction                                                 |
| **OnlineSubsystem**     | Cross-platform online abstraction                                       |
| **OnlineServices**      | Modern interface for online providers                                   |
| **GGPO** (planned)      | Reference for rollback prediction in TDM / Spies-vs-Mercs (custom port) |
| **Custom Lockstep**     | V4-internal deterministic lockstep for RTS cell                         |
| **WebRTC**              | Voice SFU (out-of-engine)                                               |
| **WebTransport**        | Reserved for spectator portal real-time data                            |
| **gRPC / Tonic (Rust)** | Backend service-to-service                                              |
| **Protobuf**            | Wire format for backend services                                        |

V4's RTS lockstep is custom (not GGPO; GGPO is for rollback only). It's
implemented in `V4Netcode::FRTSLockstepSubsystem` and uses fixed-point math +
deterministic RNG (see `arch§"RTS Deterministic Lockstep"`).

## 9. Online Services Provider

| Dependency                     | Used for                                         |
| ------------------------------ | ------------------------------------------------ |
| **Epic Online Services (EOS)** | Default OnlineServices provider (cross-platform) |
| **PlayStation Network**        | PSN integration on PS5 / PS5 Pro                 |
| **Xbox Live**                  | XBL integration on XSX / XSS                     |
| **Nintendo Network**           | NN integration on Switch 2                       |
| **Steam**                      | Steam OS / lobby / matchmaking / Workshop        |
| **Apple Game Center**          | macOS / iPad                                     |
| **Google Play Games**          | Android tablets                                  |

EOS is the cross-platform fallback; platform-specific online integrations
satisfy platform certification rules and surface friend lists / presence to
their native UIs.

## 10. Anti-Cheat

| Dependency                        | Used for                                        |
| --------------------------------- | ----------------------------------------------- |
| **Easy Anti-Cheat (EAC)**         | Default kernel-mode anti-cheat                  |
| **BattlEye** (optional)           | Backup / regional alternative                   |
| **V4 Trust Score**                | Internal: account-trust score (Rust)            |
| **Server-side replay validation** | Internal: contract / ladder replay verification |
| **Behavioural anomaly detection** | Internal: per-input model (Aja-style)           |

## 11. Platform SDKs

| Platform      | SDK                     | Notes                                    |
| ------------- | ----------------------- | ---------------------------------------- |
| PC (Win)      | Windows SDK 10.0.22621+ | Steam, Microsoft Store, Epic Games Store |
| PC (macOS)    | Xcode 16+ macOS SDK     | Apple Silicon                            |
| PC (Linux)    | Steam Runtime / Proton  | Steam Deck Verified                      |
| PS5           | Sony PS5 SDK            | Per-cert TRC                             |
| PS5 Pro       | Sony PS5 Pro SDK        | PSSR upscaling                           |
| Xbox Series X | Microsoft GDK           | Per-cert XR                              |
| Xbox Series S | Microsoft GDK           | Memory/perf cut                          |
| Switch 2      | Nintendo SDK            | Nintendo Lotcheck                        |
| iPad Pro      | Xcode 16+ iOS SDK       | M-series                                 |
| Android       | Android SDK 34+         | Android tablets                          |

Per-platform SDK access requires per-platform NDA (not negotiable). Internal
devkits ordered: 12 PS5, 8 PS5 Pro, 12 XSX, 8 XSS, 6 Switch 2, 6 iPad Pro, 6
Android tablets, distributed across the engineering team.

## 12. Build & Distributed Compile

| Dependency               | Used for                                                                                                                          |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
| **UnrealBuildTool**      | Build orchestration                                                                                                               |
| **UnrealAutomationTool** | Build/cook/package automation                                                                                                     |
| **FASTBuild**            | Distributed compile                                                                                                               |
| **SN-DBS**               | PS5 distributed compile                                                                                                           |
| **Incredibuild**         | Optional Windows distributed compile                                                                                              |
| **ccache**               | Linux dedicated server build cache                                                                                                |
| **Jenkins**              | **Selected** — UE build farm (with BuildGraph; `V4/release/jenkins/Jenkinsfile.pc`, `V4/release/BuildGraph/V4BuildCookPatch.xml`) |
| **GitHub Actions**       | **Selected** — CI for checks/tools/web/services (`.github/workflows/v4-*.yml`)                                                    |
| **GitLab CI**            | Evaluated, not selected                                                                                                           |
| **Buildkite**            | Evaluated, not selected                                                                                                           |
| **TeamCity**             | Evaluated, not selected                                                                                                           |

**Decision (2026-06-12):** GitHub Actions is the CI system for repo checks (56
`v4-*.yml` workflows exist today); Jenkins + BuildGraph is the UE
build/cook/patch farm (`V4/release/`). GitLab CI, Buildkite, and TeamCity were
evaluated and not selected.

## 13. Source Control

| Dependency                | Used for                            |
| ------------------------- | ----------------------------------- |
| **Perforce (Helix Core)** | Default for binary content          |
| **Helix Swarm**           | Code review for Perforce            |
| **Git**                   | Source code, configuration, scripts |
| **Git LFS**               | Shared text-y binary                |
| **Plastic SCM**           | Optional alternative for binary     |

V4 uses **Perforce** for binary content (UAssets, animations, audio, MetaHumans)
and **Git** for source code / configuration / scripts. Splitting source from
binary lets the engineering team work fast with Git while artists work with
Perforce.

## 14. Data Authoring & ETL

| Dependency                | Used for                                                    |
| ------------------------- | ----------------------------------------------------------- |
| **Excel / Google Sheets** | Balance authoring (operator stats, weapon recoil, RTS unit) |
| **Notion**                | Design docs, design specs                                   |
| **Confluence**            | Optional design wiki                                        |
| **Figma**                 | UI mockups, HUD layouts                                     |
| **Miro**                  | Whiteboarding, mocap planning                               |
| **Custom CSV importer**   | UE data-table import from balance spreadsheets              |
| **Custom JSON pipeline**  | Mission / contract / schedule authoring                     |
| **Python 3.12+**          | Authoring scripts                                           |
| **pandas / pyarrow**      | Balance ETL                                                 |
| **dbt**                   | Telemetry transformations in ClickHouse                     |

## 15. Telemetry & Analytics

| Dependency            | Used for                                                           |
| --------------------- | ------------------------------------------------------------------ |
| **ClickHouse**        | Telemetry analytics store                                          |
| **Grafana**           | Dashboards                                                         |
| **Prometheus**        | Metrics                                                            |
| **OpenTelemetry**     | Distributed tracing                                                |
| **Sentry**            | Error reporting (client + server)                                  |
| **Looker**            | Evaluated, not selected (BI needs covered by Grafana + ClickHouse) |
| **Tableau**           | Evaluated, not selected                                            |
| **Apache Kafka**      | Event bus for high-volume telemetry                                |
| **Apache Flink**      | Stream processing for telemetry                                    |
| **Redis**             | Real-time matchmaking / session state                              |
| **Elastic** (planned) | Log search                                                         |

## 16. Cloud Backend Services

| Dependency            | Used for                                         |
| --------------------- | ------------------------------------------------ |
| **GCP Cloud Run**     | Backend services (Rust microservices)            |
| **GCP Cloud SQL**     | PostgreSQL accounts, inventory, leaderboards     |
| **GCP Memorystore**   | Redis                                            |
| **GCP Pub/Sub**       | Event bus                                        |
| **GCP Cloud Storage** | Replay storage, mod hosting                      |
| **GCP Spanner**       | Optional: globally consistent leaderboards       |
| **Fly.io**            | Edge POPs for low-latency matchmaking            |
| **AWS (alternative)** | DR / regional backup                             |
| **Cloudflare**        | CDN, DDoS protection                             |
| **Akamai**            | Game-traffic CDN                                 |
| **i3D.net**           | **Selected** — primary dedicated server hosting  |
| **PlayFab**           | Evaluated, not selected (game-services back-end) |

**Decision (2026-06-12):** Unity Multiplay was removed from this registry — the
service shut down in December 2025 (see `V7/V7_ARCHITECTURE.md` hosting notes)
and can no longer be a launch dependency. i3D.net is the primary dedicated
server host; PlayFab was evaluated and not selected.

## 17. Anti-Spam, Moderation, ML

| Dependency                       | Used for                                                       |
| -------------------------------- | -------------------------------------------------------------- |
| **Perspective API**              | Toxicity classification                                        |
| **Hive AI**                      | Image moderation                                               |
| **Two Hat Sift Ninja**           | Optional alternative chat moderation                           |
| **Whisper (OpenAI)**             | Voice-chat transcription for moderation review                 |
| **Custom Aja layer**             | V1 cross-domain integration for advanced behavioural detection |
| **Themis adjudication**          | V1 cross-domain integration for dispute resolution             |
| **Custom Lilith-Rights pattern** | V3 cross-domain integration for content takedown               |

## 18. Localization & VO

| Dependency                   | Used for                                                                      |
| ---------------------------- | ----------------------------------------------------------------------------- |
| **Crowdin**                  | **Selected** — CAT-tool for translator workflow (`V4/loc/crowdin.yml` exists) |
| **Smartling**                | Evaluated, not selected                                                       |
| **Lokalise**                 | Evaluated, not selected                                                       |
| **Memsource / Phrase**       | Evaluated, not selected                                                       |
| **VO talent agencies**       | Per-region (US, UK, Latam, Brazil, EU, JP, KR, CN, TW)                        |
| **Cinedubs**                 | Cinematic VO recording                                                        |
| **Studio Network Solutions** | VO file storage                                                               |
| **Linguistic QA**            | Per-language testing partner                                                  |

## 19. Esports / Broadcast Toolkit

| Dependency                  | Used for                        |
| --------------------------- | ------------------------------- |
| **OBS Studio**              | Default broadcaster tool        |
| **vMix**                    | Broadcast switcher              |
| **NDI**                     | Multi-camera networked video    |
| **Challonge API**           | Bracket management              |
| **Smash.gg / Start.gg API** | Bracket management              |
| **Tonari / Restream**       | Multi-platform restreaming      |
| **Twitch API**              | Twitch Drops, polls, extensions |
| **YouTube API**             | Live stream metadata            |
| **Bilibili API**            | China region streaming          |
| **Custom V4 Spectator**     | First-party broadcast HUD       |

## 20. Testing Tooling

| Dependency                                    | Used for                                   |
| --------------------------------------------- | ------------------------------------------ |
| **Gauntlet**                                  | End-to-end automation                      |
| **FunctionalTesting**                         | Per-feature in-engine automation           |
| **AutomationController**                      | CI test orchestration                      |
| **TestFairy / TestFlight**                    | Beta distribution                          |
| **HockeyApp**                                 | Optional beta distribution                 |
| **TestRail**                                  | Test-case management                       |
| **JIRA**                                      | Bug tracking                               |
| **Linear**                                    | Optional alternative                       |
| **Playwright**                                | Web (marketing site, spectator portal) e2e |
| **Vitest**                                    | TypeScript unit tests (tools, services)    |
| **Rust nextest / cargo test**                 | Backend services                           |
| **AFL / fuzzers**                             | Backend ingest fuzzing                     |
| **Static analyzers** (clang-tidy, PVS-Studio) | C++ linting                                |

## 21. Marketing Site Stack

| Dependency           | Used for                                |
| -------------------- | --------------------------------------- |
| **Next.js**          | Marketing site framework                |
| **TypeScript**       | Default language                        |
| **TailwindCSS**      | Styling                                 |
| **Vercel**           | Hosting                                 |
| **Contentful**       | CMS for news, roadmap, esports calendar |
| **Strapi**           | Optional CMS alternative                |
| **Algolia**          | Search                                  |
| **Cloudflare Pages** | Optional alternative hosting            |

## 22. Live Service Operations

| Dependency                          | Used for                       |
| ----------------------------------- | ------------------------------ |
| **PagerDuty**                       | On-call alerting               |
| **Opsgenie**                        | Optional alternative           |
| **Statuspage.io**                   | Public status communication    |
| **Sentry**                          | Error reporting                |
| **Datadog**                         | Optional unified observability |
| **Grafana Loki**                    | Log aggregation                |
| **Zendesk**                         | Customer-support ticketing     |
| **Intercom**                        | Optional alternative           |
| **Discord**                         | Community channel              |
| **Twitter / X / Bluesky / Threads** | Community communication        |
| **Reddit moderation**               | Subreddit moderation           |

## 23. Security, Secrets, Code Signing

| Dependency               | Used for                          |
| ------------------------ | --------------------------------- |
| **Vault (HashiCorp)**    | Secrets management                |
| **GCP KMS**              | Encryption keys                   |
| **AWS KMS** (backup)     | DR encryption keys                |
| **Authenticode**         | Windows signing                   |
| **Apple Notarisation**   | macOS / iOS                       |
| **Android Play Signing** | Android                           |
| **Console signing**      | Per-platform signing flows        |
| **Snyk / Dependabot**    | Dependency vulnerability scanning |
| **GitGuardian**          | Secret leak detection             |
| **CodeQL**               | Static analysis                   |
| **Semgrep**              | Pattern-based static analysis     |

## 24. Internal V4 Modules & Plugins

Engine modules and plugins owned by the V4 team (the "internal" set). Each entry
is **planned** until its first-referencing TODO creates it.

| Module / Plugin                   | First reference | State   |
| --------------------------------- | --------------- | ------- |
| V4Core                            | §3.1            | planned |
| V4Gameplay                        | §3.2            | planned |
| V4Tactical                        | §3.3            | planned |
| V4Stealth                         | §3.4            | planned |
| V4Tactics                         | §3.5            | planned |
| V4ActionRPG                       | §3.6            | planned |
| V4RTS                             | §3.7            | planned |
| V4Arcade                          | §3.8            | planned |
| V4Perception                      | §3.9            | planned |
| V4Crowd                           | §3.10           | planned |
| V4Schedules                       | §3.11           | planned |
| V4Animation                       | §3.12           | planned |
| V4Input                           | §3.13           | planned |
| V4Netcode                         | §3.14           | planned |
| V4Modes                           | §3.15           | planned |
| V4UI                              | §3.16           | planned |
| V4Audio                           | §3.17           | planned |
| V4VFX                             | §3.18           | planned |
| V4Cinematics                      | §3.19           | planned |
| V4Persistence                     | §3.20           | planned |
| V4OnlineServices                  | §3.21           | planned |
| V4Telemetry                       | §3.22           | planned |
| V4Editor                          | §3.23           | planned |
| V4Vehicles                        | §3.24           | planned |
| V4Procgen                         | §3.25           | planned |
| V4LevelOps                        | §3.26           | planned |
| V4Tests                           | §3.27           | planned |
| V4Mode_Tactical_RavenShield       | §15             | planned |
| V4Mode_Tactical_R6Modern          | §16             | planned |
| V4Mode_Tactical_CoDCampaign       | §17             | planned |
| V4Mode_Tactical_CoDMultiplayer    | §18             | planned |
| V4Mode_Tactical_CoDWarzone        | §19             | planned |
| V4Mode_Stealth_SplinterCell       | §20             | planned |
| V4Mode_Stealth_SpiesVsMercs       | §21             | planned |
| V4Mode_Stealth_Hitman             | §22             | planned |
| V4Mode_Stealth_ContractsAuthor    | §23             | planned |
| V4Mode_RTST_Commandos             | §24             | planned |
| V4Mode_RTST_Desperados            | §25             | planned |
| V4Mode_ARPG_Wukong                | §26             | planned |
| V4Mode_ARPG_BossRush              | §27             | planned |
| V4Mode_RTS_Asymmetric             | §28             | planned |
| V4Mode_RTS_Historical             | §29             | planned |
| V4Mode_RTS_TowerDefense           | §30             | planned |
| V4Mode_Arcade_Contra              | §31             | planned |
| V4Mode_Arcade_BossGauntlet        | §32             | planned |
| V4Mode_SpecOps_Coop               | §33             | planned |
| V4Mode_Roguelike_TacticalCampaign | §34             | planned |
| V4Mode_HordeDefense               | §35             | planned |
| V4Mode_Editor_Mission             | §36             | planned |
| V4Mode_Editor_Workshop            | §37             | planned |
| V4Mode_Replay                     | §38             | planned |
| V4Mode_Spectator                  | §39             | planned |
| V4Mode_Training_Range             | §40             | planned |
| V4Mode_Lobby_BattleHub            | §41             | planned |
| V4Tools_AssetLinter               | §1              | planned |
| V4Tools_DataLinter                | §1              | planned |
| V4Tools_LocLinter                 | §18             | planned |
| V4Tools_PerceptionCalibrator      | §11             | planned |
| V4Tools_ScheduleEditor            | §10             | planned |
| V4Tools_VisionConeEditor          | §11             | planned |

## 25. Procedural Generation (PCG)

| Dependency               | Used for                                       |
| ------------------------ | ---------------------------------------------- |
| **UE5 PCG framework**    | `V4Procgen` foundation                         |
| **Houdini Engine**       | Optional: high-fidelity per-mission decoration |
| **Houdini PCG plugin**   | Optional: Houdini interop                      |
| **WaveFunctionCollapse** | Optional: chunk constraint solver              |
| **Custom V4Procgen DSL** | Internal: per-cell PCG graph authoring         |

## 26. Crowd / Mass Entity

| Dependency           | Used for                                   |
| -------------------- | ------------------------------------------ |
| **MassEntity (UE5)** | Default ECS for crowd                      |
| **MassAI**           | Crowd path-following                       |
| **MassNavigation**   | Crowd navigation                           |
| **MassMovement**     | Crowd movement                             |
| **MassSignals**      | Inter-NPC signals (panic propagation)      |
| **MassReplication**  | Multiplayer crowd replication              |
| **MassActors**       | Hero NPCs (with full Actor representation) |

## 27. 2D Engine Stack (Paper2D)

| Dependency            | Used for                       |
| --------------------- | ------------------------------ |
| **Paper2D**           | Default 2D framework           |
| **PaperFlipbook**     | Sprite animation               |
| **PaperTileMap**      | Stage authoring                |
| **Niagara 2D module** | 2D projectile effects          |
| **Custom 2D shader**  | Pixel-art aware filtering      |
| **Aseprite**          | Pixel-art authoring            |
| **PiskelApp**         | Optional alternative           |
| **TexturePacker**     | Sprite-sheet packing           |
| **CrazyBump**         | Optional normal-map generation |

## 28. RTS Pathfinding & Flow-Fields

| Dependency                | Used for                                        |
| ------------------------- | ----------------------------------------------- |
| **A\* Pathfinding**       | Default per-unit pathfinding                    |
| **Flow-field pathing**    | Group movement of 50+ units                     |
| **Recast / Detour**       | Navmesh                                         |
| **Custom RTS pathfinder** | `V4RTS` deterministic A\*                       |
| **Fixed-point math lib**  | Determinism for lockstep                        |
| **Deterministic RNG**     | `Splitmix64` or `xoshiro256**` seeded per-match |

## 29. Voice / Speech-to-Text / Text-to-Speech

| Dependency                  | Used for                                        |
| --------------------------- | ----------------------------------------------- |
| **WebRTC**                  | Voice transport                                 |
| **Opus**                    | Voice codec                                     |
| **Whisper (server)**        | Voice transcription for moderation              |
| **AWS Transcribe**          | Optional alternative                            |
| **Google Speech-to-Text**   | Optional alternative                            |
| **Azure Speech**            | Optional alternative                            |
| **ElevenLabs**              | Optional alternative for synthesized commentary |
| **AI commentary generator** | Internal (Calliope pattern from V1)             |

## 30. Companion App

| Dependency            | Used for                        |
| --------------------- | ------------------------------- |
| **React Native**      | Cross-platform mobile framework |
| **TypeScript**        | Default language                |
| **Expo**              | Optional dev framework          |
| **Apollo Client**     | GraphQL client                  |
| **Sentry**            | Error reporting                 |
| **Apple App Store**   | iOS distribution                |
| **Google Play Store** | Android distribution            |
| **FCM / APNs**        | Push notifications              |
| **Lottie**            | Animations                      |

## 31. Spectator Portal

| Dependency                | Used for                       |
| ------------------------- | ------------------------------ |
| **Next.js**               | Spectator portal framework     |
| **TypeScript**            | Default language               |
| **WebTransport / WebRTC** | Real-time data + video         |
| **HLS**                   | Recorded match playback        |
| **Three.js**              | 3D battle replay visualization |
| **D3.js**                 | Stats visualization            |
| **TailwindCSS**           | Styling                        |

## 32. Internal Oshun Cross-Domain Dependencies

V4 inherits a number of subsystems from the broader Oshun monorepo. Each entry
below is **current** (the V1 implementation exists) unless flagged otherwise.

| Oshun Domain  | What V4 Uses It For                                                       | State   |
| ------------- | ------------------------------------------------------------------------- | ------- |
| **Aja**       | Crypto-payment substrate for in-game economy (where market permits)       | current |
| **Calliope**  | AI-generated commentary for end-of-match reels                            | current |
| **Iris**      | Identity & memory bridge for cross-cell operator persistence              | current |
| **Isis**      | Governed generation for community content moderation (mods, contracts)    | current |
| **Lilith**    | Persona policy + crisis-aware behavior for community speech moderation    | current |
| **Metis**     | Educational tooltips in tutorial / training modes                         | current |
| **Nyx**       | Day/night cycle astronomy data for accurate map skyboxes (where relevant) | current |
| **Psyche**    | Voice synthesis for AI-generated commentary                               | current |
| **Saraswati** | Optional: AI artist persona for in-game radio stations                    | planned |
| **Sophia**    | Grounded answers in tutorial / training modes                             | current |
| **Tara**      | Mindfulness tooling for accessibility (e.g., panic-cool-down screens)     | current |
| **Themis**    | Adjudication for community content disputes (mod takedowns)               | current |
| **Veritas**   | Fact-checking for in-game lore / historical RTS accuracy                  | current |
| **Yemaya**    | Rendering substrate for marketing / trailer cinematics (non-realtime)     | current |
| **Aje**       | Crypto-payment substrate (revenue share for community creators)           | current |
| **Hathor**    | Optional: accessibility audio cues / synaesthetic alerts                  | current |
| **Bellona**   | Optional: combat-mechanic AI advisor for designers                        | current |
| **Arete**     | Crew weekly-review patterns for esports team self-review                  | current |

V4 deliberately reuses Oshun cross-domain infrastructure rather than duplicating
it. Cross-references in `V4_TODOS.md` make the reuse explicit (e.g., `iris§42`
to reference an Iris-domain pattern).

Provider-boundary audit (2026-07-27): `@v4/metis-training-bridge` is the
executable Metis boundary for the Training Range. It admits exact released
publication and lesson records through `@metis/game-bridge-contract`, including
Sophia-owned source-of-record grounding, rights/provenance, learner disclosure,
accessibility, fallback, and media-integrity checks. The bridge produces a
deterministic cook-time manifest only; it does not establish a cooked Unreal
consumer or authorize runtime learning from gameplay signals.
