GS_Juice
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 / Type | Purpose |
|---|---|
| FeedbackEmitter | Component — plays a feedback motion on its entity or a target entity. |
| FeedbackMotion | Instance wrapper struct — asset reference, proxies, runtime composite. |
| FeedbackMotionAsset | Data asset (.feedbackmotion) — holds vector<FeedbackMotionTrack*>. |
| FeedbackMotionTrack | Domain base track — extends GS_Core::GS_MotionTrack. |
| FeedbackTransformTrack | Concrete track — position (Vector2Gradient), scale (FloatGradient), rotation (FloatGradient). |
| FeedbackMaterialTrack | Concrete track — opacity (FloatGradient), emissive (FloatGradient), color (ColorGradient). |
PostProcessing (Planned)
Planned for post-processing feedback effects (screen distortion, color grading, vignette). Not yet implemented.
System Components
| Component | Purpose |
|---|---|
| GS_JuiceSystemComponent | Runtime system component for GS_Juice. |
Dependencies
- GS_Core (required — provides GS_Motion base system)
Installation
- Enable the GS_Juice gem in your project configuration.
- Ensure GS_Core is also enabled.
- Create
.feedbackmotionassets in the O3DE Asset Editor. - Add
FeedbackEmittercomponents 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.