ScriptableObject-based event system for decoupling game components.
Includes 12 event types, Variables with GPU Sync, Runtime Sets, monitoring tools, and editor integration.Reactive SO is a ScriptableObject-based event system that enables complete decoupling between game components in Unity.Instead of hard-coding dependencies between scripts, you create event channel assets that act as intermediaries - publishers raise events, subscribers listen, and neither needs to know about the other.Key Features12 Event Channel types (Void, Int, Float, Long, Double, Bool, String, Vector2, Vector3, Quaternion, Color, GameObject)Variables System - Reactive ScriptableObject variables with automatic event notification (11 types)GPU Sync - Automatic synchronization of Variables to shader global properties (works with Compute Shaders, Fragment Shaders, and Particle Shaders)Runtime Sets System - Dynamic collection management for tracking objects at runtime3 Monitor Windows - Real-time monitoring for Events, Variables, and Runtime SetsDependency Analyzer - Detect unused assets and unassigned fields before they cause runtime errorsFully CustomizableAll source code included - no DLLsCreate custom event types by inheriting from EventChannelSOCreate custom variables by inheriting from VariableSOCreate custom runtime sets by inheriting from RuntimeSetSOSupports any serializable type through generic base classesUniversal Genre CompatibilityThis system works for ANY game genre,Action/FPS ... Player death events, weapon pickup notifications, ammo trackingRPG ... Quest completion, inventory updates, stat changes, party managementStrategy ... Unit selection, resource gathering, turn events, unit trackingPuzzle ... Level complete, combo triggers, hint systemsMobile/Casual ... Score updates, power-up collection, UI notificationsPerfect ForLarge projects with multiple developers (clear communication contracts)Rapid prototyping (add/remove systems without refactoring)Clean architecture enthusiasts (SOLID principles, Observer pattern)Teams with designers/non-programmers (visual event flow via assets)GPU-driven effects that need to react to gameplay stateWhat Makes It DifferentUnlike other event systems, Reactive SO provides zero-overhead caller tracking (see exactly which method raised each event), comprehensive editor tools (real-time monitoring, dependency analysis, manual testing),GPU Sync for shader integration, and a complete reactive data solution (Variables + Runtime Sets) - all without sacrificing performance or simplicity.Event Channels12 built-in types (Void, Int, Float, Long, Double, Bool, String, Vector2, Vector3, Quaternion, Color, GameObject)Generic base class (EventChannelSO) for custom typesZero-overhead caller tracking using compile-time attributesCustom Inspector with subscriber list and manual event triggersVariables System11 built-in types (Int, Float, Long, Double, Bool, String, Vector2, Vector3, Quaternion, Color, GameObject)Generic base class (VariableSO) for custom typesAutomatic event firing on value change using EqualityComparerRuntime value editing and Reset to Initial button in InspectorGPU Sync - Automatic sync to shader global properties via Shader.SetGlobal~() (6 types: Int, Float, Vector2, Vector3, Color, Bool)Runtime Sets SystemGeneric base class (RuntimeSetSO) for any typeBuilt-in GameObject and Transform types with custom editorsAutomatic event firing when items added/removedClick-to-ping functionality in Hierarchy from InspectorEditor ToolsEvent Monitor Window - Real-time event logging with CSV exportVariable Monitor Window - Live variable state monitoringRuntime Set Monitor Window - Live collection monitoringDependency Analyzer - Detect unused assets and unassigned fieldsSearch, filtering, and type selection in all windowsTechnical SpecsUnity 6.2 (6000.2) or newerNo external dependenciesComplete C# source code includedAssembly Definition files for clean project separationFull XML documentation and Inspector tooltips3 sample scenes with working examples (BasicDemo, RuntimeSetsDemo, MoteDemo)AI was used as a coding assistant throughout the package development.Code completion and suggestion (similar to GitHub Copilot)Documentation writing (XML comments, README, Asset Store listing)Architecture and design pattern suggestionsAll code was reviewed, tested, and validated by the package author.AI acted as a development assistant rather than autonomous code generator.Final implementation decisions, architecture design, and quality assurance were performed by humans.



