GS_Juice

Game feel and feedback motion system — GS_Motion extension with transform and material tracks for visual feedback effects.

GS_Juice provides motion-based visual feedback effects for game feel. It extends the GS_Motion system with feedback-specific track types — transform animation (position, scale, rotation) and material property animation (opacity, emissive, color). Effects are authored as .feedbackmotion data assets and played by FeedbackEmitter components on entities.

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

 

Contents


Feedback System

The feedback system follows the standard GS_Motion domain extension pattern. FeedbackMotionTrack is the domain base class, with two concrete track types. FeedbackMotionAsset holds the track definitions. FeedbackMotion is the instance wrapper struct that manages the runtime lifecycle. FeedbackEmitter is the component that plays effects.

Component / TypePurpose
FeedbackEmitterComponent — plays a feedback motion on its entity or a target entity.
FeedbackMotionInstance wrapper struct — asset reference, proxies, runtime composite.
FeedbackMotionAssetData asset (.feedbackmotion) — holds vector<FeedbackMotionTrack*>.
FeedbackMotionTrackDomain base track — extends GS_Core::GS_MotionTrack.
FeedbackTransformTrackConcrete track — position (Vector2Gradient), scale (FloatGradient), rotation (FloatGradient).
FeedbackMaterialTrackConcrete track — opacity (FloatGradient), emissive (FloatGradient), color (ColorGradient).

Feedback API


PostProcessing (Planned)

Planned for post-processing feedback effects (screen distortion, color grading, vignette). Not yet implemented.


System Components

ComponentPurpose
GS_JuiceSystemComponentRuntime system component for GS_Juice.

Dependencies

  • GS_Core (required — provides GS_Motion base system)

Installation

  1. Enable the GS_Juice gem in your project configuration.
  2. Ensure GS_Core is also enabled.
  3. Create .feedbackmotion assets in the O3DE Asset Editor.
  4. Add FeedbackEmitter components to entities that need feedback effects.

See Also

For conceptual overviews and usage guides:

For sub-system references:

For related resources:


Get GS_Juice

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