
A lightweight, zero-GC, attribute-based tick system for scheduling code execution at fixed intervals.Unity 2021.3+ CompatibleSchedule game logic with a single line. No Update, no boilerplate, no GC.Write less update code. No coroutines. No InvokeRepeating.Simple[Tick] is a zero-GC tick scheduler for Unity that lets you run methods at set intervals with clean [Tick] attributes or dynamic OnTick.Schedule() (or ScheduleNoAlloc for no GC) calls... No boilerplate, no coroutine mess, no garbage.Perfect for cooldowns, periodic logic, and background tasks, Simple[Tick] supports both scaled time (paused with the game) and unscaled time (real-time). Whether you're ticking a UI clock, polling a server, or regenerating health, this system has you covered!Just drop it in and go. One component handles everything. No reflection, no magic. Just clean, fast execution.This system is useful for:Cooldowns and ability timersHealth regeneration ticksAI pathfinding or scan intervalsSave autosync or cloud checksMultiplayer ping/polling intervalsTime-based UI updates (e.g., clock, event countdown)Lightweight alternative to coroutines or InvokeRepeatingAny situation where you want repeatable or one-off timed executionAttribute-Based CallbacksUse [Tick(interval, mode)] on parameterless methods for effortless scheduling. No setup or boilerplate required.Dynamic Scheduling APICall OnTick.Schedule() or OnTick.ScheduleOnce() at runtime to queue repeatable or one-time logic.GC-Free SchedulingUse OnTick.ScheduleNoAlloc() to schedule ticks with zero garbage collection allocation. Ideal for performance-critical systems.Scaled and Unscaled TimeSupports both Time.deltaTime and Time.unscaledDeltaTime using TickMode for full control over game-time or real-time updates.Pause and Resume SupportPause or resume individual ticks at runtime for flexible control.Single Component ManagementA single OnTick component manages all tick logic in the scene. No need for additional managers or per-object schedulers.No Reflection [Tick] methods are compiled directly into delegates for fast, efficient invocation.Drop-In IntegrationSimply add OnTick to a GameObject to get started. No special setup required.Clean, Lightweight APIThe codebase is readable, minimal, and free of external dependencies. Easy to learn and integrate.TickValidatorAutomatically verifies [Tick] methods on scene load to ensure they are valid and safe to run.Scoped Tick Handles TickHandle implements IDisposable, allowing automatic unscheduling using using blocks. Useful for tools, tests, or temporary logic.Custom Error HandlingAssign error callbacks to individual ticks to handle failures safely without halting the scheduler.Supports Up to 3 ArgumentsDynamically scheduled methods can accept up to three parameters using overloads. No need to use closures unless desired.MonoBehaviour-Decoupled BackendCore tick logic is decoupled from Unity’s Update() loop. The system is portable and suitable for custom use beyond Unity if needed.Fully DocumentedIncludes in-code XML summaries, usage examples, and integration notes for every feature. Designed to be easy to pick up and extend.