This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

GS_Environment

World time and environmental systems for GS_Play — time-of-day progression, day/night cycle management, and data-driven sky configuration.

GS_Environment manages the living world — the passage of time, the shift between day and night, and the visual appearance of the sky. It provides a singleton time authority that other systems subscribe to for world tick events and phase-change notifications, decoupling every time-dependent system from managing its own clock. Sky presentation is data-driven through configuration assets.

For architecture details, component properties, and extending the system in C++, see the GS_Environment API.


Quick Navigation

I want to…FeatureAPI
Control world time, time passage speed, or respond to day/night changesTime ManagerAPI
Define how the sky looks at different times of day with data assetsSky ConfigurationAPI

Installation

GS_Environment requires GS_Core and the Atom renderer. Add both to your project.

For a full guided walkthrough, follow the Simple Project Setup guide.

 

Quick Installation Summary

  1. Enable the GS_Environment gem in your project configuration.
  2. Create a Time Manager prefab and add it to the Game Manager’s Managers list.
  3. Create SkyColourConfiguration assets for your sky appearance.

Time Manager

The Time Manager is the singleton authority for world time. It advances time each tick according to a configurable speed, exposes query and control methods, and broadcasts WorldTick and DayNightChanged events so any system can react to time progression without polling.

Time Manager API


Sky Configuration

The Sky Configuration system defines how the sky looks at different times of day through data assets. SkyColourConfiguration assets hold colour values for dawn, midday, dusk, and night — swappable per-region, per-weather, or per-level without modifying entity hierarchies.

Sky Configuration API


See Also

For the full API, component properties, and C++ extension guide:

For step-by-step project setup:


Get GS_Environment

GS_Environment — Explore this gem on the product page and add it to your project.

1 - Time Manager

How to work with the GS_Play Time Manager — world time, day/night cycles, and time passage control.

The Time Manager is the singleton controller for world time in your project. It drives the time-of-day value, controls how fast time passes, determines day/night state, and broadcasts timing events that other systems (lighting, AI schedules, environmental effects) can react to.

For component properties and API details, see the Framework API reference.

Time Manager component in the O3DE Inspector

 

Contents


How It Works

The Time Manager maintains a continuous time-of-day value. Each frame, it advances the time based on the configured passage speed and broadcasts a WorldTick event. When the time crosses the day/night threshold, it broadcasts DayNightChanged.

You set the main camera reference so the Time Manager can position sky effects relative to the player’s view.


Controlling Time

ScriptCanvas NodeWhat It Does
SetTimeOfDay(time)Sets the current time of day directly.
GetTimeOfDayReturns the current time of day.
SetTimePassageSpeed(speed)Controls how fast time advances (multiplier).
GetWorldTimeReturns the total elapsed world time.
IsDayReturns whether it is currently daytime.
SetMainCam(entity)Sets the camera entity for sky positioning.

ScriptCanvas

Time Manager entity setup in the O3DE Editor


Responding to Time Events

Time Manager entity setup in the O3DE Editor


Time Manager Entity Configuration

Time Manager entity setup in the O3DE Editor

In order to drive many of the environment effects and weather systems, the Time Manager needs many entities and components available to it.

EntityWhat It Does
SkyPivotThis entity holds all the rest of the celestial entities. It’s pivot is the pivot of the planet.
Sun / MoonTwo directional lights, pointed in opposite directions. One is disabled at a time and has it’s colours and intensities handled by the Time Manager sky configuration profile.
Moon BodyA graphic, placed in the sky relative to the moon directional light. Purely Cosmetic.
Planet AxisAn entity that carries celestial bodies at an offset. They spin with the rest of the sky. Purely Cosmetic.
StarsThe stars component. If it’s inside the pivot, the stars follow the rotation of the sky.

Quick Reference

NeedBusMethod / Event
Set time of dayTimeManagerRequestBusSetTimeOfDay(time)
Get current timeTimeManagerRequestBusGetTimeOfDay
Check if daytimeTimeManagerRequestBusIsDay
Change time speedTimeManagerRequestBusSetTimePassageSpeed(speed)
React to time ticksTimeManagerNotificationBusWorldTick
React to day/night changeTimeManagerNotificationBusDayNightChanged

Glossary

TermMeaning
World TimeThe continuously advancing time-of-day value maintained by the Time Manager
Time Passage SpeedA multiplier controlling how fast world time advances each frame
Day/Night PhaseThe current phase (day or night) determined by the time-of-day threshold

For full definitions, see the Glossary.


See Also

For the full API, component properties, and C++ extension guide:

For related systems:


Get GS_Environment

GS_Environment — Explore this gem on the product page and add it to your project.

2 - Sky Configuration

How to work with GS_Play sky configuration — data-driven sky color settings for time-of-day transitions.

Sky Colour Configuration assets define the visual appearance of the sky at different times of day. These are data assets created in the O3DE Asset Editor that the Time Manager references to drive sky color transitions as time progresses.

For asset structure and property details, see the Framework API reference.

Sky Colour Configuration asset in the O3DE Asset Editor

 

Contents


How It Works

A Sky Colour Configuration asset defines color values for key times of day (dawn, midday, dusk, night). The Time Manager samples the configuration based on the current time of day and interpolates between the defined colors to produce smooth transitions.

Different environments (desert, forest, underwater) can use different configuration assets. Swapping the active configuration changes the sky appearance without modifying entity hierarchies.


Glossary

TermMeaning
SkyColourConfigurationA data asset defining sky color values for dawn, midday, dusk, and night

For full definitions, see the Glossary.


See Also

For the full API, component properties, and C++ extension guide:

For related systems:


Get GS_Environment

GS_Environment — Explore this gem on the product page and add it to your project.