Authored months, weekdays and years, dated events, and the weather forecast.

Calendar

By default your world knows time of day and four rotating seasons — but no dates. There is no year, no month names, no weekday names, and because weather is rolled at random the moment it changes, there is no way to tell a player what tomorrow holds.

The Calendar fixes all of that. You author the shape of your year, date events onto it, and players get a real calendar they can open and read.

Find it in World Config → Calendar, next to Weather & Time.

Definition — the shape of your year

The Definition tab is where you invent your calendar:

FieldWhat it does
MonthsAny number of months. Each has a name, a length in days, and a season.
WeekdaysName your weekdays. The week is as long as this list — a 5-day or 10-day week is perfectly valid.
Starting dateWhich year/month/day/weekday the world begins on.
Year LabelHow a year renders — Year {year}, {year} AC, whatever fits your setting.
Forecast DaysHow far ahead players can see the weather. 0 hides the forecast entirely.

A live preview shows what your settings resolve to ("Day 0 of this world is Stoneday, 2 Thaw, 312 AC"), so you can see immediately whether the shape is what you meant.

Months do not have to be equal length, and several months can share a season — three consecutive Winter months read as one continuous winter to everything downstream.

Seasons still do the work

**Your months map onto the engine's four seasons, and that is what keeps everything else working.** Weather weight tables, ambient temperature, seasonal audio and NPC shop season rotation are all driven by the season a day falls in — the calendar only decides when each season falls. Nothing you have already authored against seasons needs changing.

While a calendar is enabled, Season Length (days) in Weather & Time is ignored (and shown disabled), because your months now answer that question.

Events — things that happen on dates

The Events tab is a real grid of your authored year. Click any day to add an event.

SettingWhat it does
RepeatsEvery day, every week on a weekday, every season on a day of the season, every month on a day, every year on a date, or once on a specific date.
Season / Day of the seasonFor every season: which season (or Every season), and which day of it — 1 is the season's first day.
Runs until the season endsFor every season: the event lasts from its day to the season's last day, however long you make your months.
DurationHow many days the event runs. It may cross month and year boundaries freely. Hidden for every day (always one day) and for runs until the season ends.
Time of dayAll day (midnight to midnight), or Between two times on the in-game clock. An end time earlier than the start runs past midnight — 20:00 to 02:00 is a night event. Studio shows how long that is in real time at your day length.
AnnouncementsA toast and/or a chat line, broadcast when the event starts — for a timed event, each time its window opens.
Forced WeatherHolds the weather while the event runs. An all-day event pins every day it covers (and the forecast shows it); a timed one holds it only inside its window, then the day's own weather returns.
On-Start ScriptA common event fired server-side when the event starts, for anything scripted.
World EventA world event (authored in World Config → World Events) to run while the event runs — XP/loot/gathering boosts, boss spawns, mob waves, zone scoping.
Art & ColourThe image and chip colour players see on their calendar.
VisibilityPublic shows on the player calendar. Hidden runs its script without players ever seeing it.

Events are content, so they publish to your live server like any other definition.

Seasonal, weekly and daily events

These three cover most of what a living world needs:

You wantSet it up like this
A festival that lasts all winterEvery season → Season Winter, Day 1, tick Runs until the season ends.
A fair at the start of every seasonEvery season → Season Every season, Day 1, Duration 2.
A market day each weekEvery week → the weekday, All day.
An evening event on one weekdayEvery week → the weekday, Between two times 18:00–23:00.
A night event every nightEvery dayBetween two times 20:00–02:00.
A dawn event every morningEvery dayBetween two times 05:00–08:00.

To give one a gameplay effect:

1. Under World Config → World Events, author the effect — for example **Gathering Frenzy at 1.5 — and set its schedule to Manual**. 2. Under World Config → Calendar → Events, click New Event, pick how it repeats and its time of day, and choose that world event in World Event. 3. Save. It reaches your live server straight away — no restart needed.

Every-day events are listed once, in an Every day strip above the month grid, rather than in every day's cell.

> Everything runs on your world's clock, not the real one. A daily event comes round > once per in-game day. With a 60-minute day that is every real hour, and a 20:00–02:00 > window is 15 real minutes. A season lasts as many real hours as it has days. Check the > real-time note under Time of day when you set the hours.

When events overlap, boosts stack

Running world events multiply together: a winter-long 1.25× XP event and a weekly XP day give 2.5× on that day, and 1.25× again the moment the weekly one ends. A boost that is still running is never reset by another one finishing.

Where the gameplay effects come from

A calendar event schedules; a World Event is the payload. World Events already own XP / loot / gathering / crafting / speed multipliers, bloodmoon, boss spawns, mob waves and zone scoping — but they could only be scheduled in real time (an interval in milliseconds, or a wall-clock start), so "the 14th of Emberfall is a double-XP festival" was impossible to express.

Linking one in the World Event field fixes that: the calendar becomes the in-game-date scheduler World Events never had, and the world event runs for as long as your calendar event runs — its days, or its time window — overriding its own real-time duration.

