docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Changelog

    All notable changes to this package will be documented in this file.

    The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

    [1.2.0] - 2025-10-15

    Added

    • Custom inspector for .gsh files.

    Changed

    • Removed error logging for unknown Lobby patch paths over Wire to support future Distributed Authority state updates.

    Fixed

    • Fixed assets being loaded despite being of the incorrect type.
    • Fixed stale data used when deploying .gsh files via the deployment window.
    • Resolved an issue where the Task would resolve before the NetworkManager was fully connected and synchronized when using Netcode for GameObjects.
    • Resolved an issue where the Task would resolve before the NetworkManager had finished shutting down when using Netcode for GameObjects.
    • Resolved an issue where some settings on the NetworkManager would stay changed after leaving a Distributed Authority session.
    • Fixed an issue where joining clients to a relay hosted game (either with Relay or Distributed Authority) would no be able to connect because the relay protocol is invalid for their platform. The RelayProtocol from the _session_network property is now ignored by joining and reconnecting players. Players will always use the RelayProtocol.Default value instead.

    [1.1.8] - 2025-09-09

    Fixed

    • Resolved an issue where a rule without a reference could not be deployed.

    [1.1.7] - 2025-08-19

    Changed

    • The user-provided allocation callback is now guaranteed to be invoked regardless of whether the session is created successfully.
      • If session creation fails, the OnAllocate callback will still be invoked. This means you must check whether the Session is null before using it. The deallocation callback will be invoked once the server times out.
    • The user-provided deallocation callback is now guaranteed to be invoked.

    Fixed

    • Resolved an issue where the server, upon failing to create a session, would be left in a broken state.

    [1.2.0-pre.1] - 2025-08-06

    Added

    • Added support for Host Migration in lobbies:
      • Added migration operations GetMigrationDataInfoAsync, DownloadMigrationDataAsync and UploadMigrationDataAsync.
    • Added support for Host Migration in sessions:
      • Added WithHostMigration session option to enable automatic netcode snapshots at a configurable interval.
        • It requires an implementation of IMigrationDataHandler which defines how data is generated and applied.
        • We provide a default migration data handler implementation for Netcode with Entities (Minimum required version 1.7.0)
      • Added migration data methods to IHostSession: GetHostMigrationDataAsync and SetHostMigrationDataAsync for manual implementations.
      • Added host migration flow to restart the network on session host changed
      • Added SessionHostChanged and SessionMigrated event on ISession.
      • Added optional parameter preserveRegion to RelayOptions to configure relay reallocation behavior during host migration. Setting this to true saves the region of the first relay allocation and reuses when a relay server is reallocated during host migration.
    • Adding concurrency control settings to the lobby service and to sessions. When enabled, a If-Match header will be sent and an exception will now be thrown in case of conflict for the following operations:
      • deleting a lobby or session
      • removing a player from a lobby or session
      • updating a lobby or session player
      • updating a lobby or session
    • Added SessionObserver class that allows to listen to ISession lifecycle for a specific ISession.Type.
    • Added AddingSessionStarted and AddingSessionFailed events inside IMultiplayerService.
    • Added overloads for WithRelayNetwork and WithDistributedAuthorityNetwork to enable manual setting of the underlying network protocol. Defaults left as before: Most platforms keep using DTLS as a default connection and WebGL still defaults to WSS. Use the RelayNetworkOptions variant to override the default behavior.
    • Added a WithDirectNetwork overload that accepts DirectNetworkOptions which takes ListenIpAddress and PublishIpAddress parameters.
    • Added a WithDirectNetwork overload that accepts no arguments, ensuring backward compatibility with the previous WithDirectNetwork overload.
    • Added player name integration into multiplayer sessions
      • WithPlayerName() session option for a player to provide their name into a multiplayer session.
      • GetPlayerName() extension method to the session IReadOnlyPlayer model to retrieve a player's name.
    • Added IsServer property in ISession to validate if the local owner of the session handle is a server managing the session.
    • Added HasPlayer method in ISession to easily validate if a player is in a session.
    • Added GetPlayer methods in ISession & IHostSesssion to easily access a specific player model by player id.
    • The default network handler implementation for netcode for entities will now automatically create client & server worlds if none are available when starting a network connection.
    • Added an Inspector for Matchmaker queue files to allow the edition of the most common properties of the Matchmaker Queue configuration in the editor.
    • Added Network property to provide control over the network managed by the Session.
      • IHostSession provides the IHostSessionNetwork interface which lets you control the network connection for the session.
      • ISession provides the IClientSessionNetwork interface which lets you access the network state and relevant events.
      • Come in and out of games within the same multiplayer session.
      • Wait for specific conditions before starting the network connection and your gameplay
        • Session reaching max players
        • All players marking themselves as ready through player properties
        • Etc.
    • Added Network property on ISession (IClientSessionNetwork) & IHostSession (IHostSessionNetwork) to provide control over the network managed by the Session. This can let you come in and out of games within the same multiplayer session.
    • Adding parameter validation for IMultiplayerServerService.StartMultiplaySessionManagerAsync. An ArgumentNullException will be throw if the following values are not provided
      • MultiplaySessionManagerOptions
      • MultiplaySessionManagerOptions.SessionOptions
      • MultiplaySessionManagerOptions.MultiplayServerOptions
    • Added a new MatchmakerQueueAsset class created when importing .mmq files that can be referenced from runtime assets.
    • Added a new BuildProfile reference and BuildOptions settings to the .gsh file description to allow Multiplay Server Hosting build deployment to perform more specific builds.
    • Added an Inspector for .gsh files to allow the edition of the most common properties of the Multiplay configuration in the editor.

    Changed

    • Trying to use an unsupported connection protocol on WebGL will throw an ArgumentException instead of logging a warning message.
    • Matchmaker queue and environment configuration files will display their status against the remote configuration in the cloud project from the Deployment Window.
    • Changed IMultiplaySessionManager.StartMultiplaySessionManagerAsync to await the full allocation and session initialization flow and to cover all potential errors.
    • Removed exception thrown when trying to access the session property in IMultiplaySessionManager.Session as we now guarantee full initialization.

    Fixed

    • Resolved an issue where a host could not rejoin the same session after leaving while using Distributed Authority.
    • Resolved an issue where a rule without a reference could not be deployed.

    [1.1.6] - 2025-07-28

    Fixed

    • Resolved an issue where a host could not rejoin the same session after leaving while using Distributed Authority.

    [1.1.5] - 2025-07-14

    Fixed

    • Fixed an internal task scheduling issue that caused Session Create and Join operations to hang indefinitely on WebGL.

    [1.1.4] - 2025-06-18

    Added

    • Added access to session properties on query results.
    • Added host id to session network.
    • Added better error message for a GUID collision edge case for Multiplay hosted sessions.

    Fixed

    • Fixed first time Matchmaker queue file deployment that would leave the Matchmaker disabled if no Matchmaker Environment file was deployed along the queue files.
    • Fixed the potential for an awaited successful session creation getting interrupted by an exception thrown from a registered event handler.
    • Fixed the network connection attempting to parse an IP address as IPV6 on platforms where IPV6 is not supported.

    [1.2.0-exp.4] - 2025-04-10

    Changed

    • Soft dependency to the Services Deployment Api in the QuickStart was changed from com.unity.deployment.api@1.1.0 to com.unity.deployment@1.4.1.

    Fixed

    • Creating a new Matchmaker Queue from the QuickStart menu doesn't log a path warning issue anymore.
    • Fixed first time Matchmaker queue file deployment that would leave the Matchmaker disabled if no Matchmaker Environment file was deployed along the queue files.

    [1.1.3] - 2025-04-02

    Added

    • Added session refresh after subscription to events.

    Fixed

    • Fixed DGS not properly deleting the lobby when it leaves it or stops.
    • Fixed inability to catch exception in the Matchmaker process if thrown after the match was found.
    • Fixed lobby heartbeat start on host changed.
    • Fixed ArgumentNullException being thrown when selecting specific Deployment files in the Project Window.
    • Fixed inconsistent session changed events.

    [1.2.0-exp.3] - 2025-03-21

    Added

    • Added Matchmaker Onboarding Section and presets for Multiplayer Center

    [1.1.2] - 2025-03-03

    Fixed

    • Calling SubscribeToLobbyEventsAsync multiple times on the same lobby no longer throws exception.

    [1.1.1] - 2025-01-31

    Added

    • Added migration path validation to warn users when they are using incompatible packages namely the lobby, matchmaker, multiplay and relay standalone SDK.

    Changed

    • Increased Lobby max player count to 150.
    • Removing a player that is not in the lobby no longer throws a LobbyServiceException. Instead, if verbose logging is enabled, it will log that the player was not found.
    • Updated error when trying to access MultiplayService.Instance while in the editor.
    • Subscribing to lobby events when a player is already subscribed no longer throws a LobbyServiceException. Instead, if verbose logging is enabled, it will log that the player is already subscribed.

    Fixed

    • Fixed lobby so it no longer throws ArgumentException: An item with the same key has already been added.
    • Fixed unauthorized error when trying to remove other players from a lobby, with service account authentication.

    [1.2.0-exp.2] - 2025-01-22

    Added

    • Increased Lobby max player count to 150.
    • Added migration data methods to LobbyHandler and IHostSession.

    [1.2.0-exp.1] - 2024-11-27

    Added

    • Added Lobby migration data methods.

    [1.1.0] - 2024-11-19

    Added

    • Added more detail in SessionException message for MatchmakerAssignmentFailed and MatchmakerAssignmentTimeout, and exposed the Error property via ToString().
    • Added 2 new events under ISession, ISession.PlayerLeaving and ISession.PlayerHasLeft.

    Changed

    • Marked the ISession.PlayerLeft event as obsolete. It is getting replaced by the new ISession.PlayerLeaving event.
    • Increased timeout when uploading files from a build.

    Fixed

    • Fixed Session backfilling configuration:
      • Fixed WithBackfillingConfiguration setting backfillingLoopInterval as the playerConnectionTimeout.
      • Added the missing playerConnectionTimeout parameter to WithBackfillingConfiguration.
    • Fixed the ISession extension method GetMatchmakingResults when used with MatchId Matchmaking and non-backfill Multiplay Matchmaking.
    • Deprecated the WithBackfillingConfiguration method and replaced it with the corrected method with the same name and the missing playerConnectionTimeout parameter.
    • Fixed Lobby Vivox interoperability issues around joining certain channel types or joining channels that didn't match a Lobby ID when trying only to use the Vivox SDK while the Lobby SDK was present in the project.
    • Fixed the Lobby Vivox channel validation to allow for positional 3D channels.
    • Fixed the Server Query Protocol (SQP) responses from Multiplay Hosting servers to include correct Version and Port.
    • Fixed potential issue when querying for fleet status in the Deployment Window.
    • Fixed Help URL links.

    [1.0.2] - 2024-10-28

    Fixed

    • Fixed WebGL support for Distributed Authority.

    [1.0.1] - 2024-10-21

    Fixed

    • Fixed an issue preventing Multiplay config files proper reimport and deploy.

    [1.0.0] - 2024-09-18

    Added

    • Added QoS region selection for Distributed Authority session creation if none is passed.
    • Added the ability to query the session the player has joined with IMultiplayerService.GetJoinedSessionIdsAsync.
    • Added the ability to reconnect to a session with IMultiplayerService.ReconnectToSessionAsync.
    • Added the ability to exclude paths on a Game Server Hosting build that supports basic patterns (*, ?).
    • Added validation when accessing the IMultiplaySessionManager.Session.
    • Added $schema doc field to both Queue and Environment config files.
    • Added documentation on defaultQoSRegionName.
    • Added settings to game server hosting configuration schema:
      • Added server density settings (usageSettings) in fleets.

    Changed

    • Updated com.unity.services.wire from 1.2.6 to 1.2.7 to fix reconnection issues notably with the lobby.
    • Updated matchmaker deployment window:
      • Made defaultQoSRegionName a valid region: North America.
      • Ensured backfillEnabled is no longer ignored.
    • Made the QoS Calculator class internal.
    • Marked server hardware settings as deprecated in buildConfigurations in Game Server Hosting configuration schema.
    • Updated documentation to replace Game Server Hosting with Multiplay Hosting.
    • Updated minimum required version for Netcode for GameObjects from 2.0.0-pre.3 to 2.0.0.
    • Updated minimum required version for Netcode for Entities from 1.3.0-pre.2 to 1.3.2.
    • Changed connection metadata visibility to only be visible to members of the session.
    • Updated Distributed Authority session properties.
    • Enhanced exception messages on ClientServerBootstrap worlds checks.

    Fixed

    • Fixed matchmaker deployment window:
      • Fixed deploying queue when the remote queue has filtered pools.
      • Fixed deploying queue when the remote queue has no pools.
    • Fixed default value for session property constructor.
    • Fixed SessionHandler dropping property's index when updating them.
    • Fixed session cleanup when a player polls for session updates and is kicked from the session.
    • Fixed session error on deleting a non-existing session.
    • Fixed port randomization compatibility with Network for GameObjects.
    • Fixed occasional failure to fetch matchmaking results from P2P matches:
      • Properly uploaded these results.
    • Fixed matchmaking results 204 exception.
    • Fixed broken links in Multiplay Hosting documentation.
    • Fixed error relating to ENABLE_UCS_SERVER scripting define to support limited server functionality via Play Mode using a non-server build profile.
    • Fixed TaskCanceledException when starting an SQP server in Game Server Hosting.
    • Fixed SavePropertiesAsync not saving session fields if properties are unchanged.
    • Fixed typo in SessionError.

    [1.0.0-pre.1] - 2024-07-18

    Added

    • Added ability to update the session published port with NetworkConfiguration.UpdatePublishPort to enable auto-port selection in network handlers.
    • Added View in Deployment Window button for Game Server Hosting and Matchmaker config-as-code resource files, dependent on Deployment package version 1.4.0.

    Changed

    • Updated default values for direct network options:
      • listenIp and publishIp default to 127.0.0.1.
      • port defaults to 0.
    • Updated network support in sessions for Netcode for Entities to version 1.3.0-pre.2.
    • Updated network support in sessions for Netcode for GameObjects v2 to version 2.0.0-pre.1 (required for Distributed Authority).

    Fixed

    • Fixed issue where Game Server Hosting deploy upload may fail in some cases.

    [0.6.0] - 2024-07-10

    Added

    • Added Apple privacy manifest.
    • Added missing List and Delete APIs for Build configuration and Builds.
    • Added missing documentation.

    Changed

    • Renamed session connection operations to network branding.
    • Updated com.unity.services.wire dependency to 1.2.6.

    Fixed

    • Fixed issue where the notification system would fail to reconnect silently.

    [0.5.0] - 2024-06-18

    Added

    • Added session matchmaking support for peer-to-peer and dedicated game servers.
    • Added Multiplay server lifecycle support & server session management.
    • Added matchmaker backfilling support for server sessions.
    • Added session authorization flow for distributed authority.
    • Added session filters for session matchmaking and queries.
    • Added automatic attempt to leave a session when leaving the application/play mode.
    • Added session viewer editor window for better observability.
    • Added matchmaker deployment support.

    Changed

    • Made minor improvements to sessions.

    [0.4.2] - 2024-05-28

    Changed

    • Updated documentation.

    [0.4.1] - 2024-05-17

    Changed

    • Updated some name changes in Netcode for GameObjects v2.0.0-exp.3.

    [0.4.0] - 2024-04-23

    Changed

    • Renamed package from Multiplayer Services SDK to Multiplayer Services.

    [0.3.0] - 2024-04-04

    Added

    • Added support for Distributed Authority with Netcode for GameObjects 2.0.

    Changed

    • Ensured deployment window integration compatibility with Multiplay package:
      • Multiplay owns the integration from [1-1.2).
      • Unified package owns it onwards.

    [0.2.0] - 2024-03-26

    Added

    • Added session delete API.

    Changed

    • Set player properties on join.
    • Abstracted session host concept.
    • Refactored SessionInfo.

    Removed

    • Removed PlayerProfile from ISession.

    Fixed

    • Fixed session to honour session data when creating lobby.

    [0.1.0] - 2024-03-11

    Added

    • Initial Multiplayer SDK sessions implementation.
    • Added common Multiplayer Backend behind a feature flag:
      • Standalone functions available and support for the matchmaking flow (matchmake into a CMB session).
    • Added IP Address as an optional field in Multiplay ServerConfig.

    Removed

    • Removed PostBuildHook and EventConnectionStateChanged.

    [0.0.7] - 2023-08-23

    Changed

    • Updated documentation.

    [0.0.6] - 2023-08-21

    Changed

    • Updated README.

    [0.0.5] - 2023-08-16

    Changed

    • Updated the minimum supported Editor version to 2021.3.
    • Updated README with links to consolidated SDK documentation.

    [0.0.4] - 2023-08-15

    Changed

    • Updated .npmignore.

    Removed

    • Removed samples from the package.

    [0.0.3] - 2023-08-14

    Changed

    • Unexported MatchHandlerImpl.
    • Made API changes.

    [0.0.2] - 2023-08-10

    Changed

    • Updated README.

    [0.0.1] - 2023-08-09

    Added

    • Initial SDK.
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)