Release Notes
3.0.0
Preview
Build 1495 (Jul 29, 2026)
Breaking Changes
- Removed UFusionOnlineSubsystem::SetPriority(), use UFusionActorComponent::SetLocalSendRate() / SetRoomSendRate() instead
- Removed unnecessary UFusionOnlineSubsystem::GetResolvedOwner(), use UFusionOnlineSubsystem::GetOwner() instead. Existing Blueprints migrate automatically via a CoreRedirect
- Remove OnConnectedToPhoton multicast delegate on UFusionOnlineSubsystem that was not firing properly. Bind to OnSuccess when connecting in order to trigger logic after connecting to Photon
- Removed UFusionHelpers::FusionClientTravel(). Use UFusionOnlineSubsystem::ClientTravel(), ChangeWorld() or ChangeWorldByName() instead
- OnForcedDisconnect now also returns a reason enum
What's New
- Unreal 5.8 support
Improvements
- Add the ability to adjust object SendRate via methods on the FusionActorComponent (SetLocalSendRate() / SetRoomSendRate()). Adjusting the local send rate can be used with the Dynamic ownership model to react quickly while wanting ownership
- Add the OnObjectOwnerPredictionFailed delegate on the UFusionActorComponent that can be used to respond to instances when ownership was not received in Dynamic ownership mode
- Rework ownership request/response system. New method: RespondToOwnershipRequest. New events: OnOwnershipDenied, OnOwnershipRequested. Requests are automatically denied when nothing is bound to OnOwnershipRequested
- Add error log and soft assert to hash collisions
- Avoid costly copies of FFusionObjectActorPair
- Support sublevel streaming
- APlayerState no longer has a custom lifespan when changing world, lifecycle is owned by Unreal's own travelling logic
- Changed ObjectId counter to uint64, removes chance of hash collisions when dealing with a large number of networked map actors
Changes
- Move RPC Blueprint Node into its own "UncookedOnly" Module. Leave rest in a pure "Editor" module
Bug Fixes
- Fixed: Compile warning from a Unreal header when compiling 5.7 in Visual Studio 2026 with MSVC 14.51+ being treated as an error
- Fixed: Issue where PlayerState was reported as being a duplicate
- Fixed: Actor roles were not reset back to ROLE_Authority after shutting down Fusion. Actors should now have normal offline behaviour once Fusion is torn down
- Fixed: Remove unused Forecast Physics setting: MaxSpawnExtrapolationTime
- Fixed: Forecast Physics objects could spawn in the wrong position (underground or invisible) for remote clients until the owning client first moved them. Fast-moving objects may now spawn a fraction behind their predicted position for a frame before correcting
- Fixed: UniqueNetId used by Steam and other online subsystems is now properly replicated
- Fixed: Disconnecting from inside RPC will now cause a controlled shutdown, ending current tick and object iteration
- Fixed: Failing to create networked subobjects caused a memory leak, will now revert creation and prevent the leak
- Fixed: Non-networked components of networked actors were incorrectly encoded and failed to replicate
Build 1341 (Jun 08, 2026)
What's New
- FilterPlugin.ini is now included in the packaged plugin
Changes
- UHT plugin doesnt auto detect engine version anymore and instead uses a hard coded value
Build 1315 (Jun 01, 2026)
What's New
- LICENSE.txt and THIRD_PARTY_NOTICES.txt with the Fusion Unreal license as well as licenses from third party libraries Fusion Unreal uses
Build 1254 (May 15, 2026)
Improvements
- Add the ability to disable GameState replication via CVAR
- Performance improvements related to updating actor state
Build 1214 (May 07, 2026)
Bug Fixes
- Fixed: Issue preventing streaming levels from being unloaded
Build 1201 (May 05, 2026)
Breaking Changes
- Renamed SharedMode namespace to FusionCore
- A number of .cpp and .h files have been renamed to add the "Fusion" prefix. CoreRedirects exist for BP/Asset references, but existing code files will need to be updated
- StartFusionSession is no longer exposed as a BP function and is instead called automatically from the BP functions to create/join rooms
Improvements
- StartFusionSession on subsystem no longer async, can also be accessed using static class FusionMatchmakingHelpers
- Implement the new initial map logic, where its part of room options
- Remove RPC predefined array size
- GameState now networked implicitly
- GameState ReplicatedWorldTimeSeconds uses Fusions own network time
- Network Debugging Tool, found under: Window/Fusion Debug Tools
Bug Fixes
- Fixed: Map attach issues
- Fixed: Better handling for blueprint RPC property creation
- Fixed: Issue where Fusion matchmaking callbacks could be cleaned up prematurely when another PIE window World is destroyed
- Fixed: Possible build failure when creating Fusion RPCs
- Fixed: Prevent possible timeout disconnection error (1041) when loading into a map in standalone mode
- Fixed: Potential crash when switching maps
- Fixed: Cloning properties in UHT uses more DRY logic and should support most types now
- Fixed: Ensure FName can be sent as parameters in rpcs, worked nested in structs before
- Fixed: Setting softobjectreference to null caused crash, fixed
- Fixed: Patch objectid changes (map changes) resulted in incorrectly serialized objectids
- Fixed: Remove redundant call to destroy, just causes incorrect logspam "not authority to destroy"
- Fixed: Make sure we flag individual destroy instead
- Fixed: Ensure we only send the events when replication inside fusion is active
- Fixed: Replication issue with PlayerState actors
Build 1118 (Apr 20, 2026)
Improvements
- Add the ability to set the "Local State Copy Mode" of an actor to "Manual" in order to prevent potentially expensive copy operations every frame for an actor the client can modify. Using this mode found on the UFusionActorComponent requires the user to call UFusionActorComponent::CopyLocalStateNextFrame() in order to trigger a copy of the state of an Actor next frame. Copying the state of the actor allows other connected clients to receive the replicated changes
- Performance improvements related to detecting transient objects
Build 1112 (Apr 16, 2026)
Improvements
- Performance improvements in the core Fusion library related to strings
Bug Fixes
- Fixed: Issue where StartFusionSession() with a valid InitialWorld would not trigger a map load
Build 1108 (Apr 13, 2026)
Improvements
- Performance improvements in the core Fusion library. Including working with strings and ownership methods
Bug Fixes
- Fixed: Sub objects would trigger unnecessary data to be sent
Build 1100 (Mar 25, 2026)
Bug Fixes
- Fixed: Replication issue with PlayerState actors
Build 1088 (Mar 24, 2026)
Breaking Changes
- Renamed: UFusionActorSettings to UFusionActorComponent
Changes
- Trying to connect while being connected is failing the connecting instead of tearing down the session and starting a new one
- Trying to join a room while being in a room is failing the joining instead of tearing down the session and starting a new one
- Added ClientTravel to FusionSubsystem, this is to handle map transitions when running under one process, this is a known unreal bug
Bug Fixes
- Fixed: Region Select Mode "Select" was timing out
- Fixed: Issues with AttachCurrentMap, ensure connecting clients (none master) are put into correct state before attaching
- Fixed: Make sure we clear all related objects in OnMapDestroy
- Fixed: Add missing rpc type handlers, caused a crash
- Fixed: Make sure APlayerState is properly replicated and survives map transitions
Build 1011 (Mar 12, 2026)
- Previous SDK versions are no longer compatible with deployed infrastructure. Please update to this build or later
Breaking Changes
- FFusionRoomOptions does not have an InitialWorld property anymore, set the InitialWorld when calling UFusionOnlineSubsystem::StartFusionSession()
- EActionFailureCodes changed and numeric values for enums changed
- UFusionClient::IsConnected() was removed, use UFusionOnlineSubsystem::IsConnected() or UFusionRealtimeClient::IsConnected() instead
- FTimerState was renamed to FFusionTimerState and was moved to FFusionTimerState.h
- The SharedMode::Logging namespace is now in the PhotonCommon namespace
- The SharedMode::CharType and SharedMode::StringType types are now both in the PhotonCommon namespace
- Update plugin code to follow Epics guidelines
- Removed unused RoomName Argument from JoinRandomRoom
What's New
- A new Realtime Matchmaking API was added that replaces the old connection methods, providing full access to Photon Realtime related features
- A LeaveRoom blueprint node was added to leave a Realtime room without disconnecting
- Added support for dynamically adding and removing replicated actor components
- Improved AOI system
- Added a new "Player Attached" ownership mode which means the player actor will be destroyed when they disconnect
- Ability to connect ongoing world to fusion via UFusionOnlineSubsystem::AttachCurrentMap()
Changes
- The Fusion Session is not started automatically when joining a Realtime room anymore, call UFusionOnlineSubsystem::StartFusionSession() to start a Fusion Session after joining a room
Bug Fixes
- Fixed: Prevent erroneous error logs being generated when the non-master client code loads the map via the OnMapLoadPerform callback
- Fixed: Uninitialized memory caused the frame update to never run
- Fixed: Class properties when used in RPCs
- Fixed: Ensure InitialMap loads properly
- Fixed: Update service while in shutdown to allow us to receive the disconnect status
- Fixed: Harden disconnect
- Fixed: Add physics state delta checks to avoid unnecessary network sends
- Fixed: Potential issue when using "Standalone Game" launched from the editor
- Fixed: Potential crash and log spam when leaving a Photon room
Build 835 (Feb 19, 2026)
Bug Fixes
- Fixed: Closing a standalone window sometimes caused a crash
- Fixed: A player would sometimes fail to spawn properly after joining a room at start-up in Unreal 5.4
Build 760 (Feb 12, 2026)
Bug Fixes
- Fixed: Adjust a number of Fusion Blueprint nodes so that the main input parameter defaults to self as they did previously: HasOwner, GetOwner, GetResolvedOwner, IsOwner, CanModify
- Fixed: Fix issue where remote Pawns were being assigned the local PlayerController. Remote Pawns no longer have a PlayerController set
Build 756 (Feb 11, 2026)
Bug Fixes
- Fixed: Fix closing PIE instance crash
- Fixed: Fix issues in seamless travel
Build 720 (Feb 10, 2026)
Breaking Changes
- Correct spelling of "Recieve" to be "Receive" for Fusion RPC functions. Fusion C++ RPC functions need to be renamed from *_Recieve to *_Receive
- Previous SDK versions are no longer compatible with deployed infrastructure. Please update to this (build 719) or later.
What's New
- Add support for using Actors, Objects, Classes as RPC parameters
- Connecting to the Photon Cloud supports now choosing the best region based on the players ping
- All edge cases around object life cycles should be solved to provide more consistent replication
- Android support and crossplay support between Android and Windows
- Removed interpolation of replicated properties, the behaviour of Fusion now matches unreals netcode more closely in several regards.
- Property RepNotify's now supports previous value argument.
- Native remote function calls now supported in both blueprint and c++, see documentation for further details. RPCs In Depth
Improvements
- Improved physics prediction and replication further
- All public code should now conform to the unreal formatting standard
- Fusion can now use "Run Under One Process" mode in unreal editor
Bug Fixes
- Fixed: Fix issue where a client may not be reliably informed of an object having its owner removed
- Fixed: Fix a potential issue where an actor would not be properly replicated if it is part of a map and immediately possessed
- Fixed: Prevent an assert triggering when loading into level when using UE 5.4.4
- Fixed: Manually set netdriver world
- Fixed: Issue with map loading when loading the same map again
- Fixed: Map actors now use a consistent hashing for identifying sub components which removes the need for consistent component order on all connected clients.
Build 492 (Jan 12, 2026)
What's New
- Unreal 5.7 support
Bug Fixes
- Fixed: Native pointer usage in member declaration preventing a shipping build
Build 438 (Dec 18, 2025)
Breaking Changes
- Previous SDK versions are no longer compatible with deployed infrastructure. Please update to this (build 438) or later.
What's New
- Added full support for the
Character Movement Component - Added internal "string heap" replication system for string and text data
- Added support for networking GameInstance and calling Fusion RPCs on it
- The Actor
Rolenow reports to be eitherAuthorityorSimulatedProxybased on whether it can be modified - The
NetModenow reports to be aClient
Improvements
- Object replication model has been updated to reduce bandwidth and improve type support
Bug Fixes
- Fixed: Issue where a replicated Actor reference set to None/nullptr by the authority would not be correctly set on remote clients
- Fixed: Duplicate CreatedLocal existed on derived RootObject, hiding other implementation
- Fixed: RPC regression fix, datatypes not properly serialized
- Fixed: IsOwner and CanModify was not properly evaluating all conditional branches
- Fixed: Race condition on sub-object system during object destruction
Build 354 (Nov 25, 2025)
Bug Fixes
- Fixed: Prevent crash and add error log when running multiple PIE windows in one process
Build 349 (Nov 24, 2025)
- Initial release