GS_PhantomCam can be configured at three different tiers depending on what your project needs. Most projects use Tier 1 (single-cam) or Tier 2 (single-player rig). Co-op, split-screen, and per-player-cinematic projects use Tier 3 (multi-channel). The per-cam authoring surface is identical across tiers — what changes is the Cam Manager configuration and how many rigs the system spawns.
This page is a concept primer. For step-by-step Tier 1 / Tier 2 / Tier 3 walkthroughs, common Tier 3 patterns, and the lobby-flow recipe for variable player counts, see the recipes collection.
Channel Tier Configurations (Recipes) API
For architecture details and the full bus surface, see the Framework API reference.
Contents
What Is a Channel?
A channel is one player viewpoint slot. Each channel owns:
- An instantiated rig subtree (one Cam Core + zero or more Phantom Cameras).
- Its own target binding (typically the player unit for that channel).
- Its own priority table — arbitration is independent per channel.
- Its own active influence-field records.
Channel 0 is the implicit default for all single-player flows. You only deal with non-zero channels in Tier 3.
Multi-view rendering is pending. Until the AttachmentImage work lands, the engine renders one channel’s view at a time even when multiple channels are arbitrating internally. The Cam Manager’s active main-view API selects which channel reaches the framebuffer. The arbitration / dispatch / target binding all work today — only the simultaneous-rendering piece is gated.
Choosing a Tier
| Tier | Cam Manager configuration | When to choose it | Recipe |
|---|---|---|---|
| Tier 1 — Single Cam | m_primaryRigPrefab set, m_enableInstancedChannels = false | Single-player projects with a normal camera rig. The default for most games. | Tier 1 walkthrough |
| Tier 2 — Level-placed CamCore | No primary rig prefab, m_enableInstancedChannels = false | Legacy single-player flow where the Cam Core is hand-placed in each level rather than spawned from a prefab. Supported but not preferred. | Tier 2 walkthrough |
| Tier 3 — Multi-Channel | m_enableInstancedChannels = true, m_channelConfigs populated | Split-screen, local co-op, or cinematic projects that need per-player rigs and arbitration. | Tier 3 walkthrough |
You can build a project at Tier 1, then add Tier 3 later by toggling the master gate and authoring channel configs — the per-cam configuration and stage compositions you authored at Tier 1 still work.
The Tier 3 walkthrough recipe also covers common Tier 3 patterns (in-rig per-player cams, shared cinematic collapse cams, hero-perspective cams, cross-channel dispatch) and the lobby flow for variable player counts.
Pitfalls
Tug-field channels are not instancing channels
Tug-field m_channels are arbitrary string tags (“Cinematic”, “Combat”) that match tug volumes to listeners. They are unrelated to the integer ChannelIds on this page despite the shared word. See Tug Fields for the unrelated tagging system.
A cam outside any rig prefab in Tier 3
If you place a Local-scope Phantom Camera in the level (not inside a rig prefab) with multi-channel ON, the stamp-walk misses and the cam falls through to legacy channel 0. This may surprise you. To make a level-placed cam channel-aware in Tier 3, set its scope to TrueUnique with explicit binding.
AllChannels outside a rig prefab
AllChannels-scoped cams outside a rig prefab currently warn and fall back to channel 0. The “out-of-rig runtime cloning” path is deferred. For per-player broadcast cams, place the cam inside the rig prefab.
Cam Manager spawns BEFORE HandleStartup
The Cam Manager spawns configured rigs from OnStartupComplete and only then broadcasts HandleStartup. This means cams inside spawned rigs receive the startup wave alongside everything else — your gameplay code can rely on Cam Cores being registered by the time HandleStartup fires. Stage transitions follow the same pattern: respawn before re-broadcasting HandleStartup.
See Also
Recipes:
- Channel Tier Configurations — step-by-step Tier 1 / 2 / 3 walkthroughs, common Tier 3 patterns, lobby flow.
Framework API:
- Channels & Instancing — Framework API — full bus surface, internal state, spawn pipeline.
- Cam Manager — Framework API — owning component.
Related basics pages:
- The Basics: Cam Manager — manager lifecycle and notifications.
- The Basics: Phantom Cameras — Channel Scope authoring.
Get GS_PhantomCam
GS_PhantomCam — Explore this gem on the product page and add it to your project.