GS_Environment

Time of day progression, day/night cycle management, and sky colour configuration for GS_Play projects.

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 / AssetPurpose
GS_TimeManagerComponentGS_Play manager. Owns the world clock. Controls time passage speed and exposes day/night state queries.
SkyColourConfigurationAsset class for sky colour settings used by Atom renderer integration.

Time Manager API


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.

ComponentPurpose
GS_EnvironmentSystemComponentRuntime system component. Advances the world clock on tick. Handles GS_EnvironmentRequestBus queries.

Environment System API


Dependencies

  • GS_Core (required)

Installation

  1. Enable GS_Environment and GS_Core in your O3DE project’s gem list.
  2. Add GS_TimeManagerComponent to your Game Manager prefab and include it in the Startup Managers list.
  3. Configure the day window (start and end time values) on the Time Manager component.
  4. Set time passage speed to 0 if you want a static time of day, or to a positive value for a live clock.
  5. Call SetMainCam via TimeManagerRequestBus once your active camera entity is known (typically from a stage startup sequence).
  6. Subscribe to TimeManagerNotificationBus::WorldTick or 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.