Templates
Categories:
All GS_PhantomCam extension types are generated through the ClassWizard CLI. The wizard handles UUID generation, cmake file-list registration, and module descriptor injection automatically.
For usage guides and setup examples, see The Basics: GS_PhantomCam.
python ClassWizard.py \
--template <TemplateName> \
--gem <GemPath> \
--name <SymbolName> \
[--input-var key=value ...]
Contents
Phantom Camera Component
Template: PhantomCamera
Creates a custom camera behaviour component, a child of GS_PhantomCameraComponent. Multiple camera components can coexist on a Camera Entity; the GS_CamManagerComponent activates them by priority. Override the follow, look-at, and tick virtuals to define custom camera positioning and aiming logic.
Generated files:
Source/${Name}PhantomCamComponent.h/.cpp
CLI:
python ClassWizard.py --template PhantomCamera --gem <GemPath> --name <Name>
Post-generation: None — cmake and module registration are fully automatic. Override the following virtual methods:
| Method | Purpose |
|---|---|
ProcessPhysicsFollow() | Drive camera position each physics tick using VelocitySpringDamper |
ProcessPhysicsLookAt() | Drive camera rotation using QuaternionSpringDamper |
EvaluateCamTick(dt) | Per-frame camera logic (blend weights, FOV, offsets) |
ProcessTransformFollow() | Position follow when physics is not available |
ProcessTransformLookAt() | Rotation follow when physics is not available |
Extensibility: One component per camera mode (e.g. ThirdPerson, Aim, Dialogue, Cinematic). Components declare incompatibility with GS_PhantomCameraComponentService so only one camera behaviour is active at a time on an entity. Swap active cameras by toggling component activation, or let the CamManager handle priority.
See also: Phantom Cameras — full extension guide with complete header and implementation examples.
See Also
For the full API, component properties, and C++ extension guide:
For all ClassWizard templates across GS_Play gems:
Get GS_PhantomCam
GS_PhantomCam — Explore this gem on the product page and add it to your project.