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 TimeManagerNotificationBus 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
TimeManagerNotificationBus::WorldTickorDayNightChangedon 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.