So a double-XP day is two pieces:

1. Under World Events, author an event with effect XP Boost and a multiplier, and set its schedule to Manual so it only fires when something asks it to. 2. Under Calendar → Events, add an event on the date you want, set Duration to 1 day (or 7 for a week), and pick that world event.

Studio warns you if the world event you picked is disabled, or is still on its own recurring timer — in that case it fires on its own as well as on your date.

> Changing the current weather right now is separate from all of this: use > World Config → Weather & Time → Weather, which applies live — everywhere, in every > climate — when you change it and save. Saving other settings, or publishing, does not > re-apply the same pick. Bear in mind it is transient — the world keeps rolling weather > on its own. To make a date always have certain weather, use a calendar event's > Forced Weather instead.

The forecast

Daily weather is now deterministic: it is rolled from your world seed and the day number rather than at random. The odds are unchanged — the same season weight tables you already tuned — but because any future day can be computed, a forecast becomes possible at all, and every player sees the same one.

Weather still drifts within a day: roughly every 1–4 hours on your world's clock, it re-rolls from the same season table. It can roll the weather that's already running, which is why a common weather lingers and a rare one passes through — a 25%-weight snowfall lasts about a third longer than a 10%-weight blizzard, without either having a duration you set anywhere.

Because that window is measured in **game hours, not real minutes, it follows your day length**. Set a four-hour day and weather changes just as often per in-game day as it does on a one-hour day — it simply takes four times as long in real time. The same is true of how fast an arriving weather builds to full strength (a little over half a game hour). If you want a weather to last an exact length of time, use a schedule — its window is authored in game hours directly.

On a day an all-day event has pinned, weather doesn't drift at all. A timed event's weather holds only while its window is open and never appears in the forecast.

If your world has Weather Climates, every climate has its own forecast, and a player's calendar shows the forecast for the climate they are standing in — walk into the snowfield and the week ahead turns to snow.

What players see

Players have four ways into the Calendar panel:

  • The weather, time and date chips in the top bar are buttons (a dotted underline
marks them as clickable) — clicking any of them opens the calendar.
  • A Calendar entry in the top bar's More menu.
  • The , (comma) key — rebindable like every panel key.
  • Custom menu buttons and top-bar buttons a creator points at the panel.calendar
action.

The panel shows:

  • This month's grid, today ringed, in your month and weekday names
  • Forecast icons on each day inside your forecast horizon
  • Event chips, with a detail popover showing when it happens, the description and art
  • An Every day strip for daily events, with their hours and a Now marker while
one is running
  • A Coming up rail — "Harvest Festival — in 3 days", with the start time for timed
events and Now while one is on. Each event appears once, at its next start.
  • Arrows to page through other months
The panel is a normal customizable panel (id calendar), so the UI & HUD Editor can re-skin and reposition it like any other window.

The clock and the date in the HUD

The top-bar time chip shows a real clock — 14:32 · Afternoon by default. Pick the format in the UI & HUD Editor's Top Bar tab (Clock format): 24-hour, 12-hour, with or without the phase word, or phase-only for the classic look. When a calendar is driving the world, a date line ("Moonday 14 Emberfall") appears beside it.

There is also a standalone World Clock HUD element (Layout tab → World Clock) — hidden by default — that a creator can place, scale and anchor anywhere on screen. It shows the clock plus the calendar date, and clicking it opens the calendar too.

Turning it off

The Calendar feature flag is on by default, but a calendar only drives dates and seasons once you tick "Calendar drives the world's dates & seasons". Until then the world keeps fixed-length seasons and shows no date line — the chips still open the panel (clock + forecast over the default calendar) so players always have a weather forecast. With the feature flag off entirely, the panel, button and keybind disappear.

Things worth knowing

  • Reshaping your year moves existing dates. Dates are derived from a day counter, so
shortening or removing a month can shift what "today" is. Studio warns you, and blocks the save if any event would land on a date your calendar no longer has.
  • Each world keeps its own date. The day counter is live server state, not content —
publishing a calendar to a running world never rewinds the date players are living in.
  • Weekday-driven content follows your week. Systems keyed to a weekday wrap on your
authored week length, so weekday 3 of a 5-day week means what you'd expect.
  • Events start on time, including after a restart. An event opens the minute its day
or window begins. If your server restarts or rolls to a new version mid-festival, the festival's world event starts again as soon as it is back. Announcements go to whoever is online when the event opens.
  • Deleting or moving a running event ends it. Publish a change that takes an event
off today (or out of the current hours) and its world event stops right away.
  • Jumping the clock skips what you jump over. Setting the time or season from the
admin tools starts whatever is running at the new time; events you jumped past don't fire.
  • An every-day event with no time of day is always on. Give it two times, or use a
weekly or seasonal event instead.
  • "Day of the season" must exist in that season. Studio blocks Day 30 of a 24-day
winter. With Every season picked, the day must exist in the shortest one.