This document is about: FUSION 2
SWITCH TO

ダウンロード

Preview

Fusion SDK 2.1.0は開発用に提供されており、リリース済みで運用中のゲームでの使用は想定していません。プレビュー段階では、重大なバグやAPIに破壊的変更が加わる可能性があります。

迅速なサポートと改善を行うため、SDKパッケージはNightly Buildsとして公開されています。

プロジェクトを最新の2.0.xSDKでアップグレードした後に、2.1にアップグレードしてください。

ダウンロード

VersionRelease DateDownload
2.1.0 Nightly8月 08, 2025Fusion SDK 2.1.0 Nightly Build 1240Release Notes

リリースノート

2.1.0

Nightly

Build 1240 (Aug 08, 2025)

Breaking Changes

  • NetworkTransform.DisableSharedModeInterpolation option is now a flag enum value
  • Prefabs and scenes need to be reimported due to baking changes
  • SendReliableDataToPlayer(), SendReliableDataToServer(), OnReliableDataReceived() all now pass ReadOnlySpan<byte> to avoid allocations

What's New

  • Fusion Version Scripting Define Symbols: FUSION_2, FUSION_2_1, FUSION_2_1_0, FUSION_2_OR_NEWER, FUSION_2_0_OR_NEWER, FUSION_2_1_OR_NEWER
  • NetworkRunner.HasCustomPlugin - returns true if the game is run against a custom plugin
  • NetworkRunner.FailedToResolveNetworkObject - an event that can be used to detect cases where [Networked] NetworkObject properties return null not due to underlying NetworkId being zero, but because the object was not found (due to AoI, being destroyed locally etc.)
  • NetworkTransform supports the use of physics i.e. Rigidbody or Rigidbody2D in both Shared and Client-Server modes
  • Object Priority gives control over the update rate of objects
  • [Shared Mode] the size of the Area of Interest cells and the size of the grid can be adjusted in the NetworkProjectConfig
  • Added RpcChannel.ReliableLargeData to send RPCs that exceed 512 bytes. Not tick accurate
  • NetworkRunner.RequestMasterClientReassign to promote the local player as the master client
  • Non-addressable scenes can now also be loaded with NetworkRunner.LoadScene(SceneRef.FromPath(...))
  • [Multipeer] Ensure we execute physics for non-default scenes last in FixedUpdate, so this as close to Unity's normal position of running the physics as possible
  • FusionUnityHostProfiler - Fusions integration with Unity profiler
  • Added FusionMppmCommand.ExecuteAsync
  • MatchmakingArgumentsExtensions Utility Methods. Helps to setup MatchmakingArguments for Fusion
  • Updated to Realtime SDK 5.1.5
  • New Fusion Intro Sample and switch Fusion Menu to standalone
  • New Fusion Hub
  • NetworkRunner.LocalAddress to access the address Fusion bound to for direct connections
  • StartGameArgs.PlayerUniqueId enables reconnects to maintain the same PlayerRef
  • Support for breakpoints: ClientServer Mode only. Working on both Multi-Peer and Unity MPPM
  • RpcAttribute.InvokeLocalMode. If set to RpcInvokeLocalMode.ForwardToServer, locally invokable RPCs will always be forwarded to the server/plugin from clients

Changes

  • RPCs targeted at state authority do not get sent if the local client is the state authority
  • Failed to unwrap warning no longer logged for NetworkBehaviour references that fail to resolve, regardless of the reason
  • Failed to find behaviour is now logged for an invalid NetworkBehaviour on a valid NetworkObject
  • Update to Photon Realtime SDK to 5.1.7
  • Clamp PlayerCount to a valid range (1-2048) in Shared Mode
  • Clamp Heap PageCount to a valid range (16-4096) in Shared Mode
  • Inline help icons added to config's Client/Server Tick/Send rates
  • In/out packets statistics reflect packet fragmentation
  • Update NanoSockets for Android to support 16 KB page sizes
  • OnChangedRender now called at alpha = 0.5 to match interpolators (and reduce perceived latency)
  • Unity-provided packages are ignored when looking for assets. To override, define FUSION_ENABLE_SEARCH_IN_UNITY_PACKAGES
  • NetworkObjectBaker uses Fusion.Log instead of UnityEngine.Debug
  • Check if in Session before leaving it
  • Check if connected to Photon Cloud before running disconnect
  • Clicking animator bake failure error messages now shows the relevant gameObject in the hierarchy
  • Keep Session running only if Host/Server disconnected by Timeout
  • Leave Session before disconnect from Photon Cloud
  • Removed SendReliableDataToPlayer and SendReliableDataToServer with byte arrays; use overloads with with ReadOnlySpan<byte> instead. Avoids allocation
  • Editor trace logs are more granular, with following defines controlling specific streams: FUSION_EDITOR_TRACE_IMPORT, FUSION_EDITOR_TRACE_INSPECTOR, FUSION_EDITOR_TRACE_TEST, FUSION_EDITOR_TRACE_MPPM
  • INetPeerGroupCallbacks no longer deal with NetSendEnvelope; NotifyData packet type is assumed and data is passed
  • INetworkRunnerCallbacks.OnUserSimulationMessage is now obsolete and no longer used
  • SimulationMessage is now obsolete
  • Simulation.IsStateAuthority handles PlayerRef.None correctly (i.e. when it represents the host)
  • Simulation.IsInputAuthority handles PlayerRef.None and PlayerRef.MasterClient correctly
  • Skip opening Fusion Hub in batchmode
  • NetworkTRSP state authority change error correction delta default value set to 0
  • Assemblies with FUSION_FORCE_WEAVING version define will be weaved even if they are not included in the config's AssembliesToWeave
  • Fusion.Unity assembly no longer has to be added to the config's AssembliesToWeave
  • NetworkObjectInterestModes made public
  • NetworkObject.ObjectInterest internal field renamed to NetworkObject.LegacyObjectInterest; it is used only to migrate to storing interest settings in object flags (handled by the baker)
  • Current flag versions set to NetworkObjectFlags.V2. All prefabs and scenes need a rebake
  • NetworkObject editor: Prefab Source is now selectable
  • NetworkRunner.FindObject/TryFindObject no longer throw if simulation is not started
  • NetworkTransform on root NetworkObject is now always placed at index 0, regardless of component order
  • Join Session Log to be more clear
  • Made NetworkSceneManagerDefault.OnSceneInfoChanged method virtual
  • NetworkObjects that remains after shared mode authority leaves now has state authority set to PlayerRef.None
  • DestroyWhenStateAuthorityLeaves prefab flag is now independent from the AllowStateAuthorityOverride
  • Shared mode master client can now despawn network objects with PlayerRef.None as state authority
  • Apply NetworkTransform.DisableSharedModeInterpolation in Single Mode

