Screenshots and videos
Price history
Lowest recorded standalone price: $15. Recorded observations span to . This is our available history, not a guaranteed all-time low. Bundle package prices are separate.
Standalone price
Last three months, in USD. Bundle prices cover the whole package.
About Messenger - Type-Safe Event System for Unity
Stop coupling unrelated systems with direct references, static globals, or fragile string-based events!
Messenger gives you three things at once that are usually a trade-off: full compile-time type safety, near-zero allocation dispatch, and Inspector-friendly ScriptableObject channels. Refactor a message and the compiler finds every sender and listener. Fire thousands of events per frame without feeding the garbage collector.
Messenger is a code-first, type-safe publish-subscribe event system for Unity that helps you decouple gameplay, UI, audio, analytics, meta, and service systems without string keys, enum registries, or hard references.
Use Messenger as a local event system in pure C#, inject it through your composition root, or share ScriptableObject Channel assets across prefabs and scenes when you want Inspector-friendly communication without singletons or global state.
Why not plain C# events or a static event system?
- C# event fields recreate the tight coupling you are trying to remove and are easy to leak
- Static event systems and string or enum keys break silently on rename and have no compile-time safety
- Heavier reactive frameworks add a large dependency and a learning curve for what is often just messaging
Messenger stays small and focused: one clear publish-subscribe API, strong typing, measured performance, and no external dependencies.
Why choose Messenger:
- Strongly typed messages for safer refactoring and cleaner APIs
- No string keys or enum registries to maintain
- Explicit Send(in T) and Signal() flows for payload messages and no-data signals
- High-performance, low-allocation dispatch with cached signals and benchmarked runtime behavior
- Fluent subscriptions with a single IDisposable for lifecycle cleanup
- ScriptableObject Channels for cross-scene and cross-prefab messaging
- Optional logging, exception handling, thread safety, capacity tuning, and custom cache support
- DI-friendly IMessenger interface with examples for Zenject, VContainer, Reflex, and pure DI
- Re-entrancy-safe dispatch with deferred subscribe/unsubscribe during message processing
Extensive documentation, 4 sample scenes, 481 tests, benchmarks, and zero external dependencies.
Messenger is built for teams that want clean, scalable architecture without heavyweight frameworks: from small projects that need cleaner communication to larger codebases that need predictable behavior, low overhead, and easier testing.
Messenger gives you three things at once that are usually a trade-off: full compile-time type safety, near-zero allocation dispatch, and Inspector-friendly ScriptableObject channels. Refactor a message and the compiler finds every sender and listener. Fire thousands of events per frame without feeding the garbage collector.
Messenger is a code-first, type-safe publish-subscribe event system for Unity that helps you decouple gameplay, UI, audio, analytics, meta, and service systems without string keys, enum registries, or hard references.
Use Messenger as a local event system in pure C#, inject it through your composition root, or share ScriptableObject Channel assets across prefabs and scenes when you want Inspector-friendly communication without singletons or global state.
Why not plain C# events or a static event system?
- C# event fields recreate the tight coupling you are trying to remove and are easy to leak
- Static event systems and string or enum keys break silently on rename and have no compile-time safety
- Heavier reactive frameworks add a large dependency and a learning curve for what is often just messaging
Messenger stays small and focused: one clear publish-subscribe API, strong typing, measured performance, and no external dependencies.
Why choose Messenger:
- Strongly typed messages for safer refactoring and cleaner APIs
- No string keys or enum registries to maintain
- Explicit Send(in T) and Signal() flows for payload messages and no-data signals
- High-performance, low-allocation dispatch with cached signals and benchmarked runtime behavior
- Fluent subscriptions with a single IDisposable for lifecycle cleanup
- ScriptableObject Channels for cross-scene and cross-prefab messaging
- Optional logging, exception handling, thread safety, capacity tuning, and custom cache support
- DI-friendly IMessenger interface with examples for Zenject, VContainer, Reflex, and pure DI
- Re-entrancy-safe dispatch with deferred subscribe/unsubscribe during message processing
Extensive documentation, 4 sample scenes, 481 tests, benchmarks, and zero external dependencies.
Messenger is built for teams that want clean, scalable architecture without heavyweight frameworks: from small projects that need cleaner communication to larger codebases that need predictable behavior, low overhead, and easier testing.