Added
- Add ready-to-run scenes to the Mini Combat and UI Buttons + Inspector samples, so neither needs
Inspector wiring (#372). - Add a guided tour to the Diagnostics Tooling Exerciser sample that emits traffic and opens Message
Monitor and Flow Graph (#346). - Add the standard .NET constructors to
MessageRegistrationBuildException
(#367). - Show the installed version's release notes in the Unity Package Manager Version History tab
(#362).
Changed
- Use a collision-driven first-message guide and remove maintainer details from user docs
(#404,
#411). - Color Untargeted routes blue, Targeted purple, and Broadcast green in the editor and the docs; red
now marks problems (#353). - Shrink the package download by using Unity's Roslyn assemblies instead of bundling private copies
(#371). - Allocate less when registering many message types that have not emitted yet
(#374). - Deregister in linear instead of quadratic time when one token owns many same-priority handlers for
one message type (#374). - Stop generated code from suppressing compiler warnings, so it follows your project's warning
policy (#367). - Point the Package Manager Changelog link at the rendered changelog instead of raw Markdown
(#362). - Dispatch faster when a message type has interceptors or post-processors: interceptors are
resolved once when registrations change instead of being re-collected on every emission, and
emissions no longer repeat handler and post-processor lookups the bus already resolved. One
interceptor costs roughly half what it did, and four cost roughly a quarter
(#408).
Fixed
- Fix active
MessageRegistrationTokenregistrations with null callbacks leaving partial token or
bus state behind after throwing (#414). - Make initially empty and interceptor-rewritten post routes obey frozen snapshots: additions wait
until the next emission, while removals finish the current post phase
(#413). - Fix an interceptor registered or removed at a different priority than the running interceptor
taking effect during that same emission; interceptor changes now wait for the next emission, as
the snapshot semantics documentation already described
(#408). - Fix
DxMessagingStaticState.Reset()from inside an interceptor so it stops the rest of the
dispatch instead of invoking callbacks against reset bus state
(#395). - Fix Flow Graph so route and component details select and ping the object they name
(#345). - Fix Message Monitor resizing so one divider controls the log detail area and wrapped stack frames
keep their height (#344). - Fix disposing nested runtime-settings override tokens out of order restoring ended settings
(#384). - Fix copied
GlobalMessageBusScopeandRegistrationDisposablevalues restoring or removing newer
state, and remove the 1,024 nested-scope cap
(#375). - Fix the Reflex integration and DI sample for Reflex 14 while keeping earlier Reflex releases
working (#367). - Fix editor tooling failing to compile on Unity 6000.5 after Unity changed its object-discovery and
object-lookup APIs (#365,
#367).
Install
- Import the attached
.unitypackagedirectly into your Unity project, or - add
com.wallstop-studios.dxmessagingthrough the Unity Package Manager, pinning this
release ascom.wallstop-studios.dxmessaging@3.3.0(scoped npm registry) or the
matching Git tag.
Each release attaches the npm tarball and the .unitypackage, each with a
.sha256 checksum; verify a download with sha256sum -c <file>.sha256.