GS_Performer

Modular character rendering via skin slots, paper billboard performers, velocity-driven locomotion, head tracking, and audio babble integration.

GS_Performer is the character rendering and presentation gem for GS_Play. It provides a slot-based skinning system for composing modular character appearances at runtime, a paper (billboard) performer system for 2.5D and top-down projects, velocity-driven locomotion parameter hooks, head tracking, and audio babble. The gem depends on GS_Core and integrates optionally with EMotionFX and GS_Unit.

For usage guides and setup examples, see The Basics: GS_Performer.

 

Contents


Manager

The Performer Manager is a GS_Play manager that owns the global performer registry and coordinates skin slot configuration across the level.

ComponentPurpose
GS_PerformerManagerComponentGS_Play manager. Global performer registry. Coordinates skin slot profiles and performer lookups.

Performer API


Skin Slots

A slot-based system for composing character appearance from swappable actor meshes and material sets. Each slot holds an actor asset and material list. The handler component manages the full set of slots for a character and applies PerformerSkinSlotsConfigProfile presets.

Component / AssetPurpose
PerformerSkinSlotComponentIndividual skin slot. Holds one actor mesh and its material overrides. Addressed by slot ID.
SkinSlotHandlerComponentManages the full collection of skin slots for a character entity. Applies profile presets.
SkinSlotDataData structure holding actor asset and material asset list for a single slot.
PerformerSkinSlotsConfigProfileAsset class defining a named preset of skin slot assignments. Loaded and applied at runtime.

Skin Slot API


Paper Performer

Billboard-based character rendering for 2.5D and top-down games. The facing handler keeps sprite quads oriented toward the camera or a configurable facing target. A camera-aware variant (in GS_Complete) extends this with PhantomCam integration.

ComponentPurpose
PaperFacingHandlerBaseComponentAbstract base for billboard facing logic. Extend to implement custom facing strategies.
PaperFacingHandlerComponentConcrete paper-facing implementation. Orients the entity quad toward the active camera each tick.

Paper Performer API


Locomotion

Velocity-driven animation parameter hooks. The locomotion component samples entity velocity each tick and pushes values into the animation graph, driving blend trees without manual parameter management.

ComponentPurpose
VelocityLocomotionHookComponentReads entity velocity and writes locomotion parameters to the EMotionFX animation graph each tick.
PrefabAnimAssetsReloaderComponentHot-reloads prefab animation assets during development without requiring a full level restart.

Performer API


Head Tracking

Procedural head look-at targeting for performer entities. Drives bone orientation toward a world-space target using configurable angle limits and spring damping.

Head Tracking API


Babble

Audio babble synchronized to dialogue typewriter output. The Babble component generates procedural vocalisation tones keyed to speaker identity and tone configuration, complementing the Typewriter system in GS_Cinematics.

Babble API


Installation

GS_Performer requires GS_Core. EMotionFX and GS_Unit are optional integrations.

  1. Enable GS_Performer and GS_Core in your O3DE project’s gem list.
  2. Add GS_PerformerManagerComponent to your Game Manager prefab and include it in the Startup Managers list.
  3. For skin slots, add SkinSlotHandlerComponent to the character root entity, then add one PerformerSkinSlotComponent per modular slot.
  4. For paper performers, add PaperFacingHandlerComponent to sprite entities that should billboard toward the camera.
  5. For locomotion, add VelocityLocomotionHookComponent to entities with an EMotionFX actor and configure the parameter name bindings.

See Also

For conceptual overviews and usage guides:

For sub-system references:

For related resources:


Get GS_Performer

GS_Performer — Explore this gem on the product page and add it to your project.