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.