Removed

  • EngineProfiler, the old DLL-side profiler integration
  • FusionProfiler, the old Unity-side profiler integration

Bug Fixes

  • Fixed: Empty IntrusiveLinkedListNode is now different than the one in a single-element list. This is done by the list always being cyclical
  • Fixed: Fusion plugin crashing during stress tests due to the number of RPC to be tracked in an envelope
  • Fixed: VisionOS NanoSockets Static Library
  • Fixed: Prefabs not being replicated until a resimulation tick occur
  • Fixed: MenuItem attribute preventing builds
  • Fixed: Reset re-join attempts when peer is able to join Session
  • Fixed: Rst item in SimulationConfig (ReplicationFeatures) does not draw it's help correctly in Unity inspector
  • Fixed: Object destroys not being resent in case of a packet loss
  • Fixed: OnNotifyDataLost ignoring objects/destroys if there haven't been any RPCs in the packet as well
  • Fixed: Stop repeated Unity warning logging if simulating multi peer physics scenes by not simulating the default scene
  • Fixed: RPCs targeting state authority were not being received when outside the area of interest
  • Fixed: Alloc in NetSocketHybrid.Receive
  • Fixed: Alloc in TimeSeries.Median
  • Fixed: NetworkArray<T>.GetRef throwing NullReferenceException
  • Fixed: NetworkBool drawer throwing ArgumentOutOfRangeException
  • Fixed: Editor error when interacting with invalid network objects. Header can be uninitialized and causes null ref, checking Ptr to avoid it
  • Fixed: Crash in some Unity versions when opening the project in batch mode due to forced recompilation
  • Fixed: [Shared Mode] data not being sent to a client if the previous packet has just been acknowledged
  • Fixed: Invalid authority checks when destroying hierarchies of NetworkObjects with mixed authorities
  • Fixed: Error logged when input authority invokes RPC with state authority target mask
  • Fixed: In Shared Mode, if a state authority makes a state change which races against the server removing state authority from it, then flag the original state needing to be re-sent
  • Fixed: [Shared Mode] Pending local deletes being ignored when receiving object updates
  • Fixed: Shutdown normally if Disconnected By PluginLogic
  • Fixed: Use StartGameArgs.Config for PlayerCount, if supplied
  • Fixed: Runtime spawned objects in scene are spawned/despawned multiple times in scene unload with a large amount of objects
  • Fixed: WriteUsingAreOfInterest not terminating data block properly
  • Fixed: Structs state authority not checked before writing
  • Fixed: Received objects state authority not checked before applying
  • Fixed: Plugin not deserializing private serializable fields of base types
  • Fixed: Plugin exporter adding preserved protected fields to sub types
  • Fixed: Prefab table not updating if running in batchmode
  • Fixed: Client not rolling objects back to latest snapshot state in certain conditions
  • Fixed: Data RPCs are no longer limited to be 1MB in size
  • Fixed: SendReliableData always sending 1MB of data
  • Fixed: SimulationPacketEnvelope not freed on packet delivered
  • Fixed: BitScanReverse64 always returning one too high
  • Fixed: Client sometimes not updating LatestServerTick after receiving a new snapshot
  • Fixed: Unable to update Session properties after Host Migration
  • Fixed: RPCs failing to send arrays
  • Fixed: NullReferenceException when trying to spawn a prefab with NetworkObject reference without object provider being set
  • Fixed: Simulation.Add/RemoveAlwaysInterested not working in Shared Mode
  • Fixed: Incorrect reset/jump of time on proxy objects after a frame of exceptionally long duration
  • Fixed: Lag Compensation box overlap problem with hitbox Y rotation
  • Fixed: A sequence of lost packets resulting in a partial object data being sent
  • Fixed: Lag Compensation box overlap having problems with hitboxes offset
  • Fixed: Unable to spawn during StateAuthorityChanged callback on MasterClientObjects
  • Fixed: Intro Sample Menu Dependency
  • Fixed: Lag compensation layer masks being ignored with subtick accuracy
  • Fixed: Odin drawers not finding underlying fields
  • Fixed: NetworkObject.IsSpawnable setter not working
  • Fixed: RPCs not being forwarded to stateauth (exclusive)
  • Fixed: RpcSerializer offset error
  • Fixed: Plugin can override state auth data again
  • Fixed: Invalid copy of state-auth data for transforms
  • Fixed: Not being able to send changes to plugin-spawned objects
  • Fixed: RpcInfo.Source in single player mode now correctly points to the source player
  • Fixed: NetworkRunner.SessionInfo Support for Single Player
Back to top