GS_Environment
Categories:
GS_Environment is the time and world atmosphere gem for GS_Play. It drives a configurable time-of-day clock, broadcasts day/night transition events, exposes per-tick world time notifications for dependent systems, and provides a sky colour configuration asset for Atom renderer integration. The gem depends on GS_Core.
For usage guides and setup examples, see The Basics: GS_Environment.
Contents
Time Manager
The Time Manager singleton owns the world clock. It advances time at a configurable speed, determines whether the current time of day is day or night, and registers the active main camera for sky calculations. Listeners subscribe via the GS_Core TimeEmissionBus to react to time changes or the day/night boundary crossing.
| Component / Asset | Purpose |
|---|---|
| GS_TimeManagerComponent | GS_Play manager. Owns the world clock. Controls time passage speed and exposes day/night state queries. |
| SkyColourConfiguration | Asset class for sky colour settings used by Atom renderer integration. |
Environment System
The system component manages gem-level initialization and global environment state. It runs on AZ::TickBus to advance the world clock each frame and coordinates environment requests across the level.
| Component | Purpose |
|---|---|
| GS_EnvironmentSystemComponent | Runtime system component. Advances the world clock on tick. Handles GS_EnvironmentRequestBus queries. |
Dependencies
- GS_Core (required)
Installation
- Enable GS_Environment and GS_Core in your O3DE project’s gem list.
- Add GS_TimeManagerComponent to your Game Manager prefab and include it in the Startup Managers list.
- Configure the day window (start and end time values) on the Time Manager component.
- Set time passage speed to
0if you want a static time of day, or to a positive value for a live clock. - Call
SetMainCamviaTimeManagerRequestBusonce your active camera entity is known (typically from a stage startup sequence). - Subscribe to the GS_Core
TimeEmissionBus(WorldTick/DayNightChanged) on any entities that respond to time changes.
See Also
For conceptual overviews and usage guides:
For related resources:
Get GS_Environment
GS_Environment — Explore this gem on the product page and add it to your project.