GS_Interaction
Categories:
GS_Interaction provides three independent but composable systems for making the world respond to entities. Pulsors broadcast typed events via physics volumes, the Targeting system finds and locks onto the best interactable in proximity with a cursor overlay, and World Triggers fire configurable responses from zones and conditions without requiring script code.
For architecture details, component properties, and extending the system in C++, see the GS_Interaction API.
Quick Navigation
| I want to… | Feature | API |
|---|---|---|
| Broadcast typed physics events from trigger volumes to receiving entities | Pulsors | API |
| Find and lock onto the best interactable entity in proximity with a cursor overlay | Targeting | API |
| Fire configurable responses from zones and conditions without scripting | World Triggers | API |
Installation
GS_Interaction requires GS_Core, LmbrCentral, LyShine, and CommonFeaturesAtom. Add all required gems to your project before placing Interaction components in a level.
For a full guided walkthrough, follow the Simple Project Setup guide.
Quick Installation Summary
- Enable the GS_Interaction gem in your project configuration.
- Configure physics collision layers for trigger volumes.
- Place Pulsor, Targeting, or World Trigger components on entities as needed.
Pulsors
The Pulsor system is a physics-driven event broadcast layer. A PulsorComponent on any entity with a trigger collider emits a typed pulse event when another entity enters or exits that volume. PulseReactorComponents on the receiving entity listen for those events and respond. Pulse types are polymorphic and registered at runtime, so project-specific types can be added without modifying GS_Interaction.
Targeting
The Targeting system handles “which interactable entity is the player looking at or closest to right now?” A TargetingHandler on the player maintains a live registry of nearby targets, evaluates candidates on demand, and exposes the current target via bus events. Cursor components render a tracking reticle on screen that updates based on the selected target’s properties.
World Triggers
World Triggers are a data-driven system for firing game responses when conditions are met, with no script boilerplate required. TriggerSensor components define the condition side (interact, collider overlap, record check), and WorldTrigger components define the response (set record, toggle entity, change stage, print log). The combination lets most interactive world objects be authored entirely in the editor.
See Also
For the full API, component properties, and C++ extension guide:
For step-by-step project setup:
Get GS_Interaction
GS_Interaction — Explore this gem on the product page and add it to your project.