What would you like to see?
Add a runtime-agnostic scheduling API on top of the game's native TimedCallback and S1API.GameTime.TimeManager.
A mod author should be able to schedule a one-shot callback after a number of in-game minutes and receive a managed handle supporting cancellation and reset. The scheduling call should explicitly expose the native end-of-day and time-skip behavior as options.
Why would this help?
Mods commonly need delayed quest actions, NPC behavior, cooldowns, and world events that follow game time rather than real time. Today they must construct the native callback and bridge System.Action/Il2CppSystem.Action themselves or rebuild timing on top of OnTick.
Extra Context (Optional)
The handle should detach and become inert across menu/scene teardown so stale callbacks do not retain mod state. Recurring schedules, persisted timers, cron-like calendars, and custom networking should remain separate work.
Add focused tests for cancel/reset semantics and validate normal ticking, sleep/time skip, end-of-day, return-to-menu, and reload separately on Mono and IL2CPP.
What would you like to see?
Add a runtime-agnostic scheduling API on top of the game's native
TimedCallbackandS1API.GameTime.TimeManager.A mod author should be able to schedule a one-shot callback after a number of in-game minutes and receive a managed handle supporting cancellation and reset. The scheduling call should explicitly expose the native end-of-day and time-skip behavior as options.
Why would this help?
Mods commonly need delayed quest actions, NPC behavior, cooldowns, and world events that follow game time rather than real time. Today they must construct the native callback and bridge
System.Action/Il2CppSystem.Actionthemselves or rebuild timing on top ofOnTick.Extra Context (Optional)
The handle should detach and become inert across menu/scene teardown so stale callbacks do not retain mod state. Recurring schedules, persisted timers, cron-like calendars, and custom networking should remain separate work.
Add focused tests for cancel/reset semantics and validate normal ticking, sleep/time skip, end-of-day, return-to-menu, and reload separately on Mono and IL2CPP.