Reusable Unity utilities for events, timers, scene injection and common project work.
GameInit groups a handful of systems that tend to come up in most Unity projects. Each module can be used on its own, so adding a timer or an event channel does not force a larger project architecture.
Most Unity projects eventually need some of the same plumbing: an event that can cross scene boundaries, a timer that should not depend on an arbitrary coroutine owner, or a simple way to pass a dependency to a component in the current scene.
GameInit keeps those jobs together without turning them into one large framework. There is no required bootstrap and no architecture you have to build the rest of the game around. Use the modules you need and leave the others alone.
| Typed event channels ScriptableObject channels for communication between systems that should not depend directly on each other. |
PlayerLoop timers Schedule time-based work without giving an unrelated component ownership of a coroutine. |
| Scene injection Pass lightweight dependencies inside a scene without introducing a full dependency-injection container. |
Everyday utilities Small helpers for common Unity, hierarchy, animation and lifecycle tasks. |
The event API changed in v1.5. Examples that use targeted events or GameEventChannel belong to
an older version and should not be used for new code.
In Package Manager, choose Add package from git URL and paste:
https://github.com/Natteens/GameInit.git
Or add it to Packages/manifest.json:
{
"dependencies": {
"com.natteens.gameinit": "https://github.com/Natteens/GameInit.git"
}
}For a project that should stay on a known version, append a release tag to the Git URL.
There is no global setup step. Start with the module you need, then follow its guide for the relevant namespace, assets and lifecycle.
As a rule, keep these modules focused on infrastructure: event channels communicate, timers schedule work and scene injection supplies dependencies. Gameplay rules stay in gameplay code.
Setup, API notes and module-specific examples live in Documentation.
Check the changelog before upgrading an existing project, especially when moving to v1.5 or newer because of the event-channel changes.
MIT. See LICENSE.md.