Skip to content

Add an INetworkConnectionBroadcaster interface#1007

Merged
FirstGearGames merged 31 commits intoFirstGearGames:mainfrom
adeutscher:feat/network-connection-broadcast-interface
Feb 17, 2026
Merged

Add an INetworkConnectionBroadcaster interface#1007
FirstGearGames merged 31 commits intoFirstGearGames:mainfrom
adeutscher:feat/network-connection-broadcast-interface

Conversation

@adeutscher
Copy link
Contributor

Add an INetworkConnectionBroadcaster interface, which NetworkConnection implements.

belplaton and others added 30 commits December 17, 2025 20:19
[NonSerialized] required because in other case it cause infinity errors in Logs when you select networkmanager in hierarchy

ManagedObjects now observable.
Now we can observer for NetworkObject server/client start/stop events

Now NetworkBehaviour callback safe for error inside user code
These things need to be cleaned up, otherwise after ResetState and respawn they fire and OnChange fires when it shouldn't.

Also... Make sync type settings public explicit
…s-that-bothered-me

- Fixed XML formatting in some areas (FirstGearGames#997).
…ers-multithreaded

Make tick smoothers multithreaded
…-Make-Tick-Smoothers-multithreaded

Revert "Make tick smoothers multithreaded"
… connection's broadcasting can be more easily mocked.
@adeutscher
Copy link
Contributor Author

These changes are focused on my short-term goals of unit-testing a section of logic that accepts a NetworkConnection solely to send replies to the client. My hope is that adding this in will be a foot in the door to future abstraction for testing in the vein of #654

@FirstGearGames FirstGearGames force-pushed the main branch 2 times, most recently from 63a5e9d to 5fdb4e6 Compare February 17, 2026 14:33
@FirstGearGames FirstGearGames merged commit bd351ab into FirstGearGames:main Feb 17, 2026
FirstGearGames pushed a commit that referenced this pull request Feb 17, 2026
- Fixed MovePosition/Rotation being unintentionally cleared with velocities (#1009, #1010).
- Fixed NetworkCollider disposing of rather than pooling some collections, resulting in garbage collection.
- Fixed NetworkTrafficStatistics initializing when disabled; this did not result in tracking but did have a neglible runtime performance impact.
- Fixed NetworkTransform.GetChanged including non-synchronized properties (#1016).
- Fixed missing error log when exceeding NetworkBehaviour limit pet NetworkObject.
- Fixed prefab searching being done recursively despite being set not to (#1005 #1015).
- Fixed ObserversRpc.BufferLast not handling ExcludeOwner (#985).
- Fixed smoothers AttachOnStop not working (#1018).
- Improved NetworkTrafficStatics uses TryGetBidirectionalNetworkTraffic rather than assume value is not null. This is to resolve a Unity bug where fields lose value during debug inspection (#1000).
- Improved added additional ProfileMarkers to PredictionManager.
- Improved NetworkTransform performance marginally (#989).
- Improved added ProfileMarkers to ClientManager, ClientObjects/.RpcLinks, NetworkTransform (#989).
- Improved Writer.WriteGuidAllocated obsoleted. Allocations have been removed; use WriteGuid instead (@belplaton).
- Improved added INetworkConnectionBroadcast interface to allow broadcast mocking (#1007).
- Added ManagedObjects.OnSpawnedAdd/Remove/Clear events (#989).
- Added Beta Threaded TickSmoothers (contribution by https://github.com/belplaton)
- Added Beta Threaded Collider Rollback (contribution by https://github.com/belplaton).
- Added ability for NetworkTrafficStatistics to run in headless builds (#1004).
@adeutscher adeutscher deleted the feat/network-connection-broadcast-interface branch February 20, 2026 02:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants