Skip to main content
Flow Core Documentation
Menu

Flow Camera

Driving Camera Shots from a Graph

Activate, prioritize, and modify Flow Camera Shots from gameplay logic.

Audience
Gameplay and camera developers
Time
12 minutes
Requires
A Flow Camera controller and at least two Shots
Modules
Flow Camera
On this page

Use Flow Graph Instructions to request camera changes while the Flow Camera controller remains responsible for Channel filtering, priority selection, transitions, and fallback.

Goal

Activate a CloseUp Shot when an event starts, then deactivate it to return to the lower-priority Gameplay Shot.

Video · 0:43Flow CameraWatch authored Camera Shots produce a visible camera result in Play Mode.

Prepare the Shots

Confirm both Shots:

  • belong to Channel Main;
  • have unique Shot Names;
  • are registered and configured with valid poses;
  • use priorities that express the intended fallback order.

Keep Gameplay activated. CloseUp may begin inactive until the graph requests it.

Use each Shot’s Open Full Configuration button to edit identity and priority in Main, then configure its Pose, Transition, and Lens as needed.

Activate a Shot

  1. Open the graph that owns the gameplay event.
  2. Add a reliable Trigger or Entry.
  3. Add an Action.
  4. Add Camera Activate Shot from Camera/Shot.
  5. Target CloseUp through a direct reference or Channel and Shot Name.
  6. Connect a visible follow-up result if the camera change coordinates with UI, animation, or audio.

The running ActivateCloseUp Entry connects to Activate CloseUp; separate Action detail crops show Camera Activate Shot targeting Channel Main and Shot Name CloseUp.

The top runtime Graph shows ActivateCloseUp reaching the Action. The lower native detail crops show the Action identity and its Camera Activate Shot Instruction, using Channel And Shot Name with Main and CloseUp.

Return to the fallback Shot

After the close-up moment completes, run Camera Deactivate Shot for CloseUp. The controller should select the next eligible Shot in Channel Main, which is Gameplay in this setup.

Do not enable and disable Shot GameObjects merely to request ordinary priority changes. Deactivation keeps the component registered while removing it from selection.

Three chronological columns pair controller Debug and Game views for Gameplay, activated CloseUp, and the restored Gameplay fallback.

From left to right: Gameplay, CloseUp after activation, and Gameplay after CloseUp is deactivated. Each column combines the corresponding settled controller Debug state and Game view; Current Shot and Channel Winner agree, and Blending is off.

Extend the graph

Related Instructions let gameplay:

  • set Shot activation from a Bool;
  • change Shot Priority;
  • replace Follow, LookAt, or Orbit targets;
  • change Shot lens values;
  • apply camera shake through a controller;
  • select a controller by main controller, reference, or Channel.

Prefer direct references for tightly owned scene behavior. Use Channel and Shot Name when reusable graph logic should select authored identity. Manage personal picker suggestions in Project Settings > Flow Core > Personal > Names & Whitelists. Runtime lookup still depends on the strings serialized in the graph and scene; it does not depend on a teammate having the same suggestion lists.

Verify the result

On the controller, click Open Full Configuration and select Debug to compare Current Shot and Channel Winner with the visible Game view.

Common Mistakes

SymptomCheck
The Shot is not foundConfirm Channel and Shot Name match serialized identity exactly.
The Shot activates but does not winCompare priority with every other activated Shot in the Channel.
The wrong camera changesCheck controller target mode and Channel.
Fallback leaves no useful viewKeep at least one valid lower-priority gameplay Shot activated.
The transition looks like tracking lagTune transition separately from Follow and LookAt damping.

What You Built

You connected gameplay logic to Flow Camera without transferring camera-selection responsibility into the graph. The graph requests CloseUp; the controller filters the Channel, evaluates priority, plays the transition, and restores the Gameplay fallback after deactivation.