VETORYX Documentation

VETORYX documentation covers the core framework structure, setup steps, demo scene, and version notes included with the package.

README

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.

QUICK START

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

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.

CHANGELOG

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

BACK TO HOME