Utilities
GS_Core includes a library of general-purpose components and math helpers available to every system in the framework. These utilities handle common game development tasks — physics overlap detection, value interpolation, animation curves, gradient sampling, and spatial math — so you can focus on gameplay logic rather than reimplementing fundamental patterns.
For full API details and code examples, see the Framework API reference.
Contents
- Physics Trigger Volume
- Easing Curves
- Spring Dampers
- Gradients
- Entity Helpers
- Weighted Random
- Angle Helpers
- Spline Helpers
- Serialization Helpers
- Common Enums
- Glossary
- See Also
Physics Trigger Volume
A reusable physics overlap detector. Handles trigger enter, stay, and exit events with filtering and callback support. Used internally by Pulsors, Targeting Fields, and World Triggers — and available for your own components.
Easing Curves
40+ easing functions organized into families. Every GS_Motion track, spring, and interpolation system in the framework can reference these curves by enum.
| Family | Variants |
|---|---|
| Linear | Linear |
| Quad | In, Out, InOut |
| Cubic | In, Out, InOut |
| Sine | In, Out, InOut |
| Expo | In, Out, InOut |
| Circ | In, Out, InOut |
| Back | In, Out, InOut |
| Elastic | In, Out, InOut |
| Bounce | In, Out, InOut |
Select a curve type via the CurveType enum in component properties, asset fields, or C++ code.
Spring Dampers
15+ spring functions for physically-grounded value interpolation. Springs produce natural-feeling motion that reacts to velocity and acceleration, making them ideal for camera smoothing, UI follow, and any value that should “settle” rather than snap.
| Function | Use Case |
|---|---|
| Simple Spring | Basic spring with damping |
| Acceleration Spring | Spring with acceleration bias |
| Double Spring | Two-stage spring for overshoot effects |
| Timed Spring | Spring that reaches target in a fixed time |
| Velocity Spring | Spring driven by velocity |
| Quaternion Spring | Spring for rotation values |
Gradients
Multi-stop gradient types for sampling values over a range. Used extensively by GS_Motion tracks and GS_Juice feedback tracks to define animation curves.
| Type | What It Samples |
|---|---|
| ColorGradient | RGBA color with positioned markers |
| FloatGradient | Single float value |
| Vector2Gradient | 2D vector |
Gradients are editable in the Inspector with visual marker placement.
Entity Helpers
Utility functions for finding entities in the scene by name.
| Function | What It Does |
|---|---|
GetEntityByName(name) | Returns the entity with the given name. |
GetEntityIdByName(name) | Returns the EntityId of the named entity. |
Weighted Random
Template-based weighted random selection. Given a collection of items with weights, returns a randomly selected item biased by weight. Useful for loot tables, dialogue variation, and procedural placement.
Angle Helpers
Functions for angle and orientation math, plus 22 preset section configurations for direction classification.
| Function | What It Does |
|---|---|
YawFromDir(direction) | Extracts yaw angle from a direction vector. |
QuatFromYaw(yaw) | Creates a quaternion from a yaw angle. |
PickByAngle(angle, sections) | Maps an angle to a section index using a preset configuration. |
Section presets range from 2-section (left/right) to 16-section (compass-style), plus diagonal and cardinal configurations. Useful for animation direction selection and 2D-style facing.
Spline Helpers
Utility functions for working with O3DE spline components.
| Function | What It Does |
|---|---|
FindClosestWorldPoint(spline, point) | Returns the closest point on the spline in world space. |
FindClosestLocalPoint(spline, point) | Returns the closest point in local space. |
FindClosestFraction(spline, point) | Returns the 0–1 fraction along the spline. |
Serialization Helpers
Utility functions for common O3DE serialization patterns. Simplifies working with SerializeContext and EditContext in component reflection.
Common Enums
Shared enumeration types used across the framework.
Glossary
| Term | Meaning |
|---|---|
| Easing Curve | A function that maps linear progress (0→1) to a shaped output for smooth animation |
| Spring Damper | A physically-modeled interpolation function that settles naturally toward a target |
| Gradient | A multi-stop sampler that returns interpolated values (color, float, vector) over a 0→1 range |
| Physics Trigger Volume | A reusable overlap detector that fires enter, stay, and exit callbacks |
For full definitions, see the Glossary.
See Also
For the full API, component properties, and code examples:
For related systems:
Get GS_Core
GS_Core — Explore this gem on the product page and add it to your project.