VETORYX documentation covers the core framework structure, setup steps, demo scene, and version notes included with the package.
Building Unity projects often leads to tight coupling, scattered logic, and systems that become harder to maintain over time.
VETORYX is a modular, event-driven architecture framework designed to solve that.
It provides lifecycle-driven module orchestration, decoupled communication via EventBus, and a clean separation between core logic and Unity-specific implementation — helping Unity projects stay scalable and maintainable whether they are started from scratch or integrated gradually into an existing codebase.
QUICK START
Import VETORYX
Import the package into your Unity project and wait for compilation to complete.
Open a Demo Scene
VETORYX/Demo/Scenes/
VETORYX_Demo_Builtin.unity
VETORYX/Demo/Scenes/
VETORYX_Demo_Secondary.unity
For the complete setup process, including demo scene configuration and input settings, see QUICKSTART.md in the Docs folder.
INPUT SETUP
1. Add both demo scenes to Build Settings.
2. Set Active Input Handling to Both.
Edit → Project Settings → Player
Press Play
VETORYX_Demo_Builtin
• Space → increases score
• S → Save
• L → Load
Demonstrates event-driven score updates and the included demo save/load flow.
VETORYX_Demo_Secondary
• Space → toggles between Menu and Gameplay states
Demonstrates structured state transitions via GameStateModule.
Both scenes run without runtime errors.
The modular architecture is initialized correctly.
CORE ARCHITECTURE OVERVIEW
VETORYX is built around a modular lifecycle system.
Core components include:
• IModule interface
• ModuleRegistry
• Lifecycle phases (Register → Initialize → Start → Shutdown)
• Central EventBus for decoupled communication
• Clear separation between domain logic and Unity integration
Systems communicate through structured events, not direct references.
INTEGRATION INTO EXISTING UNITY PROJECTS
VETORYX is designed to be integrated into existing Unity projects without forcing a full rewrite of your current systems.
You do not need to replace your gameplay logic, scene setup, input handling, save logic, UI controllers, scene flow, or existing MonoBehaviours all at once.
Instead, VETORYX can be introduced gradually, one system or feature at a time.
A typical integration flow looks like this:
1. Import VETORYX into your Unity project.
2. Open the first scene that runs when your game starts.
3. Create an empty GameObject in that scene.
4. Add the VETORYXApplicationBootstrapper component to that GameObject.
5. Press Play to let the bootstrapper initialize the core VETORYX runtime.
6. Connect existing systems through events, adapters, or small bridge components.
7. Move logic into VETORYX modules only when it makes sense.
This allows your current project structure to remain intact while VETORYX provides a cleaner orchestration layer around it.
For example, an existing score system, save system, UI controller, or scene loader can keep its current implementation.
VETORYX can publish and listen to events around those systems, making communication cleaner without breaking the original behaviour.
The goal is not to replace your project architecture overnight.
The goal is to give your project a stable modular layer that can grow with it.
See Docs/INTEGRATION.md for the full Integration guide.
CORE SYSTEMS AND MODULES
VETORYX includes core systems and modules implemented within the same modular architecture exposed to the user.
Core systems and modules include:
• EventBus for decoupled communication
• ModuleRegistry for module lifecycle management
• GameStateModule for game state flow
• InputModule for input abstraction
• DemoSaveModule for the included demo save/load flow
• DiagnosticsModule for diagnostics and runtime feedback
• SceneManagementModule for scene management flow
Each module:
• Registers through the ModuleRegistry
• Participates in the lifecycle pipeline
• Communicates through EventBus where appropriate
• Avoids direct system coupling
• Can be extended or replaced depending on project needs
FOLDER STRUCTURE
VETORYX/
├── Core/
├── Modules/
├── Runtime/
├── Demo/
├── Docs/
EXTENDING THE SYSTEM
1. Implement IModule.
2. Register the module through ModuleRegistry.AddModule(...).
3. Use EventBus for communication where appropriate.
4. Avoid direct references between modules.
COMPATIBILITY
• Unity 2022.3 LTS recommended
• Unity 6 / 6000.x
• No required third-party dependencies
TESTED WITH
• Unity 2022.3 LTS
• Unity 6000.x
VETORYX is not a template.
It is a structural foundation for Unity projects that need to scale cleanly.
Get a working modular architecture running in under 3 minutes.
Requirements
• Unity 2022.3 LTS recommended or Unity 6000.x
• No required third-party dependencies
• Compatible with Legacy Input Manager and the new Input System
Import VETORYX
Import the package into your Unity project.
Wait for Unity to finish compilation before continuing.
After import, the project structure will include:
VETORYX/
├── Core/
├── Modules/
├── Runtime/
├── Demo/
├── Docs/
Open a Demo Scene
VETORYX/Demo/Scenes/
VETORYX_Demo_Builtin.unity
VETORYX/Demo/Scenes/
VETORYX_Demo_Secondary.unity
Input Setup
1. Add both demo scenes to Build Settings.
2. Set Active Input Handling to Both.
Edit → Project Settings → Player
Press Play
VETORYX_Demo_Builtin
• Press Space → increases score
• Press S → Save
• Press L → Load
VETORYX_Demo_Secondary
• Press Space → toggles between Menu and Gameplay
Expected Result
• UI updates in real time
• Console shows system event logs
• No runtime errors in Console
Tested With
• Unity 2022.3 LTS
• Unity 6000.x
INTEGRATION INTO EXISTING UNITY PROJECTS
VETORYX is designed to be integrated into existing Unity projects without forcing a full rewrite of your current systems.
You do not need to replace your gameplay logic, scene setup, input handling, save logic, UI controllers, scene flow, or existing MonoBehaviours all at once.
Instead, VETORYX can be introduced gradually, one system or feature at a time.
The goal is to add a stable modular layer around your project without breaking the systems that already work.
RECOMMENDED INTEGRATION PATH
1. Import VETORYX into your Unity project.
2. Open the first scene that runs when your game starts.
3. Create an empty GameObject in that scene.
4. Add the VETORYXApplicationBootstrapper component to that GameObject.
5. Press Play to let the bootstrapper initialize the core VETORYX runtime.
6. Connect existing systems through events, adapters, or small bridge components.
7. Move logic into VETORYX modules only when it makes sense for your project.
This approach allows VETORYX to support your existing project structure instead of replacing it immediately.
APPLICATION BOOTSTRAPPER
For your own project startup scene, use VETORYXApplicationBootstrapper.
VETORYXApplicationBootstrapper is a MonoBehaviour component.
Add it to a GameObject in the first scene that runs when your game starts.
During Awake, VETORYXApplicationBootstrapper initializes the core runtime layer by:
1. Clearing the shared VETORYX service container.
2. Registering a new EventBus service.
3. Creating a ModuleRegistry instance.
4. Adding the default core modules to the registry.
5. Running the module lifecycle.
By default, the application bootstrapper registers:
• GameStateModule
• InputModule
These modules are added in code through ModuleRegistry.AddModule(...).
The module lifecycle then runs in this order:
1. RegisterAll
2. InitializeAll
3. StartAll
When the bootstrapper is destroyed, registered modules are shut down through ShutdownAll and the shared service container is cleared.
DEMO BOOTSTRAPPER
The included demo scenes use VETORYXDemoBootstrapper.
VETORYXDemoBootstrapper is intended for the included demo scenes and demonstrates the demo save flow.
The demo bootstrapper registers:
• DemoSaveModule
For your own project startup scene, use VETORYXApplicationBootstrapper instead of VETORYXDemoBootstrapper.
CORE RUNTIME SYSTEMS AND MODULES
VETORYX includes the following core systems and modules:
• EventBus for decoupled communication
• ModuleRegistry for module lifecycle management
• GameStateModule for game state flow
• InputModule for input abstraction
• DemoSaveModule for the included save demo flow
• DiagnosticsModule for diagnostics and runtime feedback
• SceneManagementModule for scene management flow
Not every module needs to be used at the same time.
Existing projects can start with the application bootstrapper and core runtime, then connect additional systems gradually depending on the project structure.
KEEPING EXISTING SYSTEMS INTACT
Existing Unity projects often already contain working gameplay systems, scene flows, UI controllers, save logic, input logic, and MonoBehaviours.
VETORYX does not require those systems to be removed before the framework can be used.
For example, an existing score system, save system, UI controller, scene loader, or input handler can keep its current implementation.
VETORYX can publish and listen to events around those systems, making communication cleaner without changing the original behaviour.
USING EVENTS AND BRIDGE COMPONENTS
When integrating VETORYX into an existing project, bridge components can be used to connect old systems with the new modular architecture.
A bridge component can listen to an existing MonoBehaviour, Unity event, UI action, or gameplay trigger, then publish a structured VETORYX event.
Other modules or systems can react to that event without needing direct references to the original system.
This keeps the integration safe and gradual.
Existing systems can continue working while VETORYX introduces cleaner communication between them.
WHAT VETORYX DOES NOT REQUIRE
VETORYX does not require you to:
• Rewrite your entire project architecture
• Replace every existing MonoBehaviour
• Move all systems into modules immediately
• Remove your current scene structure
• Rebuild existing gameplay logic from scratch
• Change every system before testing the framework
You can start small and expand only when the structure makes sense for your project.
EXAMPLE USE CASES
VETORYX can be introduced around existing systems such as:
• Score systems
• Save and load systems
• UI controllers
• Scene loading logic
• Game state transitions
• Input handling
• Gameplay events
• Diagnostics and debug flows
These systems can remain in place while VETORYX provides a cleaner orchestration layer around them.
PURPOSE
The goal is not to replace your project architecture overnight.
The goal is to give your existing Unity project a stable modular foundation that can grow with it.
VETORYX helps reduce direct dependencies, centralize communication, and make project structure easier to maintain over time.
All notable changes to VETORYX are documented here.
[1.1.0] — Initial Public Release
Added
• Core modular architecture (IModule, ModuleRegistry)
• Central EventBus for decoupled system communication
• Lifecycle-based module orchestration pipeline
• GameStateModule for Menu ↔ Gameplay state flow
• InputModule with input abstraction through IInputService
• DiagnosticsModule for diagnostics and runtime feedback
• SceneManagementModule for scene management flow
• DemoSaveModule for the included save/load demo flow
Core Systems and Modules
GameStateModule
• Handles structured runtime state transitions
• Demonstrates Menu ↔ Gameplay flow
• Participates in the modular lifecycle pipeline
InputModule
• Provides input abstraction through IInputService
• Supports demo input flow
• Works with Active Input Handling set to Both
DemoSaveModule
• Provides the included demo save/load flow
• Demonstrates event-driven persistence behaviour
• Registers through the module lifecycle pipeline
SceneManagementModule
• Supports scene management flow
• Allows scene-related systems to be integrated through the modular architecture
• Avoids direct coupling between scene logic and other systems
DiagnosticsModule
• Provides diagnostics and runtime feedback
• Helps demonstrate system activity during runtime
• Supports clearer debugging during demo execution
Demo Scenes
• VETORYX_Demo_Builtin — event flow and demo save/load demonstration
• VETORYX_Demo_Secondary — state orchestration demonstration
• UI state display components
• Working modular architecture examples
Documentation
• README.md — architecture overview
• QUICKSTART.md — setup guide
• INTEGRATION.md — existing project integration guide
• CHANGELOG.md — release history
• Structured documentation directory
Tested With
• Unity 2022.3 LTS
• Unity 6000.x