World Time & Game Calendar Plugin for Godot 4
A customizable time and calendar system for your Godot 4 game with signals for creating time based events and UI controls.
Game Time
- The game time system by default, automatically increments the time game seconds and use the GameCalendar to recalculate the current DateTime for the state of your game on process intervals.
- Scale time differently depending on your game needs. (Ex. 1 day in 10 minutes)
- Modify speed of character movement and animations seperately with EngineTimeSpeedSlider or setting Engine.time_scale directly
Calendar Display
- Displays days, weeks, months for any given year including future or past calendar cycles
- Highlights EventDays to show when special days occur in your game like birthdays, festivals, etc
- Updates to show the current day automatically as date progresses on the TimeState
Time of Day & 2D Lighting
- Define special Time of Days that serve as important markers for your game and UI
- Trigger events at specific times of day such as when Dawn or Dusk enters
- Setup light to adjust color and strength settings as the time of day updates.
Ageing
- Age ANY object in the game by giving it an AgeingComponent. When the world AgeState ages, objects tied to the world age as well.
- Replace objects by age is an option baked into AgeingComponent. Total object age is passed into the replacement scene.
- Age is measured by an arbitrary unit threshold you define tied to the TimeState. An age can be days, hours, minutes, etc so you have control over how fast objects age in your game.
- AgeState provides signals for reaching a full age unit threshold and each time the age is modified at all
Tutorials & Updates Playlist
Here's a preview of the main systems and components in this package
There are currently 3 major systems that handle the processing of data and emission of signals through the Time State and AgeState resources.
- Game Time System - Tracks the time and date as real world time progresses by converting it to game time changes and storing game seconds and DateTime data on the TimeState which emits signals as it's values are updated so you can easily create time based events.
- Day Night Cycle System - Uses the HoursTime from the current DateTime in order to determine what time of day it is. After calculating a new TimeOfDay, it is emitted on the TimeState through time_of_day_changed signals. This is useful for game events or lighting that wants to rely on the TimeOfDay as a triggering event like switching the lighting color with TimeOfDayDirectionalLight2D nodes.
- World Age System - After a set amount of game time passing, the world age will increase and emit ageing signals on the world AgeState. This can be used by components like AgeingComponent to age other objects in the game and replace them with new scenes through a nested SceneReplacement resource (switch out a young character to an adult one with different game mechanics for instance)

Useful Components that React to Game Time
- TimeOfDayDirectionalLight2D - Light that reacts in color and intensity as the time of day transitions from one to the next one.
- AddAfterGameSecondsComponent - Calls add(amount : float) on another node after game seconds elapsed. Handy for replenishing depleted resources in the game as time progresses.
- AddWhenAgeingComponent - Calls add(amount : float) on another node after the current age on an AgeData resource increases. Can be another way of replenishing a resource or increasing some other statistic as age milestones are reached in your game.
The plugin README.md has details about setting up each system with relevant signal bus resource objects and components to receive the data from for game play mechanics.
Updated | 7 days ago |
Status | In development |
Category | Assets |
Author | Chris' Tutorials |
Made with | Godot |
Tags | 2D, Godot, godot4, lighting, plugin, time |
Purchase
Get this asset pack and 2 more for $65.00 USD
Buy Now$30.00 $25.50 USD or more
On Sale!
15% Off
In order to download this asset pack you must purchase it at or above the minimum price of $25.50 USD. You will get access to the following files:
World Time 1.0.2 (Godot 4.3) 40 kB
World Time Demo Project v1.0.2 1.3 MB
World Time v1.1.2 - Plugin & Demo [Godot 4.4] 1.9 MB
Development log
- 1.1.2 Ageing Demo, Improvements, and Fixes25 days ago
- 1.1.1 Time Dial26 days ago
- 1.1 Visual Calendar, Weeks, Event Days, and Event Response Scripts30 days ago
- 1.0.2 Starting Date HotfixAug 07, 2024
- 1.0.1 Bug Fixes & Warning ImprovementsMay 10, 2024
- 1.0.0 Release - Stateful Shared ResourcesMay 05, 2024
- 0.4.1 Full Video Tutorial, Useful Tester UIs, and Bug FixesOct 25, 2023
- 0.4 Cleaner Signals and DateTime StructureOct 12, 2023
Comments
Log in with itch.io to leave a comment.
Hey thanks for creating such seamless plugins!
Wanted to double check - are they all allowed to be used commercially after purchase? (World Time, Grid Builder, Item Drop, etc...)
Yes it is allowed to use each plugin for commercial usage in games. Just no repackaging and reselling of the source code itself. Update coming soon for World Time with a visual calendar, weeks, and event days among other improvements.
Edit: Added a license to the project. It's included in the latest version and also listed at the bottom of the store page post (above comments section)