Documentation

Support

Services

Services

UGS Release Notes

Learn about releases, features, fixes, and changes across all Unity Gaming Services SDKs and packages.
Read time 59 minutesLast updated 17 hours ago

How to access the latest package features

Please follow the installation instructions to upgrade your packages. If you don't see a package's latest version available in the Editor, make sure you update to the latest LTS or Tech Stream release. Some new features are pre-releases; these are identified with the
pre
tag. Learn more about working with Pre-release packages.

August 2025

In-App Purchasing SDK 5.0.1

Changed

  • Updated
    com.unity.services.core
    dependency to 1.14.0

Fixed

  • Coded IAP backwards compatibility fixes:
    • ProcessPurchase
      will be invoked for restored purchases on their first encounter. This brings back the behaviour from IAP 4.13.0.
    • Apple - Fixed
      Product.hasReceipt
      and
      Product.receipt
      falsely returning a receipt for products that were not purchased.

In-App Purchasing SDK 5.0.0

Added

  • Samples - Added updated samples:
    • Added
      01 Buying Consumables
    • Added
      02 Buying Subscriptions
    • Added
      03 Fetching Additional Products
    • Added
      04 Integrating Self-Provided Backend Receipt Validation
    • Added
      06 Initialize Unity Gaming Services
    • Added
      07 Catalog Provider
    • Added
      Apple App Store - 01 Refreshing App Receipts
    • Added
      Apple App Store - 02 Handling Deferred Purchases
    • Added
      Apple App Store - 03 Retrieving Product Receipt
    • Added
      Apple App Store - 04 Fraud Detection
    • Added
      Apple App Store - 05 Getting Introductory Subscription Prices
    • Added
      Google Play Store - 05 Fraud Detection
    • Added
      Google Play Store - 06 Local Receipt Validation

Fixed

  • Apple - Purchase restoration fix - product ID field was incorrectly populated with transaction ID
  • Google Play - Added handling for duplicate product IDs in store responses by skipping duplicates and logging warnings instead of failing with dictionary key error.
  • Google Play - Fixed ProGuard minification issue preventing IAP from working in release builds

Changed

  • GooglePlay - Billing Library updated to 8.0.0 (was previously 7.1.1). No new feature support was added.
  • Improved transaction fetching performance through parallel processing optimization

Cloud Diagnostics SDK 1.0.11

Changed

  • Updated documentation

Economy SDK 3.5.2

Fixed

  • Fixed
    GetInventoryResult.GetNextResultsAsync
    failing

Multiplayer SDK 1.2.0-pre.1

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. Th

Multiplayer SDK 1.1.6

Fixed

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

Multiplayer Playmode SDK 2.0.0-pre.1

  • Added support for Unity 6.3; migrated the code to the engine

July 2025

In-App Purchasing SDK 5.0.0-pre.8

Added

  • Added
    UnityIAPServices.StoreController
    as a wrapper around the other services obtained through UnityIAPServices.
    • Added
      StoreController.PurchaseProduct(string productId)
      to initiate a purchase using only the productId.
  • Added messages to
    [Obsolete]
    attributes on deprecated APIs, test methods, and internal classes.
  • Samples - Added Minimal Coded IAP 5.0.0 Sample to demonstrate a very basic implementation of Coded IAP.
  • Added documentation note in
    UpgradeV5.md
    clarifying the singleton behavior of
    ConfigurationBuilder.Instance
    and the use of its constructor as a workaround for scenarios requiring multiple initializations.
  • Added backwards compatibility support for
    IAPListener
    and
    CodelessIAPButton
    callbacks. When updating from an older IAP version, your scripts will continue to work without modification.
  • Apple - Added
    IAppleStoreExtendedPurchaseService.SetRefreshAppReceipt
    to refresh the receipt when a purchase succeeds (true by default). This is useful if are using a backwards compatible implementation or if you use
    IOrderInfo.PurchasedProductInfo.subscriptionInfo
    .
  • Added
    IOrderInfo.Google
    to provide access to information specific to orders coming from the Google Play Store.
  • Added
    Orders.DeferredOrders
    to provide access to deferred orders fetched from the store.
  • Added back
    useFakeStoreUIMode
    and
    useFakeStoreAlways
    variables to
    StandardPurchasingModule
    for backwards compatibility.
    • Important: neither setting is respected by the FakeStore. Functionality has not been reimplemented.
  • Added back
    Instance(AppStore androidStore)
    call to
    StandardPurchasingModule
    for backwards compatibility. Calling
    Instance(AppStore androidStore)
    will return the same results as
    Instance()
    regardless of the provided AppStore.

Changed

  • IAP Catalog - Renamed
    Automatically initialize UnityPurchasing (recommended)
    to
    Automatically initialize UnityIAPServices (recommended)
    .
    • Brought back
      Apple Configuration
      ,
      Google Configuration
      and
      Catalog Export
      in IAP Catalog.
    • Updated translation locales for Google Play Store and Apple App Store
  • Renamed APIs introduced since 5.0.0-pre.1 to improve consistency:
    • IStoreService.ConnectAsync
      to
      IStoreService.Connect
    • IPurchaseService.ConfirmOrder
      to
      IPurchaseService.ConfirmPurchase
    • IPurchaseService.IsProductEntitled
      to
      IPurchaseService.CheckEntitlement
    • Entitlement.ProductChecked
      to
      Entitlement.Product
    • Entitlement.EntitlementOrder
      to
      Entitlement.Order
    • ConfirmOrderException
      to
      ConfirmPurchaseException
    • INativeStore.RetrieveProducts
      to
      INativeStore.FetchProducts
  • Callbacks introduced since 5.0.0-pre.1 were changed to events:
    • IProductService.AddProductsUpdatedAction
      and
      IProductService.RemoveProductsUpdatedAction
      were replaced with
      IProductService.OnProductsUpdated
    • IProductService.AddProductsFetchFailedAction
      and
      IProductService.RemoveProductsFetchFailedAction
      were replaced with
      IProductService.OnProductsFetchFailed
    • IPurchaseService.AddPendingOrderUpdatedAction
      and
      IPurchaseService.RemovePendingOrderUpdatedAction
      were replaced with
      IPurchaseService.OnPurchasePending
    • IPurchaseService.AddConfirmedOrderUpdatedAction
      and
      IPurchaseService.RemoveConfirmedOrderUpdatedAction
      were replaced with
      IPurchaseService.OnPurchaseConfirmed
    • IPurchaseService.AddPurchaseFailedAction
      and
      IPurchaseService.RemovePurchaseFailedAction
      were replaced with
      IPurchaseService.OnPurchaseFailed
    • IPurchaseService.AddPurchaseDeferredAction
      and
      IPurchaseService.RemovePurchaseDeferredAction
      were replaced with
      IPurchaseService.OnPurchaseDeferred
    • IPurchaseService.AddFetchedPurchasesAction
      and
      IPurchaseService.RemoveFetchedPurchasesAction
      were replaced with
      IPurchaseService.OnPurchasesFetched
    • IPurchaseService.AddFetchPurchasesFailedAction
      and
      IPurchaseService.RemoveFetchPurchasesFailedAction
      were replaced with
      IPurchaseService.OnPurchasesFetchFailed
    • IPurchaseService.AddCheckEntitlementAction
      and
      IPurchaseService.RemoveCheckEntitlementAction
      were replaced with
      IPurchaseService.OnCheckEntitlement
    • IPurchaseService.RestoreTransactions
      callback was moved from parameter to
      IPurchaseService.OnRestoreTransactions
    • IStoreService.AddOnStoreDisconnectedAction
      and
      IStoreService.RemoveOnStoreDisconnectedAction
      were replaced with
      IStoreService.OnStoreDisconnected
    • IAppleStoreExtendedPurchaseService.AddEntitlementsRevokedAction
      and
      IAppleStoreExtendedPurchaseService.RemoveEntitlementsRevokedAction
      were replaced with
      IAppleStoreExtendedPurchaseService.OnEntitlementRevoked
    • IAppleStoreExtendedPurchaseService.SetPromotionalPurchaseInterceptorCallback
      was replaced with
      IAppleStoreExtendedPurchaseService.OnPromotionalPurchaseIntercepted
    • IGooglePlayStoreExtendedPurchaseService.SetDeferredProrationUpgradeDowngradeSubscriptionListener
      was replaced with
      IGooglePlayStoreExtendedPurchaseService.OnDeferredPaymentUntilRenewalDate
    • IStoreProductsCallback.OnProductsUpdated
      was replaced with
      IStoreProductsCallback.OnProductsFetched
    • IOnEntitlementRevokedUseCase.RevokedEntitlementAction
      was replaced with
      IOnEntitlementRevokedUseCase.OnEntitlementRevoked
  • Callbacks are now optional, but will output a warning in debug mode if not set.
    • IPurchaseService.OnPurchasePending
      is the only callback that should be present to handle a new purchase.
  • Exceptions are no longer thrown, instead, the failure callback associated with the function will be invoked.
    • GooglePlay - The edge case where the Billing Client invokes the onPurchasesUpdated with a
      GoogleBillingResponseCode.Ok
      and no purchase will now invoke the OnPurchaseFailed callback with
      PurchaseFailureReason.PurchaseMissing
      (previously
      PurchaseFailureReason.Unknown
      ).
  • Introduced a single callback for
    CheckEntitlement
    results via
    OnCheckEntitlement
    . The
    Entitlement
    model now carries status and optional error messages for consistent handling.
  • GooglePlay- Added
    IPurchaseService.Google.UpgradeDowngradeSubscription(Order, Product, GooglePlayReplacementMode)
    . The other UpgradeDowngradeSubscription have been marked
    [Obsolete]
    .
  • Unified purchase confirmation handling through a simplified Order hierarchy:
    • FailedOrder
      now inherits from
      Order
      base class for consistent error handling so all order types now share common base functionality
    • IPurchaseService.OnPurchaseConfirmed
      callback now returns
      Order
      type instead of
      ConfirmedOrder
    • IPurchaseService.OnPurchaseFailed
      is no longer invoked when
      IPurchaseService.ConfirmPurchase
      fails

In-App Purchasing SDK 4.13.0

Changed

  • GooglePlay - Billing Library updated to 7.1.1 (was previously 6.2.1). No new feature support was added.
  • GooglePlay -
    GooglePlayProrationMode
    has been replaced with
    GooglePlayReplacementMode
    to match the Google Play Billing Library.
    • GooglePlayProrationMode
      has been marked
      [Obsolete]

Authentication SDK 3.5.1

Added

  • Added event
    IAuthenticationService.PlayerInfoChanged
    for when the instance of
    PlayerInfo
    is set.
  • Added event
    PlayerInfo.Changed
    for when the values within
    PlayerInfo
    are updated.
  • Added event
    IAuthenticationService.PlayerNameChanged
    for when the player name changes.
  • Added event
    IAuthenticationService.PlayerIdChanged
    for when the player id changes.
  • Added more details to server exception messages.

Cloud Code SDK 2.10.0

Changed

  • Generating bindings will generate one file and class per cloud code class instead of one class for all functions
  • Before generating a solution, the path will be validated so that it corresponds to a valid module name

Fixed

-Tentative fix to dotnet hang -Changed exit condition , it seems only indefinite wait for exit will always work
  • Added timeout
  • Tentative fix for occasional hang of dotnet when redirecting std output
  • Fixed documentation that still used
    import
    over
    require
    for bundling

Services Core SDK 1.15.1

Added

  • Adding editor log when setting a custom environment during services initialization.
  • Changing environment label in environment settings.
  • Adding Unity Services Status Viewer accessible through the
    Services
    >
    Status
    menu item.

Deployment SDK 1.5.0

Fixed

  • Fixed bug when using package on 2022.1 (issue with ITextSelection api)

Added

  • Support for information asset states (as opposed to warning and error states)
  • Added "Ping" support for "Select In Project Window"
  • DeploymentTracker.SyncItemsWithRemoteCommand is now called when the Editor EnvironmentId or local configuration files are changed to update their DeploymentStatus based on the remote endpoint.

Leaderboards SDK 2.3.0

Fixed

  • Included Metadata in Leaderboard Versioned Entry models
  • Internal representation of bucket size switched to integer from decimal

Added

  • Added a custom inspector for the configurations asset (
    .lb
    files)
    • Unity 2022 and higher
  • Reset leaderboard command available from Deployment context menu and Leaderboard Inspector

Multiplayer SDK 1.1.5

Fixed

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

June 2025

Multiplayer SDK 1.1.4

Added

  • Added access to session properties on query results.
  • Added host ID to session network.
  • Added a more descriptive error message for GUID collision scenarios in 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 an issue where an awaited successful session creation could be interrupted by an exception thrown from a registered event handler.
  • Fixed an issue where the network connection attempted to parse an IP address as IPv6 on platforms that don't support IPv6.

March 2025

In-App Purchasing SDK 5.0.0-pre.5

Fixed

  • Apple - Fixed an issue where transactions involving a consumable already purchased in the same session would result in them being finished without invoking the callback set with
    IPurchaseServive.AddPendingOrderUpdatedAction
    .
  • Fixed an issue where some versions of the Unity Editor compiler were stripping
    EmptyAnalyticsAdapter
    when Analytics wasn't used.
  • Implemented
    jwsRepresentation
    in
    AppleOrderInfo
    to support JWS representation handling. See Apple StoreKit Documentation for more details.

Analytics SDK 6.0.3

Fixed

  • Control characters (e.g. newline) are now serialised correctly and will not cause event batches to be discarded

Authentication SDK 3.4.1

Fixed

  • Fixed an issue where the player name does not update correctly when calling
    IAuthenticationService.SwitchProfile()
  • Fixed an unexpected error log in the Player Accounts sample

Cloud Build 2.0.2

Modified

  • API calls to the Build Automation service now use unique Org IDs instead of friendly IDs
  • Now uses the Project level permissions for obtaining Signing Credentials

Multiplayer SDK 1.2.0-exp.3

Added

  • Added Matchmaker Onboarding Section and presets for Multiplayer Center

Multiplayer SDK 1.1.2

Fixed

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

Multiplayer Playmode SDK 1.5.0-exp.1

Fixed

  • Fixed exception when starting a scenario with no instances.
  • Fixed the scenario not exiting play mode when stop is requested during a domain reload
  • Fixed launching scenario progress bar transition animation.
  • Avoid log spamming with errors when the project is renamed.
  • Fixed issue where deleting Player Tags from Project Settings also removes them from existing Scenarios.
  • Fixed issue for Clone Editor instances where editor window controls or widgets don't show.
  • Fix the issue where the launching scenario window UI isn’t ready during the build process

Added

  • Added android mobile support to the playmode scenarios

February 2025

In-App Purchasing SDK 5.0.0-pre.5

Changed

  • GooglePlay - Billing Library updated to 7.1.1 (was previously 6.2.1). No new feature support was added.
  • GooglePlay -
    GooglePlayProrationMode
    has been replaced with
    GooglePlayReplacementMode
    to match the Google Play Billing Library.
    • GooglePlayReplacementMode.Deferred
      has been changed from
      4
      to
      6
      to match the Google Play Billing Library. This change was also applied to
      GooglePlayProrationMode.Deferred
      .
    • GooglePlayProrationMode
      has been marked
      [Obsolete]

Fixed

  • Apple - Added missing callbacks for StoreKit 2.
  • Codeless - Fixed an issue where
    PayoutDefinition
    defined in the IAP Catalog was not being used.
  • IAP Catalog - Fixed an issue where
    CatalogPopupProductType
    was on the wrong namespace (
    Editor
    instead of
    UnityEditor.Purchasing
    ).
  • IAP Catalog - Fixed an issue where the
    Unknown
    product type was available in the catalog.

Cloud Build 2.0.1

Added

  • Added User information to Cloud Build History window
  • Added a filter option to the Build History window to only show builds started by the current user

Modified

  • Updated the text in various places to be more clear
  • Updated the XCode dropdown list to only include valid XCode versions for the selected Operating System
  • Clicking the new credentials button will now properly link to the correct page in the DevOps dashboard, regardless of which platform is currently active
  • The credentials dropdown list will now display all credentials, even if they have the same name
  • The Build Profile filter in the Build History page now works correctly
  • Removed the Build Automation section from Project Settings, as it was no longer used
  • Build Automation Settings on a Build Profile now have default values
  • Pagination on the Build History page now works correctly

Lobby SDK 1.3.0

Added

  • Added migration path validation to warn users when they are using incompatible packages.

Changed

  • Increased Lobby max player count to 150.
  • Updated the minimum supported Editor version to 2021.3.

Matchmaker SDK 1.2.0

Added

  • Added migration path validation to warn users when they are using incompatible packages.

Changed

  • Updated the minimum supported Editor version to 2021.3.

Removed

  • Removed optional Analytics dependency

Multiplay Hosting SDK 1.3.0

Added

  • Added migration path validation to warn users when they are using incompatible packages.

Changed

  • Updated documentation to replace Game Server Hosting with Multiplay Hosting
  • Updated the minimum supported Editor version to 2021.3.

Fixed

  • Fixed broken links

Multiplayer SDK 1.1.1

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 it will log that the player was not found.
  • Updated error when trying to access
    MultiplayService.Instance
    while in the editor.

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.

Multiplayer Playmode SDK 1.4.0-pre.2

Fixed

  • Fixed launching scenario progress bar transition animation.

Relay SDK 1.2.0

Added

  • Added migration path validation to warn users when they are using incompatible packages.

Changed

  • Updated the minimum supported Editor version to 2021.3.

Wire SDK 1.3.0

Fixed

  • Updated dyncall syntax
  • Websocket jslib will no longer crash player loop on successive connections/disconnections
  • Updated reconnection logic to check if internet is reachable, avoiding unnecessary connection attempts

Changed

  • Updated the minimum supported Editor version to 2021.3.

Wire SDK 1.2.8

Fixed

  • Updated package docs to reflect the removal of
    WIRE_EXCLUDE_WEBSOCKETSHARP
    in v1.2.2

Tooling SDK 1.3.0

Added

  • Support for Game Overrides CAC
    • Create through Create > Services > Game Overrides Configuration

January 2025

Cloud Build 2.0.0

Added

  • Updated version to 2.0.0

Multiplayer SDK 1.2.0-exp.2

Added

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

Changed

  • Removing a player that is not in the lobby no longer throws a
    LobbyServiceException
    , instead it will log that the player was not found.

Fixed

  • Fixed a lobby cache corruption issue.
  • Fixed unauthorized error when trying to remove other players from a lobby, with service account authentication.

Multiplayer Playmode SDK 1.4.0-pre.3

Fixed

  • Fixed exception when starting a scenario with no instances.
  • Fixed the scenario not exiting play mode when stop is requested during a domain reload

Multiplayer Playmode SDK 1.4.0-pre.2

Added

  • Added
    CurrentPlayer.IsMainEditor
    to the API to check if the current player is the main editor instance.
  • Added a main editor label to scenario launch window

Fixed

  • Fixed an ArgumentNullException issue that occurs across an MPPM upgrade with an actively set playmode Scenario configuration.
  • Fixed an issue where project settings were not getting propagated to Virtual Players when entering Playmode via the play button
  • Fixing the issue where the launching scenario window persists when domain/scene reload is enabled in the project settings.

Changed

  • Moved the warning helpbox in MPPM window to the bottom of the VP list during VP activation.

December 2024

In-App Purchasing SDK 5.0.0-pre.3

Added

  • Apple - Updated to StoreKit 2.
    • All features previously in StoreKit 1 are still supported.
    • New features from StoreKit 2 will be supported in a later release.
    • StoreKit 1 is no longer supported and iOS devices will require iOS 15.0 or later.
    • Added support for AppAccountToken, allowing associating purchases with an app-specific account identifier. It can be set using
      SetAppAccountToken(Guid token)
      on the StoreExtendedService (e.g.,
      IAppleStoreExtendedService.SetAppAccountToken
      ), and it is also exposed in the IAppleOrderInfo interface for better integration with order details. For more details, see AppAccountToken documentation.
  • Apple - Updated PrivacyInfo.xcprivacy to reflect that IAP no longer uses required reason API.

Changed

  • Apple - CrossPlatformValidator is no longer used for receipt validation for Apple since StoreKit2 does it.
  • Apple - Receipt obfuscation for Apple has been removed.
  • Apple -
    Product.appleProductIsRestored
    is now obsolete since it's no longer used with StoreKit2.

Fixed

  • Fixed Non-Consumables being treated as Consumables (introduced by Unity IAP 5.0.0-pre.1)

Cloud Build 2.0.0-pre.2

Added

  • Onboarding flow was added when using the free tier and all free build minutes have been consumed for the current billing cycle.

Cloud Code SDK 2.9.0

Changed

  • Updated the minimum supported Editor version to 2021.3.

Fixed

  • Fixed Help URLs for Cloud Code Module and Cloud Code Script.
  • Fixed inspector loading for service assets, below Unity 6.
  • Fixed an issue that might cause the CloudCode scripts inspector to spam calls to the admin API.
  • Fixed an issue that causes the progress bar to revert during Cloud Code Module deployment.

Cloud Save SDK 3.2.2

Fixed

  • Fixed bug with after value when retrieving all files for a player.

Deployment SDK 1.4.1

Fixed

  • Fixed inspector loading for service assets, below Unity 6.

Economy SDK 3.5.1

Fixed

  • Fixed inspector loading for service assets, below Unity 6.
  • Fixed button top open in dashboard.

Leaderboards SDK 2.2.1

Fixed

  • Fixed inspector loading for service assets, below Unity 6.
  • Fixed button top open in dashboard.

Multiplayer SDK 1.2.0-exp.1

Added

  • Added Lobby migration data methods.

Multiplayer SDK 1.1.0

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.

Fixed

  • 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.
  • Increased timeout when uploading files from a build.
  • Fixed Help URL links.

Multiplayer Playmode SDK 1.4.0-pre.1

Fixed

  • Fixed an issue where entering and exiting Playmode quickly can cause virtual player window's Playmode state to get out of sync.
  • Removed use of obsolete internal build profile API functions.
  • Fixed an issue where clone editor VP Windows closes unexpectedly when entering a Playmode Scenario with Multiplayer Windows opened.

Added

  • Added a scenario launch window to show the scenario stage, progress bars, and messages.
  • Added a new Entities Hierarchy window for clone editor VP Windows where it can be toggled under Layout > "Entities Hierarchy".

Multiplayer Playmode SDK 1.3.3

Added

  • Fixed an ArgumentNullException issue that occurs across an MPPM upgrade with an actively set playmode Scenario configuration.

Fixed

  • Fixed an issue where project settings were not getting propagated to Virtual Players when entering Playmode via the play button.

Tooling SDK 1.2.1

Fixed

  • Fixed inspector loading for service assets, below Unity 6.

Vivox Unity v16 SDK 16.5.4

Changed

  • Updated the license information and third party notices list.

Fixed

  • GameCore: Improved handling of hotswapping capture and render devices.
  • GameCore: Fixed issues preventing Remote Control functioning with Vivox through Xbox Manager. Refer to the Vivox Xbox documentation for full details.
  • GameCore: Fixed a bug where USB audio devices weren't being detected when plugged in.
  • Fixed a bug where trying to join multiple channels quickly would lead to an exception.

Vivox SDK 5.25.4

Changed

  • Updated the license information and third party notices list.

Fixed

  • GameCore: Improved handling of hotswapping capture and render devices.
  • GameCore: Fixed issues preventing Remote Control functioning with Vivox through Xbox Manager. Refer to the Vivox Xbox documentation for full details.
  • GameCore: Fixed a bug where USB audio devices weren't being detected when plugged in.

November 2024

Authentication SDK 3.4.0

Added

  • Added
    PlayerAuthentication
    component to manage authentication in the scene authoring.

Changed

  • Updated the minimum supported Editor version to 2021.3.

Cloud Save SDK 3.2.1

Changed

  • Updated the minimum supported Editor version to 2021.3.
  • Updated Apple Privacy Manifest.

Core SDK 1.14.0

Added

  • Added
    ServicesInitialization
    monobehaviour to manage services in the scene authoring.
  • Added
    ServicesBehaviour
    abstract monobehaviour as a base for behaviours built on top of services.
  • Added unique identifier for custom service registry creation (
    UnityServices.CreateServices
    ).
  • Added custom services registries dictionary in
    UnityServices.Services
    .
  • Added
    GetIdentifier()
    method to
    IUnityServices
    interface with a default implementation.

Changed

  • Updated the minimum supported Editor version to 2021.3.

Economy SDK 3.5.0

Added

  • View in Deployment Window button for Economy resource files, dependent on Deployment package version 1.4.0.
  • Added unity-installation-id in the header of the REST API request in order to return the overridden economy content.
  • Added analytics-user-id in the header of the REST API request as it can be set as ExternalUserId if needed.

Fixed

  • Fix Economy deployment assets help URLs.
  • Fix redundant logging when an exception is thrown.
  • Raised log when deployment window is not available to error.
  • Added missing table of contents to package documentation.

Leaderboards SDK 2.2.0

Added

  • View in Deployment Window button for
    .lb
    file, dependent on Deployment package version 1.4.0.

Changed

  • Updated Apple Privacy Manifest to include the use of gameplay data.

Fixed

  • Help URLs from Leaderboard assets to the relevant documentation.

Multiplayer Play Mode SDK 1.3.2

Added

  • Avoid reconstructing virtual player windows through Playmodes if their layouts in PlayMode vs EditMode are the same. This helps retain anchoring in Windows.

Fixed

  • Fixed clones remaining active when a play mode scenario is stopped while the clone is activating.
  • Fixed an issue where enabling Playmode Tools in a clone editor's layout configuration may display incorrect layouts.
  • Fixed compilation error "'UnityPlayer' does not contain a definition for 'Role'" when Dedicated Server package version doesn't match.

Push Notifications SDK 4.0.1

Changed

  • Bug fix associated with the
    registerForPushNotificationsAsync
    method hanging for Android devices in some cases.

Vivox SDK 16.5.3

Added

  • WebGL support for Directed Messages.

Fixed

  • WebGL Presence is now being set when logged in.
  • Removed all imports and usage of a deprecated Google Analytics platform. This service was never active and no data had been collected during the time that it was included.

Tooling SDK 1.2.0

Added

  • View in Deployment Window button for
    .ac
    resource files, dependent on Deployment package version 1.4.0.
  • Help URL link from Access Control Asset.

October 2024

Analytics SDK 6.0.2

  • Fixed: Go To Dashboard link in Package Manager in 2022 and newer editor versions now leads to the correct landing page instead of an unrelated error page.
  • Fixed: Added XmlDoc comments for public API elements which were missing them.
  • Fixed: Setting
    ExternalUserId
    before enabling the SDK for the first time now correctly records a
    newPlayer
    event if it differs from the last seen user ID.
  • Fixed: Changing
    ExternalUserId
    while data collection is enabled now correctly starts a new session and records start-up events.
  • Fixed: Changing
    ExternalUserId
    while data collection is disabled now correctly records start-up events when it is (re)enabled.

Deployment SDK 1.4.0

  • Added: Implementations to the Deployment API DeploymentWindow.
  • Added: Ability to copy text straight from the Deployment details pane.
  • Added: View in Deployment Window button in
    .ddef
    file.
  • Fixed: Issue where the status panel had an excessively large initial size.
  • Fixed: Issue where relative paths were not supported in the
    ExcludePaths
    of the Deployment Definitions.
  • Fixed: Issue where placeholder text was displayed in an item's
    status
    field on tab switch.
  • Fixed: Issue where progress bars could disappear on tab switch.
  • Fixed: Issue where the GUI state of dragline position + pane size was not persisted between window instances and resulted in an unwanted state upon opening the window.

Deployment API SDK 1.1.2

  • Added: DeploymentWindow API which allows easy interaction with the Deployment Window and its operations. This API is leveraged by new UIs in the supported packages.
  • Fixed:
    SetStatusSeverity
    was flipping message and detail.
  • Fixed: Made main operations of Deployment Window publicly available.
  • Fixed: Added auxiliary interfaces and classes for CLI interoperability.

Cloud Code

  • Added: View in Deployment Window button in
    .ccmr
    and
    .js
    files, dependent on Deployment package version 1.4.0.
  • Added: View in Dashboard button in inspector for
    .ccmr
    and
    .js
    files.
  • Added: View in Dashboard context menu in Deployment Window for
    .ccmr
    and
    .js
    files.
  • Added:
    Open Solution
    button to
    .ccmr
    inspector.
  • Added: Enum support for Cloud Code Bindings generation.
  • Fixed: Support for various primitive types in Cloud Code Modules binding generation.
  • Fixed: In-script parameters analysis throws an exception in Unity 6.
  • Fixed: Browse... button in
    .ccmr
    inspector now opens the current solution folder properly.
  • Fixed: Cloud Code Binding generation of primitive types.
  • Fixed: Binding Generation attempts to run in the latest available runtime. This can be disabled with CLOUD_CODE_AUTHORING_DISABLE_VERSION_DETECT flag.
  • Fixed: Compatibility with Deployment 1.3.

September 2024

Cloud Code

Vivox (Voice and Text Chat)

  • Released: Version 16.5.0 of the Vivox Unity package.
    • This release adds limited support for Vivox WebGL.
  • Changed:
    • Moved the IVivoxTokenProvider validation step from Vivox SDK initialization to the Login operation.
  • Fixed:
    • Improved the overall experience of interacting with the Audio Tap inspector by registering the tap only after all fields are fully edited, instead of on every character entry.
    • Fixed a bug where the "Channel Name" field for Audio Taps would reset to empty when an unexpected value was entered.
  • Released: v5.25 of all Vivox SDKs.

Service APIs SDK 1.1.0

  • Changed: Multiplay Admin APIs are no longer under the 'ENABLE_SERVICES_EXPERIMENTAL_APIS' define symbol. However, API clients do not include these by default. To call Multiplay Admin API operations, add the
    EXPERIMENTAL
    directive to your player settings.
  • Changed: MatchmakerTicketsAPI is no longer under the 'ENABLE_SERVICES_EXPERIMENTAL_APIS' define symbol. However, API clients do not include this by default. To call MatchmakerTicketsAPI operations, add the
    EXPERIMENTAL
    directive to your player settings.
  • Changed: IServerClient.SignInFromServer is no longer under the 'ENABLE_SERVICES_EXPERIMENTAL_APIS' define symbol.
  • Changed: ProxyApi is no longer under the 'ENABLE_SERVICES_EXPERIMENTAL_APIS' define symbol (SignInFromServer depends on this).
  • Changed: The Game.Friends API is no longer under the 'ENABLE_SERVICES_EXPERIMENTAL_APIS' define symbol.

Multiplayer Services 1.0.0

  • Fixed:
    • 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 Game Object.
    • Fixed occasional failure to fetch matchmaking results from P2P matches.
    • Fixed matchmaking results 204 exception.
    • Fixed error relating to
      ENABLE_UCS_SERVER
      scripting define to support limited server functionality via Play Mode using non-server build profile.
    • Fixed
      TaskCanceledException
      when starting a SQP server in Game Server Hosting.
    • Fixed
      SavePropertiesAsync
      not saving session fields if properties are unchanged.
    • Fixed typo in
      SessionError
      .
    • Matchmaker deployment windows:
      • Fixed deploying queue when remote queue has filtered pools.
      • Fixed deploying queue when remote queue has no pools.
      • backfillEnabled
        is no longer ignored.
      • defaultQoSRegionName
        is now documented as required.
      • defaultQoSRegionName
        is now a valid region
        North America
        .
      • Both Queue and Environment config files now have the
        $schema
        doc field.
  • Changed:
    • Made QoS Calculator internal
    • Modified the Game Server Hosting configuration schema:
      • Marked server hardware settings as deprecated in 'buildConfigurations'.
    • Updated Distributed Authority session properties.
    • Set sessions' connection metadata visibility to
      Member
      .
    • Enhanced exception messages on ClientServerBootstrap worlds checks.
  • Added:
    • Added QoS region selection for Distributed Authority session creation if none is passed.
    • Added an API to query the sessions where the player has joined:
      IMultiplayerService.GetJoinedSessionIdsAsync
      .
    • Added a way to reconnect to a session:
      IMultiplayerService.ReconnectToSessionAsync
      .
    • Added exclude paths on a Game Server Hosting build, that support basic patterns (*, ?).
    • Modified the Game Server Hosting configuration schema:
      • Added server density settings ('usageSettings') in 'fleets'.
    • Added validation when accessing the
      IMultiplaySessionManager.Session
      .
  • Improvements:
    • Updated documentation to replace Game Server Hosting branding with Multiplay Hosting.
    • Fixed broken links in Multiplay Hosting documentation.
    • Updated dependency on
      com.unity.services.wire
      to 1.2.7 to fix reconnection issues, notably with Lobby.
    • Changed minimum required version for Netcode for GameObjects from 2.0.0-pre.3 to 2.0.0.
    • Changed minimum required version for Netcode for Entities from 1.3.0-pre.2 to 1.3.2.

August 2024

Analytics SDK 6.0.1

  • Added: New Analytics Debug Panel accessible in the Unity Editor from Services -> Analytics -> Debug Panel
  • Changed: The minimum supported editor version for the UGS Analytics SDK is now 2021.3
  • Removed: All methods, classes and structs marked as
    Obsolete
    in earlier versions of the SDK have been removed (if you have trouble upgrading, move to 5.1.0 first, fix the deprecation warnings there, then move to 6.0.0)

Vivox Safe Voice

  • Released: The Safe Voice self-serve flow has been released as part of the Vivox Unified Safety Platform.

Vivox Safe Text

  • Released: The Safe Text self-serve flow has been released as part of the Vivox Unified Safety Platform.

Service APIs SDK 1.0.1

  • Added: Package released out of experimental
  • Changed: Moved functionality from multiple services under the ENABLE_SERVICES_EXPERIMENTAL_APIS define symbol
  • Fixed: Deserialization error in Observability GetLogs function

Multiplay Hosting SDK 1.2.5

  • Added: API to interact with Admin API
  • Added: API to interact with deployment capabilities
  • Changed: Made upload more robust in some cases of partial success
  • Fixed: Issue where gsh deploy upload may fail in some cases. A partial upload would not be retried and a subsequent build version would fail to be created
  • Fixed: With the upload command. It would not wait for sync if there was nothing to do.

July 2024

CLI 1.6.0

  • Added: [Game Server Hosting] Added support for Google Cloud Storage (GCS) as a source for Builds and Build Configurations.
  • Changed: [Game Server Hosting] Mark options:
    --speed
    ,
    --cores
    and
    --memory
    for CREATE and UPDATE of
    gsh build configuration
    as deprecated to allow for backwards compatibility.
  • Changed: New usage should be set on the fleet using server density configuration
  • Fixed: [Remote Config] Fixed import and export on an empty environment.
  • Fixed: [Cloud Content Delivery] Now normalizing the path to always use forward slashes even on windows platform.

Multiplayer SDK 1.0.0-pre.1

  • Added: Adding the ability to update the session published port (NetworkConfiguration.UpdatePublishPort) to enable auto-port selection in network handlers.
  • Added: View in Deployment Window button for Multiplay Hosting and Matchmaker config as code resource files, dependent on Deployment package version 1.4.0.
  • Changed: Updating direct network options default values: listenIp and publishIp default to 127.0.0.1, port defaults to zero
  • Changed: Updating network support in sessions for netcode for entities to version 1.3.0-pre.2.
  • Changed: Updating network support in sessions for netcode for game objects v2 to version 2.0.0-pre.1 (required for distributed authority)
  • Fixed: Fix issue where gsh deploy upload may fail in some cases

Matchmaker SDK 1.1.5

  • Fixed: Fix ABTesting overrides on non-default environment

June 2024

In-App Purchasing SDK 4.12.1-pre.4

  • Added: Google Play-
    IGooglePlayStoreExtensions.GetObfuscatedAccountId(Product product)
    has been added to obtain the obfuscated account ID of the purchase set with
    IGooglePlayConfiguration.SetObfuscatedAccountId
    .
  • Added: Google Play-
    IGooglePlayStoreExtensions.GetObfuscatedProfileId(Product product)
    has been added to obtain the obfuscated profile ID of the purchase set with
    IGooglePlayConfiguration.SetObfuscatedProfileId
    .
  • Added: Apple - Added visionOS support
  • Changed: Google Play- Billing Library updated to 6.2.1 (was previously 5.2.1). No new feature support was added. Subscriptions must still have only 1 base plan.
  • Changed: Google Play- Dependencies are now injected in the gradle files. The Billing aar is no longer included.
  • Changed: Google Play- Updated the internal implementation to use
    productDetails
    instead of
    skuDetails
    to solve the
    setOfferToken
    warning issued by Google.
  • Changed: Google Play-
    IGooglePlayStoreExtensions.GetPurchaseState(Product product)
    has been updated to use the getPurchaseState() instead of getOriginalJson(). This change will make the purchase state more reliable.
  • Changed: Google Play-
    IGooglePlayStoreExtensions.ConfirmSubscriptionPriceChange
    has been marked
    [Obsolete]
    as it is no longer supported since Google Play Billing Library 6.0.0. For alternatives, see the price changes guide.
  • Changed: Google Play-
    IStoreListener.OnInitializeFailed
    for
    InitializationFailureReason.PurchasingUnavailable
    will now return the BillingResponseCode when product retrieval is successful, but an error occured and no products were returned.
  • Changed: Apple - Retrieved purchases from the store will be considered as
    appleProductIsRestored
    .
  • Changed: Apple -
    Product.appleProductIsRestored
    will no longer be sent to
    ProcessPurchase
    since they have already been processed.
  • Changed: Apple - The changes above will improve Analytics data by avoiding duplicate purchase events.
  • Changed: Upgraded
    com.unity.services.core
    from 1.8.2 to 1.12.5 to include their Apple privacy manifest.
  • Fixed: Fixed
    OnPurchaseFailed
    - It now returns the
    productId
    (previously the
    transactionId
    ) in the
    PurchaseFailureDescription
    when the product isn't available for purchase.
  • Fixed: Fixed a NullReferenceException when retrieving products on Unity Engine 2020.
  • Fixed: Google Play- Fixed errors related to
    CloneReference
    on Unity Engine 2021.1.
  • Fixed: Google Play- Fixed an issue where dependencies were added after dependency resolution happened resulting in an error.
  • Fixed: Google Play- Fixed
    Product.receipt
    's
    price_amount_micros
    returning the price instead of the price in micro-units.
  • Fixed: Google Play- Fixed
    NullReferenceException
    occurring when retrieving products on Unity Engine 2021.2 and earlier.
  • Fixed: Google Play- Fixed
    OnProductReceived
    callback not being fired with an invalid ProductID.
  • Fixed: Google Play- Fixed an issue that happens on Windows when disabling the IAP Dependencies.
  • Fixed: Google Play- Fixed an
    InvalidOperationException
    that could occur when obtaining purchases. (Since Unity IAP 4.6.0)
  • Removed: Google Play- The
    iconUrl
    and
    skuDetailsToken
    sub-entry to the
    Product.receipt
    's
    "Payload"
    's
    "skuDetails"
    will now return an empty string since they are no longer supported.
  • Removed: Removed unnecessary Android dependency,
    androidx.activity:activity-compose:1.3.1
    , which could cause conflicts with other plugins.

Core SDK 1.13.0

  • Added: Initialization success and failure events to UnityServices.

CLI 1.5.0

  • Added: Cloud Save module service commands. Run ugs cloud-save -h to show usage.
  • Added: Support for Matchmaker to Deploy and Fetch.
  • Fixed: Now supporting multiple entries on --services and --key options.
  • Fixed: Cloud Content Delivery issue of content upload failure or timeouts for large files.

Cloud Code SDK 2.7.1

  • Added: A MessageBytesReceived callback has been added to the available subscription event callbacks
  • Added: Service registration to the core services registry
  • Added: Service access through the core services registry (UnityServices.Instance.GetCloudCodeService())
  • Added: A button to browse your files when choosing a path for a Cloud Code Module
  • Changed: The MessageReceived callback will no longer be fired upon receiving bytes via the event subscription
  • Fixed: Bindings generation is broken when ILogger dependency injection is used
  • Fixed: Cloud Code modules now cleans up compilation artifacts after deploying or generating bindings
  • Fixed: Cloud Code runtime timeout increased to 30 seconds
  • Fixed: Moved create Cloud Code Asset menu items under "Services"

Tooling SDK 1.1.0

  • Fixed: Warning about the
    Unity.Services.Tooling.Editor
    assembly being empty
  • Fixed: Moved create Access Control configuration menu item under "Services"

May 2024

Analytics Dashboard

  • Changed: Improved rendering performance of pie charts in dashboards
  • Changed: Event Manager now displays the total number of valid and invalid events received in the past 24 hours.

April 2024

Vivox (Voice and Text Chat)

  • Released: Version 16.3.0 of the Vivox Unity package.
    • This release adds the new required PrivacyInfo.xcprivacy file to our Apple platforms.
  • Released: v5.23.1 of all Vivox SDKs.
    • This release adds the new required PrivacyInfo.xcprivacy file to our Apple platforms.

Economy SDK 3.4.0

  • Added: Support for services instances and global point of access.
  • Added: Apple privacy manifest to comply with Apple's new privacy requirements. More details on how the Unity Engine supports this can be found here.
  • Changed: Upgraded com.unity.services.core from 1.12.0 to 1.12.5 to include their Apple privacy manifest.
  • Changed: Upgraded com.unity.services.authentication from 3.1.0 to 3.3.1 to include their Apple privacy manifest.

User Generated Content SDK 3.0.1

  • Added: Apple privacy manifest to comply with Apple's new privacy requirements. More details on how the Unity Engine supports this can be found here.
  • Changed: Upgraded com.unity.services.core from 1.9.0 to 1.12.5 to include their Apple privacy manifest.
  • Changed: Upgraded com.unity.services.authentication from 2.5.0 to 3.3.1 to include their Apple privacy manifest.

Core SDK 1.12.5

  • Added: Apple privacy manifest file (PrivacyInfo.xcprivacy).
  • Fixed: Issue with the optional
    FEATURE_SERVICES_INSTANCES
    preprocessor define.

Tooling SDK 1.0.0

  • Added: Deployment implementation for Access Control.
  • Added: New-file contextual menu item for creating Access Control configurations.
  • Added: Access Control configuration asset inspector.
  • Added: Access Control deployment documentation.

CLI 1.4.0

  • Fixed: Improved Cloud Code script in-script parameter wrong argument type parsing error.
  • Fixed: Cloud Content Delivery Module Service commands. Run
    ugs ccd -h
    to show usage.
  • Changed: The env list command now outputs as a table.

Authentication SDK 3.3.1

  • Added: Support for running different profiles when using Multiplayer Play Mode.
  • Added: Apple Privacy Manifest.
  • Fixed:
    AuthenticationState
    is left in invalid state when event handlers of
    PlayerID
    ,
    AccessToken
    or
    SessionToken
    throw exceptions.
  • Fixed:
    NullReferenceException
    in Player Accounts SDK if not properly set up and the application received a deep-link request.

March 2024

Use Cases Samples 2.0.0

  • Changed: The use cases are now compatible with the Deployment package and can deploy most of their service configuration using the Deployment window.
  • Changed: Reverted project to be on 2021.3 by default so that we enable an easier compatibility with all current LTS version.
  • Changed: Removed CCD addressable features and the Over the Air Content use case. Addressables and CCD are demonstrated in a number of other samples already.
  • Changed: Removed Ads features and the Ads use case. Ads are demonstrated in a number of other samples already.
  • Fixed: Battle Pass README had the incorrect key name for its virtual purchase. The correct key name is BATTLE_PASS_PURCHASE.
  • Fixed: Battle Pass README didn't list the entire Game Override content for the BATTLE_PASS_REWARDS_FREE and BATTLE_PASS_REWARDS_PREMIUM keys. That has been added in separate Game Overrides documentation files.
  • Fixed: Seasonal Events README had the wrong name for its Cloud Code scripts. Both should start with the prefix SeasonalEvents_.
  • Fixed: Removed legacy fields that prevented remote config from being parsed.
  • Fixed: WebGL compatibility issues with Cloud Code and the Virtual Shop.

Analytics Dashboard

  • Released: Data Explorer V2 in Open Beta.
    • Includes a new and improved user experience with enhanced capabilities, such as custom dimensions.

Vivox (Voice and Text Chat)

  • Released: Version 16.2.0 of the Vivox Unity package.
    • This release includes a new API for Speech-to-text along with other improvements and bug fixes.
    • This release introduces support for Windows ARM64.
  • Released: v5.23.0 of all Vivox SDKs.
    • This release contains various bug fixes and improvements.

In-App Purchasing SDK 4.11.0

  • Added:
    IGooglePlayConfiguration.SetMaxConnectionAttempts(int maxConnectionAttempts)
    to specify the max connection attempts to the Google Play Store.
  • Added: Privacy manifest to comply with Apple's new privacy requirements. For more details on how the Unity Engine supports, refer to the forum.
  • Added:
    ConfigurationBuilder.logUnavailableProducts
    to specify if unavailable products should be logged.
  • Changed: Google Play- The default max connection attempt to the Google Play Store has been increased from 1 to 3. See
    IGooglePlayConfiguration.SetMaxConnectionAttempts
    to configure this to a different value.
  • Changed: Apple - The log when retrieving products (SKProductsResponse) now also contains the invalid products count.
  • Changed: Improved
    IStoreListener.OnInitializeFailed
    for
    InitializationFailureReason.NoProductsAvailable
    by adding a message to clarify whether the store returned products or not.
  • Fixed: Google Play- Fixed AndroidJavaObject not being disposed causing a global reference table overflow in an edge case.
  • Fixed: Google Play- Fixed bug causing BillingClient duplication resulting in ANR.
  • Fixed: Apple - Fixed isFamilyShareable on tvOS to be only available on supported versions (14.0 and above).
  • Fixed: Apple - Error codes when a purchase fails now always returns the code from Apple instead of defaulting to
    SKErrorUnknown
    .
  • Fixed: Analytics' transactionServer being null.

Core SDK 1.12.4

  • Added: Support to
    -no-cloud-project-bind-popup
    flag, to prevent the popup from showing.
  • Fixed: Bug where the project linking popup window would appear on Editor start after reimporting packages, even if the user's project was linked.
  • Fixed: Issue with .NET Standard target.

Cloud Code SDK 2.6.1

  • Added: Improved in-script parameter parsing error feedback.
  • Added: Added references of the latest javascript services SDKs for autocompletion.
  • Added: Cloud Code bindings generation.
  • Fixed: Error when selecting CloudCodeModuleReference assets in the Project window.
  • Fixed: JS script import when Node project is not initialized.

Cloud Save 3.1.1

  • Added: Added Apple Privacy Manifest.
  • Added: Support for Access Classes when interacting with Player Data, via the addition of optional
    options
    objects to existing methods in the
    CloudSaveService.Instance.Data.Player
    API. For more information on Access Classes, please refer to the documentation.
    • Allows players to save data to the Public Access Class in addition to the existing Default, which allows saved data to be visible to other players.
    • Allows players to read data from Public and Protected Access Classes in addition to the existing Default, where Protected Player Data can only be set by a server authoritative source (e.g. Cloud Code).
    • Allows players to read other players' Public Player Data, by providing their Player ID as part of the new
      options
      object.
  • Added: Support for Querying in both Public Player Data and Default Custom Data, via the new
    QueryAsync
    method. For more information on Querying, please refer to the documentation.
    • Any data for which an index is configured can be queried by specifying filters on the indexed data (e.g. clanMemberCount < 20).
    • Any data stored for the returned entities (whether indexed or not) can be retrieved as part of the query response by specifying
      ReturnKeys
      in the
      Query
      object.
  • Changed: The existing
    CloudSaveService.Instance.Data.Player.DeleteAsync
    has been marked as Obsolete, with a new version added that accepts options of type
    CloudSave.Models.Data.Player.DeleteOptions
    instead of
    CloudSave.DeleteOptions
    . This enables the addition of new options to support Access Classes (see above in Added).

Lobby SDK 1.2.0

  • Added:
    EnableLocalPlayerLobbyEvents
    to enable/disable Lobby events triggered by the local player.

CLI 1.3.0

  • Added: Added new service module Scheduler.
  • Added:
    new-file
    for deployment.
  • Added:
    list
    to see live schedules.
  • Added: Support for support Scheduler service to Deploy and Fetch.
  • Added: Fetch for Triggers.
  • Added:
    --readiness
    option to gsh build configuration create command.
  • Added:
    --readiness
    option to gsh build configuration update command.
  • Added: Game Server Hosting
    core-dump
    command to configure an external storage location for core dumps (GCS only).
  • Added:
    --build-version-name
    option to gsh build create/create-version commands.
  • Fixed: New-file command error for directory that does not exist.
  • Fixed: Deploy no longer requires permissions for services not being deployed, unless reconcile is specified.
  • Fixed: Fixed Economy fetch issue making it not idempotent.
  • Fixed: Fixed issue where issues after loading were not reported when deploying CloudCode modules.
  • Fixed: Fixed issue where deploying a solution as Cloud Code Module will be logged with the solution path and not the generated ccm.
  • Changed: Improved the error description when failing to deploy a solution with no clear main entry project, for Cloud Code Modules deployment.

February 2024

Cloud Services APIs SDK 0.1.1 (Experimental)

The new experimental Cloud Services APIs package provides low-level access to all public APIs by using our OpenAPI specifications. This enables you to extend UGS and build your own solutions. To install the package in the Unity Editor, in the Package Manager, select Install package by name and add the package name
com.unity.services.apis
.
For more information on this package, refer to the Unity forum.
  • Added: API Editor samples & tutorials, available from the Services/API Samples menu item.

January 2024

Authentication SDK 3.3.0

  • Added:
    LastNotificationDate
    field to inform the client of the player's notifications last created date.
  • Added:
    GetNotificationsAsync
    method so the client can request the player's notifications.
  • Added:
    Notifications
    field to cache the notifications after GetNotificationsAsync is called.
  • Added:
    BannedUser
    error code to identify an exception when a user has been banned.
  • Fixed: Authentication refresh and expiration scheduling relying on device time which could cause edge cases.

November 2023

Authentication SDK 3.2.0

  • Changed:
    Custom Token Exchange
    ID provider to
    Custom ID
    .
  • Added:
    GetCustomId
    method to
    PlayerInfo
    .
  • Added:
    SignInWithSteamAsync
    method with
    appId
    parameter for Multiple App Id Support.
  • Added:
    LinkWithSteamAsync
    method with
    appId
    parameter for Multiple App Id Support.
  • Added:
    Additional App IDs
    to Steam ID Provider for Multiple App Id support.
  • Fixed: Serialization of player accounts settings.

Core SDK 1.12.1

  • Changed: Rolling back interface constraint in service registry due to unforeseen breaking change with transitive dependencies.

User Generated Content SDK 3.0.0

  • Changed:
    GetTagsAsync
    to only returns tags for the current environment.
  • Changed: New or updated public content will now be
    public
    instead of
    publicGlobal
    .

User Generated Content Bridge 3.0.0

  • Changed:
    GetTagsAsync
    to only returns tags for the current environment.

Safe Voice BETA

  • Improved: We improved the toxicity detection in Safe Voice resulting in a 50% reduction in the rate of moment level toxicity misdetection.
  • Added: Introduction of a new toxicity tag called “Aggressive Intent”. This tag will now highlight player behaviour characterised by extreme language that was delivered with aggressive intonation.

CLI 1.2.0

  • Added: Support for usage settings under
    gsh fleet
    commands.
  • Added:
    gsh server files list
    and
    gsh server files download
    .
  • Fixed: Economy deserialization error message when receiving invalid response.
  • Fixed: Issue where deploying a leaderboard would fail to remove Tiering and Reset config.

Push Notifications

  • Fixed: Push Notifications targeting custom audiences that include date comparisons in their definition send successfully.
  • Added: Improved setup documentation for iOS notifications.

Remote Config

  • Added: Template feature, allowing developers to set JSON schemas for their keys adding a layer of security against altering values that break player experiences. Learn more in the Template documentation.

Game Overrides

  • Added: Support for Remote Config Templates added to Game Overrides allowing for safer overriding of Remote Config values.

Deployment SDK 1.2.1

  • Added: Improved overall UI performance when using multiple services.

October 2023

Analytics SDK 5.0.1

  • Fixed: batteryLoad and deviceVolume values are no longer stale when included in some events.
  • Fixed: Unity Player ID is no longer included twice in some events.
  • Fixed: The Configure button in Unity Package Manager now correctly leads to the Analytics - Gaming Services page in Project Settings.
  • Fixed: ClearBuffer(...) no longer throws ArgumentException if a player requests data deletion while an event batch upload is in progress.
  • Improved: Recording event timestamp and integer values is now slightly faster and generates fewer memory allocations.
  • Changed: The
    PrivacyUrl
    property now returns a link to the latest Game Player and App User Privacy Policy page: https://unity.com/legal/game-player-and-app-user-privacy-policy.

Authentication SDK 3.1.0

  • Added: Support for the
    Custom ID
    ID Provider.
  • Added:
    ProcessAuthenticationTokens
    method to enable Custom ID sign-in using the SDK.
  • Added: Support for the
    Unity Player Accounts
    ID Provider in the
    Unity.Service.Authentication.PlayerAccounts
    package.
  • Added:
    PlayerAccounts.StartSignInAsync
    to begin the
    Unity Player Accounts
    sign-in flow.
  • Added:
    PlayerAccounts.SignOut
    to sign out the current player.

CLI 1.1.0

  • Added: Bash installer to download and install the UGS CLI on MacOS and Linux
  • Added: Config as code support for economy module
    • Deploy
    • Fetch
  • Added: Config as code support for access module
    • Deploy
    • Fetch
  • Added:
    new-file
    commands for economy resources
    • For inventory items
    • For currencies
    • For virtual purchases
    • For real-item purchases
    • For Cloud Code C# Modules
    • For project access policies
    • For triggers
  • Added: support for .sln files on deploy
  • Added: .sln files now are compiled and zipped into .ccm before deploying
  • Added: Added config as code support for triggers
    • Deploy
  • Changed: Services can support multiple file extensions
  • Changed: Updated server states in
    ugs gsh machine list
  • Fixed: Handle exceptions when using Deploy with a Remote Config file that has unsupported config types.
  • Fixed: Issue where if a leaderboard fails to load, it incorrectly deploys as a empty leaderboard and it is not reported
  • Fixed: Added correct description when Cloud Code deploy has duplication file error during dry-run.
  • Fixed: Issue with
    ugs gsh fleet-region update
    not ensuring the fleet region is brought online by default.
  • Fixed: Handle exception for mis-spelt bool input params for
    ugs gsh fleet-region update
    command.
  • Fixed: Issue with Deploy and Fetch on Remote Config containing JSON arrays.

In-App Purchasing SDK 4.10.0

  • Changed: Unity Distribution Portal - IAP will retract support for UDP at some point in the near future (Announcement TBD). Until then, all UDP features will continue to function, but the public interfaces, as well as some private functions are now marked
    [Obsolete]
    . In the next major update these will all be removed and UDP will cease to function with that version of In-App Purchasing and those that follow.
  • Changed: Unity Distribution Portal - If the Editor can't connect to the UDP backend, you can now use some UDP catalog features in offline mode. This allows you to continue to enter prices; you must sync the prices manually. In this case, Unity recommends you sync your prices properly when connection is re-established. A warning message displays in the Catalog if the Editor can't connect to the UDP backend.
  • Changed: Analytics - The Legacy Analytics built-in module,
    com.unity.modules.unityanalytics
    , is no longer a dependency; you can remove it from your project if you don't use it. Make sure it is in your project if you do use it.
  • Changed: Project Settings - In the Services Project Settings page of the Editor, we have changed the endpoint from which the Google Play Key is obtained. Also, instead of setting the key directly in the Editor, there is now a Dashboard link to set it directly on the backend to avoid future errors.
  • Fixed: Google Play - Some versions of the Unity Editor compiler were stripping
    GooglePurchaseUpdatedListener.onPurchasesUpdated
    , which was assigned as a callback to the Google Billing module, causing a lack of purchase failure callbacks, and logging
    "No such proxy method:"
    . Also fixed this for
    BillingClientStateListener.onBillingServiceDisconnected
    ,
    BillingClientStateListener.onBillingSetupFinished
    and
    SkuDetailsResponseListener.onSkuDetailsResponse
    .

User Generated Content SDK 2.0.0

  • Improved: Quick Start Guide and API documentation.
  • Changed: Updated
    com.unity.services.core
    dependency from
    1.7.1
    to
    1.9.0
    .
  • Changed: Updated
    com.unity.services.authentication
    dependency from
    2.4.0
    to
    2.5.0
    .
  • Added:
    ContentVisibility
    options:
    public
    and
    unlisted
    .
  • Deprecated:
    ContentVisibility
    options:
    publicGame
    and
    publicGlobal
    . Use
    public
    instead.
  • Removed:
    OwnerAccountId
    from
    ContentDTO
    model.
  • Removed:
    ContentDownloadStatistics
    from
    ContentStatistics
    model.
  • Removed:
    Subscribers
    from
    ContentStatistics
    model.
  • Removed:
    ContentReportStatistics
    from
    ContentStatistics
    model.
  • Removed:
    ContentRatingStatistics
    from
    ContentStatistics
    model.
  • Removed:
    ContentPortalVisitStatistics
    from
    ContentStatistics
    model.

User Generated Content Bridge 2.0.0

  • Added: Examples to use external authentication in
    External Authentication Step
    .
  • Added: OAuth authentication support with Authentication package dependency.
  • Added: Dependency to
    com.unity.services.authentication
    version
    3.0.0
    .
  • Added:
    ContentVisibility
    options:
    public
    and
    unlisted
    .
  • Deprecated:
    ContentVisibility
    options:
    publicGame
    and
    publicGlobal
    . Use
    public
    instead.

Game Overrides

  • Added: Ability to create A/B tests with statistical significance tracking. Refer to A/B Testing to learn more about how to leverage this new feature.
  • Changed: Goal metrics are now only available for A/B tests with statistical significance tracking.

Remote Config SDK 4.0.0

  • Changed: Dropping support for Unity 2019 & 2020, minimum Editor version is now 2021.3
  • Changed: Updated com.unity.remote-config-runtime dependency to 4.0.1
  • Fixed: Issue deploying a remote-config containing JSON array with the Deployment Window

Economy SDK 3.3.0

  • Added: Schema field to economy resource files.
  • Added: Economy resource deployment support through the Deployment Window or Deployment api.
  • Fixed: Bug preventing from deploying economy resource containing schema field.
  • Fixed: Bug where deploying a local Currency resource file that omits initial and max would not update the remote resource to their default values.
  • Fixed: Bug where deploying a local resource file that omits customData would not update the remote resource to a default customData.
  • Fixed: Bug that would halt the deployment's execution when a local resource file's content failed to be deserialized.

Cloud Code SDK 2.5.1

  • Added: Editor support for Cloud Code C# Modules deploy.
  • Fixed: Fixed Cloud Code C# modules authoring support for solutions with multiple projects.

Leaderboards SDK 2.0.0

  • Added: Optional object metadata in all score-fetching methods. If populated, the object will be stored alongside the score.
  • Added: Optional boolean includeMetadata in all score-fetching methods. If true, stored metadata for scores will be returned as part of the LeaderboardEntry.
  • Added: Optional integer limit on GetVersionsAsync method. If set, only the most recent limit number of archived versions will be returned.
  • Added: GetVersionsAsync now returns string versionId (the current version of the leaderboard) and int totalArchivedVersions (the total number of archived leaderboard versions stored).
  • Added: Optional string versionId on the AddPlayerScoreAsync method. If set, the versionId will be compared to the current live leaderboard versionId. If they do not match, the score will not be submitted.
  • Added: Editor support for Config-as-Code.

Game Server Hosting (Multiplay) SDK 1.1.1

  • Added: Support for editor authoring of Game Server Hosting files.
  • Added: Support for Deployment Window
  • Fixed: When creating a build, avoid switching target as this can cause a domain reload, instead emit a warning

Deployment SDK 1.2.0

  • Added: New Type column in the Deployment window.

Core SDK 1.12.0

  • Added: service registry and new package initialization interface for enabling instances and editor-time services.
  • Fixed: Resolved issue with IAccessTokens reaching rate limit.

September 2023

Voice and Text Chat (Vivox)

  • Released: v16 of the Vivox Unity package.
    • Unity v16.0.0 is a major update to the Vivox API which will require manual changes. Follow the 16.0.0 upgrade guide to upgrade an existing Unity Vivox implementation to this new version.
    • This version also supports the Vivox Text Chat Open Beta features.
  • Released: v5.21.1 of all Vivox SDKs.
    • This release contains various bug fixes and improvements.

Push Notifications 4.0.0-pre.1

  • Released: 4.0.0-pre.1 version
  • Changed: You can now only subscribe to
    OnNotificationReceived
    before calling
    RegisterForPushNotificationsAsync
    • Once
      RegisterForPushNotificationsAsync
      completes,
      OnNotificationReceived
      will be invoked if the app was launched from a remote notification
  • Changed: Updated
    com.unity.services.analytics
    dependency to
    5.0.0
  • Changed: Updated
    com.unity.services.core
    dependency to
    1.10.1
  • Changed: Added
    com.unity.mobile.notifications
    version
    2.2.0
    as a dependency.
  • Fixed: Behaviour when the app is launched from a push notification is now consistent between iOS and Android (incoming push notification data is broadcast after
    RegisterForPushNotificationsAsync
    flow is complete)

August 2023

Authentication 3.0.0

  • Added:
    Code-Link
    Identity Provider.
  • Added:
    GenerateSignInCodeAsync
    ,
    SignInWithCodeAsync
    ,
    GetSignInCodeInfoAsync
    and
    ConfirmCodeAsync
    APIs for use with the
    Code-Link
    Identity Provider
  • Changed:
    GetPlayerNameAsync
    accepts a
    autoGenerate
    parameter to prevent it from auto-generating a player name when the player has yet to create a player name.

Analytics SDK 5.0.0

  • Added: New initialization and consent flow. Please see the migration guide for more information: https://docs.unity.com/ugs/en-us/manual/analytics/manual/sdk5-migration-guide
  • Deprecated: The old initialization and consent flow should no longer be used and will be removed in a future version of the SDK. Please see the migration guide for more information: https://docs.unity.com/ugs/en-us/manual/analytics/manual/sdk5-migration-guide
  • Changed: Updated
    com.unity.services.core
    dependency to 1.10.1
  • Changed: The package no longer has a dependency on Newtonsoft.Json
  • Changed: The package now has a dependency on the Unity JsonSerialize module (JsonUtility)
  • Changed: A number of elements that were previously marked as Obsolete have now been removed
  • Fixed: Analytics no longer blocks services initialization (
    UnityServices.InitializeAsync
    ) if there is no internet connection
  • Fixed: It is now possible to opt in to data collection during a session where the player has previously opted out (requires migration to the new consent flow)
  • Fixed: Application.persistentDataPath is no longer requested on some platforms where access to the file system is denied by default
  • Fixed: Event buffer is now cleared on a wider variety of server responses
  • Fixed: Events are more eagerly cached to disk (if available) on shutdown to prevent data loss if game is closed while offline
  • Fixed: Data deletion requests are now sent using the custom user ID if one is set, instead of always using the installation ID

Remote Config

  • Changed: All variants for Remote Config keys are now displayed in the Game Overrides table.

July 2023

Voice and Text Chat (Vivox)

  • Released: Vivox Text Chat in Open Beta.
    • Includes the following features: Chat History, Edit/Delete, Adaptive Chat Filter, Anti-flooding, Text evidence management, and large channel support.
  • Changed: Critical changes that render previous versions of Voice and Text Chat (Vivox) obsolete.

Game Overrides

  • Changed: Visual improvements to campaign details pages.

Push NotificationsBETA

  • Fixed: Test tool UI now returns a warning when provided with an invalid token.

Authentication

  • Added:
    SignInWithSteamAsync
    and
    LinkWithSteamAsync
    methods with
    identity
    parameter which provides increased security.
  • Changed: Marked previous versions of
    SignInWithSteamAsync
    and
    LinkWithSteamAsync
    methods as obsolete.
  • Added:
    Username/Password
    Identity Provider.
  • Added:
    SignInWIthUsernamePasswordAsync
    ,
    SignUpWithUsernamePasswordAsync
    ,
    AddUsernamePasswordAsync
    , and
    UpdatePasswordAsync
    APIs for use with the
    Username/Password
    Identity Provider.
  • Added:
    IAccessTokenObserver
    component for notifying when the access token changes.

CLI 1.0.0

  • Added: Leaderboards now supports the
    ugs deploy
    and
    ugs fetch
    commands at the root.
  • Added: Leaderboards now supports
    new-file
    , to create an empty file for leaderboards.
  • Added: Game Server Hosting Module Service commands. Run
    ugs gsh -h
    to show usage.
  • Added: Supports builds, build configurations, fleets, fleet regions and servers.
  • Added: Deployment Definitions to the Deploy and Fetch commands.
  • Added: Analytics related to command usage and options used.
  • Added: Deploy/Fetch return an array in a table-like format with -json flag enabled.
  • Added: Deploy sends file configurations into the service.
  • Added: Fetch updates local files based on service configuration.
  • Changed: Removed Leaderboards support to
    create
    and
    update
    commands in favor of
    deploy
    and
    fetch
    .
  • Fixed: Implement JsonConverters to prevent NotImplementedException when converters are invoked by reflection.
  • Fixed: A bug with the login command when stdin is redirected.
  • Fixed: A bug preventing Remote Config fetch dry run to update the fetched file name.

Core SDK 1.11.0

  • Added: IServerAccessToken and IServerEnvironmentId components for packages that want to support running operations in the context of a server.
  • Added: IAccessTokenObserver component for packages to be notified of changes to the IAccessToken value.
  • Fixed: A bug logging an additional error when deploying a file.

June 2023

Relay

  • Changed: Updated the way region is selected when there is a lack of QOS results.

Remote Config

  • Added: Remote Config Runtime 4.0.1 promoted to production
  • Fixed: Bug Fixes (WebGL build enabled, fixed bug regarding persisting auth token when app goes in background)
  • Changed: Runtime Code now adheres more to UGS standards, many Quality-Of-Life improvements

Game Overrides

  • Fixed: It is no longer possible to delete Economy keys targeted by a Game Override.

Push NotificationsBETA 3.0.1-pre.1

  • Fixed: Filters in the web UI now work as intended.

Authentication

  • Added: Unity Player Accounts (beta) identity provider.
  • Added: Unity Player Accounts SDK (beta) released for Unity Editor versions 2020.3 and above. Windows, Mac, Linux, iOS, and Android platforms supported.
  • Added: Support for the Unity Player Accounts identity provider in the Authentication SDK.

Deployment 1.1.0

  • Added: Deployment now uses the main Environment Selector in Project Settings > Services > Environment, which can also be used to define the target runtime environment.
  • Added: Added inspector support for deployment definition exclude paths.
  • Added: Added support for deployment definition exclude paths in the Deployment window.

Core SDK 1.10.1

  • Added: The
    IAnalyticsUserId
    component to provide a way to obtain the user ID that the analytics SDK is currently recording events against.
  • Added: Added new environment selector in Project Settings > Services > Environments.
  • Added: Added new environment api to allow services to use a single access point for the current environment.

Remote Config Runtime 4.0.1

  • Changed: Dropped support for Unity 2020.3, minimum supported is 2021.3 now
  • Changed: Removed 2.x namespace and corresponding API's for backward compatibility with 2.x implementation
  • Changed: Removed static ConfigManager class
  • Changed: Updated SDK documentation regarding caching and unity attributes
  • Changed: Updated
    com.unity.services.core
    dependency from
    1.5.2
    to
    1.8.1
  • Changed: Promote Candidate Experimental package to Verified Production
  • Changed: Updated delivery endpoint from
    https://config.unity3d.com/settings
    to
    https://config.services.api.unity.com/settings
  • Fixed: Added fix for inadvertently persisted auth token

UGC Bridge 1.0.1

  • Added: Initial release

Game Server Hosting SDK 1.0.5

  • Fixed: Issue where editors above 2020.3 were having deserialization errors on ReadyServerForPlayersAsync calls.
  • Fixed: Issue where deserializing a payload allocation was throwing an exception when used with Matchmaker.

In-App Purchasing 4.9.4

  • Changed: Google Play - Billing Library updated to 5.2.1 (was previously 5.1.0). No new feature support was added, this is simply to add compatibility with Android 14.
  • Changed: Apple - Using the CrossPlatformValidation (or AppleValidator), receipts will now be validated if their certificate chain is encoded in SHA-256 instead of SHA-1. Old receipts encoded in SHA-1 will still be validated. See Apple Technical Note.

Leaderboards 1.0.0

  • Added: Major release of the Leaderboards SDK, containing some added documentation and changes to the names, parameters, and namespace of the public interface.

Cloud Build 1.0.5

  • Added: Added define constraints to the package assembly to don't load on Unity versions < 2022.
  • Changed: Adjusted package accordingly to Unity Build Automation rebranding.
  • Fixed: Fixed documentation and dashboard links.

Player AccountsBETA 1.0.0-pre.2

  • Changed: Updated the core SDK dependency to latest version.

CLIBETA 1.0.0-beta.5

  • Added: Added Batching to import and deploy to help prevent "Too Many Requests" error.
  • Added: Cloud Code Modules now support
    import
    and
    export
    commands.
  • Added: Cloud Code Scripts now support
    import
    and
    export
    commands.
  • Added: Lobby now supports
    import
    and
    export
    commands.
  • Added: Leaderboards now support
    import
    and
    export
    commands.
  • Added: Remote Config now supports
    import
    and
    export
    commands.
  • Added: Alpine build now added to the release.
  • Added: New option
    --services
    to deploy and fetch commands. This option perform commands only to specified services.
    • [Breaking Change]: This option is mandatory when using the
      --reconcile
      flag.
[Breaking Change]: Cloud Code
list
command for Modules and Scripts is more descriptive. [Breaking Change]: Messages are directed to StdErr and Output into Stdout. [Breaking Change]: Cloud Code create, delete, get, list, new-file, publish and update commands are now under a parent command
scripts
and can be called with
cloud-code scripts <command>
. [Breaking Change: Deploy and Fetch output have been modified to match each other.
  • Statuses have been updated to reflect what is happening in the editor.
  • Changed: Using standardized output for all Import/Export implementations.
  • Changed: Plain text Deploy/Fetch Output now prints full path.
    • This is to disambiguate output regarding files with same name, but different path.
    • This allows to pipe individual parts such as
      ugs cmd 1>output 2>logs.txt
      .
    • In both JSON and regular formats.
  • Fixed: Cloud Code files that failed to read now reported properly in the output.
  • Fixed: Cloud Code deleted files properly reported in the Deploy output.
  • Fixed: Remote Config Entries properly reported in the Deploy output.
  • Fixed: Remote Config Fetch properly bubbles issues in loading files.
  • Fixed: An issue where fetching a file from Cloud Code that had no parameters would keep appending
    module.exports.parameters = {}
    .
  • Fixed: Using Cloud Code fetch and deploy multiple times no longer appends new lines.
  • Fixed: Improved error handling to provide more detail on certain unhandled exceptions.
  • Fixed: Cloud Code script with invalid parameters will fail to fetch and show in the "failed" result section.

May 2023

Cloud Content Delivery

  • Added: New Insights feature allowing users to access detailed CCD usage metrics.

Core 1.9.0

  • Added: New common error codes
    ProjectPolicyAccessDenied
    and
    PlayerPolicyAccessDenied
    .
  • Changed: Newtonsoft (de)serialization calls to be thread safe.
  • Changed: Bumped Newtonsoft dependency to 3.2.1 to use the latest stable version.

Remote Config 3.3.2

  • Changed: Updated implementation docs and ExampleSample.cs
  • Changed: Updated general support link in the docs
  • Changed: Improved load times when switching between versions in the UI.
  • Fixed: Deployable assets (.rc) not appearing on load in the Deployment Window with Unity 2022+.
  • Fixed: Deployment error message showing twice when duplicate keys are detected in different .rc file
  • Fixed: Compile warning was fixed

Cloud Code 2.3.2/2.4.0

  • Added: Subscription methods for player-specific and project-wide push messages from Cloud Code C# Modules.
  • Changed: Increased timeout from 10 seconds to 25 seconds.
  • Changed: Scripts are no longer cached, which would previously prevent deployments without a local change.
  • Fixed: When using JS Bundling, modifying an imported file will enable re-deployment for the main script.
  • Fixed: Selecting multiple .js files using in-script parameters, the inspector will now remain disabled for editing.
  • Fixed: When selecting multiple .js files or deployment definitions, the inspector will now properly refer to their actual types.
  • Fixed: Deployable assets (.js) not appearing on load in the Deployment Window with Unity 2022+.

Deployment 1.0.1

  • Fixed: Assets not appearing on load in Unity 2022.

Authentication 2.5.0

  • Fixed:
    • Properly disposing web request when using player names
    • Fixing exception reporting in some cases for the SignInFailed event
    • Remove time validation on client side, to prevent token expiry errors caused by the wrong date/time settings on devices.
    • Adding Preserve attributes to api models to prevent issues with code stripping for player names

Game Overrides

  • Fixed: Campaigns using Audiences which no longer exist are now displayed correctly.
  • Fixed: The Duplicate Audience button now works as intended.

Push NotificationsBETA 3.0.1-pre.1

  • Added: Improved performance and usability of the notification testing tool.
  • Added: Updated the integration guide to include Firebase App creation steps.

April 2023

CLIBETA 1.0.0-beta.4

  • Added:
    ugs fetch
    now supports cloud code scripts.
  • Fixed: Cloud Code script with invalid parameter will fail to deploy and show in deploy result in failed catagory.
  • Fixed: Deploying Cloud Code C# Modules that are empty or over the size limit of 10 MB doesn't fail silently anymore.
  • Changed: Replaced Jint with Node.js for cloud code javascript parameter parsing. Users need to install Node.js with version > 14.0.0 to parse cloud code javascript.

Core 1.8.2

  • Fixed: Fixed Newtonsoft usage so it isn't impacted by changes to JsonConvert.DefaultSettings anymore

Unity DevOps

  • Added: Unity Version Control:
    • Encryption support for Unity Version Control repositories
    • Embedded multimedia viewer to display videos, audio and 3D files (glb, gltf, obj)
    • Support adding groups as reviewers in code reviews
  • Added: Build Automation:
    • Search functionality for Build History
    • Bulk delete functionality for Build History
    • Universal Windows Platform (beta) support
  • Improved: Unity Version Control:
    • Full support for .fbx files in the embedded 3D Viewer, with embedded or external textures
  • Improved: Build Automation:
    • Now, the form clearly indicates to the user if they've made a change do their data, so they don't forget to save before leaving the page
    • Updated the Play button behaviour to support local webgl builds and custom template webgl builds
    • When modifying their Source Control settings, new users, or users without an UVCS organization, will now see a banner with helpful information about using Unity Version Control
    • Users now have the option to “Save and build” after modifying or creating their target

Remote Config 3.3.2-pre.2

  • Fixed: A single error message is now displayed when duplicate keys are detected in different
    .rc
    files
  • Fixed: Improved json deserialization for a better experience in the deployement window

Game Overrides

  • Added: Added support for an optional goal metric.
  • Added: Improved loading experience for the reporting summary table.
  • Added: Participant data now available in the reporting summary table.
  • Added: Total participants and Override length cards added to the reporting page.
  • Added: Override Started annotation added to the reporting page.
  • Fixed: Players without data now enter the “New Players” Audience where previously they wouldn’t.
  • Fixed: Crashing when switching projects during creation.

Analytics 4.4.2

  • Fixed: Revoking consent (opting out) now also uploads a data deletion request
  • Improved: Recording events is now significantly faster and generates fewer memory allocations

Analytics Dashboard

  • Added: New chart types in Data Explorer and SQL Data Explorer (pie chart, stacked bar chart)
  • Added: Option to create a pivot table in SQL Data Explorer

In-App Purchasing 4.8.0

  • Added: Added new IAP Button in the editor. This new button allows for more UI customization. The new button will no longer update the button fields by default.
  • Fixed: Google Play- Fixed No such proxy method exception in our representation of BillingClientStateListener.onBillingServiceDisconnected() introduced by Unity IAP 4.6.0
  • Changed: Removed com.unity.services.analytics from the IAP SDK dependencies.
  • Changed: Google Play - Billing Library update from version 4.0.0 to 5.1.0 Google Release Notes. New Google Billing features are not supported yet, they will be included in a future major update.
  • Changed: Upgraded com.unity.services.core from 1.5.2 to 1.8.1.

Push NotificationsBETA 3.0.1-pre.1

  • Added: Step-by-step setup guide.
  • Added: Updated settings page with clearer UI and test integration option.
  • Fixed: Crashing when switching projects during creation.

March 2023

Access Control

  • Added: A new feature to control API access to specific UGS products from authenticated players, read here for more details.

Unity DevOps

LeaderboardsBETA

FriendsBETA

Authentication 2.5.0-pre3

  • Added: Player Names:
    • UpdatePlayerNameAsync
      ,
      GetPlayerNameAsync
      ,
      PlayerName
  • Added: Player Management:
    • Dashboard: Enable/Disable Players
    • Public Admin API: Enable/Disable Players, List Players
    • UGS CLI:
      player
      module,
      create
      ,
      delete
      ,
      enable
      and
      disable
      commands
  • Changed: Player Management:
    • Player Overview: Include Creation date, Last login and Linked identities

Analytics Dashboard

  • Added: A new workflow for adding custom event definitions. Users can now submit events and our platform automatically captures the event payload to facilitate the creation of the event defintion.
  • Added: Summary row in Data Explorer. Users can now display the sum and average for each of the columns.
  • Changed: Updated table view in Data Explorer and SQL Data Explorer. Improves readability as well as provides sorting, column visibility and ordering options.

Analytics 4.4.1

  • Added: CustomData method now supports
    IDictionary<string,object>
    ,
    IList<object>
    and
    Enum
    parameters
  • Changed: Events are now serialised immediately when recorded rather than as part of the upload process. This should alleviate any hitches that might have been experienced during upload (every 60 seconds)
  • Changed: Updated
    com.unity.services.core
    dependency to 1.8.1
  • Fixed: Custom user ID can now be changed at runtime (by updating
    UnityServices.ExternalUserId
    )
  • Fixed: Changing ExternalUserId now takes effect immediately, rather than after an unpredictable delay
  • Fixed: Recording a single event that is too big to upload (over 4MB) no longer prevents any further events from being uploaded (event is immediately discarded with a warning)
  • Fixed: Session ID is now refreshed when application is paused for over 5 minutes (when Run In Background is false)
  • Deprecated: The
    RecordEvent(Event event)
    API is no longer supported and will be removed in a future version

Cloud Code

  • Added: A new set of APIs to create C# Modules in Cloud Code. Enabling code reuse, nuget dependencies, multiple endpoints per module, local unit testing and more.
  • Added: Cloud Code C# CLI module.
  • Added: Cloud Code SDK v2.3.1
    • Added: Support Cloud Code C# Modules.
    • Added: Support JS bundling.
    • Fixed: Fixed an issue with
      null
      paths on cloud code scripts.

Remote Config

  • Changed: Increased limit from 20,000 to 65,535 characters for string type values.
  • Changed: Removed 20,000 characters limit for json type values. Total configuration size per environment remains 5MB.
  • Fixed: Improved example for fetching and applying configuration in Remote Config Documentation and in
    ExampleSample.cs
    .

Game Overrides

  • Added: Relative chart type on the reporting page.
  • Added: End test functionality for multi-variant Game Overrides.
  • Added: Summary table on the reporting page.
  • Fixed: Missing type for CampaignRequest condition field in the API spec.
  • Fixed: Simulation Experience not working in some cases.

Push NotificationsBETA 3.0.1-pre.1

  • Fixed: Resolved potential Firebase dependency conflicts.
  • Fixed: Added support for Android 13 permissions.
  • Fixed: Unnecessary errors were being thrown in Editor play mode.
  • Fixed: Incorrect content types were showing on the Push Notifications overview page.

Deployment Package 1.0.0

  • Added: Official GA release.
  • Added: Make internal API public.
  • Fixed: Issues with displaying new environments in the Deployment window.

Lobby

  • Released: Updated Lobby SDK 1.1.0-pre.4 (Changelog)
    • Added: more specific LobbyEvents
    • Added: password protected lobbies

Use Cases Samples 1.9.1

  • Added: Serverless Multiplayer Game sample demonstrates how to utilize game lobbies and compete in a simple real-time arena-style game where players collect coins for points.
  • Changed: Upgraded the project from Unity Editor version 2020.3.20f1 to 2020.3.41f1.
    • Updated Unity Services packages to the latest released as of 2023-03-13.
  • Changed: Updated various non-UGS packages to their latest versions that are verified for Unity Editor 2020.3.41f1.
  • Changed: Removed
    RemoteConfigService.instance.SetCustomUserId()
    call from
    ClientVersionCheck.cs
    as calling that method is only necessary for specific circumstances, and ClientVersionCheck is not one of those circumstances.
  • Changed: Minor refactors to files to support newly applied linting rules.
  • Changed: Add popups to explain cause when client is forced back to the main menu in Serverless Multiplayer Game due to host leaving or kicking player out of lobby.
  • Changed: Turned off
    Interpolate
    in the Serverless Multiplayer Game to improve responsiveness in the game scene and reduce the 'host advantage' in gameplay. The flag is located in the player avatar prefabs'
    ClientNetworkTransform
    component.

Economy

  • Added: Economy SDK v3.1.2
    • Fixed: A bug that was throwing an exception when setting UnityServices.ExternalUserId.
  • Added: Economy SDK v3.1.1
    • Added: Introduction of the new sync configuration workflow. Old methods have been deprecated. See docs for more info on new workflow.
    • Removed: Removed a redundant log message when fetching a non-existent currency from your configuration.
    • Fixed: Bug that prevented the Store Identifiers field from being populated on fetch real money purchases requests.
    • Fixed: Bug which meant writeLocks weren't being set correctly.
    • Fixed: Bug that was throwing an exception when fetching virtual purchases with custom data.

February 2023

Authentication

  • Added: Player Management:
    • Dashboard: Account Deletion
    • Public Admin API: Enable/Disable Players

Cloud Code 2.2.4

  • Fixed: Fixed corrupted npm libraries used for services.
  • Fixed: Missing logs in some failure cases are now handled.
  • Fixed: Added more verbose logging for diagnostics behind a preprocessor directive.

Analytics Dashboard

  • Added: Simplify Analytics Event Management - Expand creation modal to include parameters.

Analytics 4.3.0

  • Added: CustomData(string eventName) method for recording events that don't have any parameters.
  • Changed: The
    AnalyticsContainer
    object is now spawned during
    UnityServices.InitializeAsync
    .
  • Fixed: Issue where a single corrupt event could prevent all subsequent events from being sent.
  • Fixed:
    NullReferenceException
    when passing null instead of a Dictionary of parameters to
    CustomData
    for an event that doesn't have any parameters.
  • Fixed:
    NullReferenceException
    when passing null for the currency code to
    ConvertCurrencyToMinorUnits
    ; it now throws an
    ArgumentNullException
    if the currency code is either null or empty.
  • Fixed: Compiler error on 2020.1 Editor versions.
  • Fixed: Documentation comment on
    IAnalyticsService.Flush
    method to clarify behavior and usage.

Game Overrides

  • Added: Game Overrides users can now set a description on their overrides to explain purpose and intended outcome of the override.
  • Fixed: Pagination is no longer persisted when switching between Game Overrides and Push Notifications, which in some cases led to an error page being displayed.

Cloud Content Delivery 2.2.2

  • Added:
    SetTimeout
    to
    CcdManagement
    to allow configuring timeouts for API calls.
  • Added:
    GetEntriesAsync(EntryOptions, string, int)
    which should be the preferred method of getting entries.
  • Added:
    ListEnvironmentsByProjectAsync
    and
    GetEnvironmentByNameAsync
    method.
  • Added:
    MockHttpRequest
    for writing unit tests.
  • Added: Unit tests for
    EnvironmentsApi
    .
  • Changed:
    InternalUploadAsync
    changed to use a signed URL to upload content.
  • Changed:
    CreateEntryAsync
    ,
    CreateOrUpdateEntryByPathAsync
    ,
    UpdateEntryAsync
    and
    UpdateEntryByPathAsync
    changed to request a signed URL if an upload is needed based on
    IsUpToDate
    .
  • Changed:
    SetDefaultEnvironmentIfNotExists
    changed to use
    ListEnvironmentsByProjectAsync
    .
  • Changed: Added new
    TryCatchRequest
    to allow skipping
    SetDefaultEnvironmentIfNotExists
    for routes without an Environment.
  • Changed: Moved updates of
    accessToken
    and
    projectId
    from
    CcdManagement.Instance
    to an Action that can be removed for testing.
  • Fixed: Fix issue with
    GetReleaseDiff
    and
    GetReleaseDiffEntries
    sending empty release num query params.
  • Fixed: Fix issue with
    GetOrgAsync
    and
    GetOrgUsageAsync
    sending badly formatted body in request.

Core SDK 1.7.1

  • Fixed:
    ActionScheduler
    doesn't generate GC allocation (used to be 40 bytes) each frame anymore.
  • Fixed: Added a link.xml generator to make sure all required service assemblies are properly preserved in build with code stripping enabled. Only services providing a
    IServiceComponent
    are listed in this link file.
  • Fixed: Failed telemetry request no longer log errors when they fail, unless
    ENABLE_UNITY_SERVICES_CORE_TELEMETRY_LOGGING
    is enabled as scripting define.
  • Fixed: All
    ActionScheduler
    registered during play mode are now properly unregistered when exiting playmode.

In-App Purchasing 4.6.0

  • Added: Added a new restore transaction callback
    RestoreTransactions(Action<bool, string> callback)
    to obtain the error string when
    RestoreTransactions
    is not successful (
    IAppleExtensions
    and
    IGooglePlayStoreExtensions
    ).
  • Added: Added a new initialize failed callback
    IStoreListener.OnInitializeFailed(InitializationFailureReason, string)
    to obtain the error string when
    OnInitializeFailed
    is invoked.
  • Added: Added a new setup failed callback
    IStoreCallback.OnSetupFailed(InitializationFailureReason, string)
    to obtain the error string when
    OnSetupFailed
    is invoked.
  • Added: Added a new
    FetchAdditionalProducts
    . The
    failCallback
    contains an error string.
    IStoreController.FetchAdditionalProducts(HashSet<ProductDefinition>, Action, Action<InitializationFailureReason, string>)
    .
  • Added: Apple -
    Product.appleOriginalTransactionId
    : Returns the original transaction ID. This field is only available when the purchase was made in the active session.
  • Added: Apple -
    Product.appleProductIsRestored
    : Indicates whether the product has been restored.
  • Added: Google Play-
    IGooglePlayConfiguration.SetFetchPurchasesExcludeDeferred(bool exclude)
    has been added to revert to the previous behaviour. This is not recommended and should only be used if
    Deferred
    purchases are handled in your
    IStoreListener.ProcessPurchase
    .
  • Added: Google Play-
    IGooglePlayStoreExtensions.GetPurchaseState(Product product)
    has been added to obtain the
    GooglePurchaseState
    of a product.
  • Added: Google Play- Added missing values to
    GoogleBillingResponseCode
    in order to output it in
    PurchaseFailureDescription
    's message when available.
  • Added: Codeless - Added to the IAP Button the option to add a script for the On Transactions Restored:
    void OnTransactionsRestored(bool success, string? error)
    .
  • Changed: The old OnInitializeFailed
    OnInitializeFailed(InitializationFailureReason error)
    was marked
    Obsolete
    .
  • Changed: The old OnSetupFailed
    OnSetupFailed(InitializationFailureReason reason)
    was marked
    Obsolete
    .
  • Changed: The old FetchAdditionalProducts
    FetchAdditionalProducts(HashSet<ProductDefinition> additionalProducts, Action successCallback, Action<InitializationFailureReason> failCallback)
    was marked
    Obsolete
    .
  • Changed: The old restore transaction callback
    RestoreTransactions(Action<bool> callback)
    was marked
    Obsolete
    (
    IAppleExtensions
    and
    IGooglePlayStoreExtensions
    ).
  • Changed: Apple - Transactions received from Apple that are invalid (where the product is not entitled) no longer output the
    Finishing transaction
    log. This only affects transactions that never reached the
    ProcessPurchase
    .
  • Changed: Google Play- The enum
    GooglePurchaseState
    now recognizes
    4
    as
    Deferred
    .
  • Fixed: Analytics - A
    ServicesInitializationException
    introduced in Analytics 4.3.0 is now handled properly.
  • Fixed: Analytics - Fixed an issue where transactions events were invalidated when there was no localization data for a product.
  • Fixed: Google Play- Fixed a
    NullReferenceException
    when querying sku details while the BillingClient is not ready.
  • Fixed: Google Play- Fixed Application Not Responding (ANR) when foregrounding the application while disconnected from the Google Play Store.
  • Fixed: Google Play- Limited the occurence of
    PurchasingUnavailable
    errors when retrieving products while in a disconnected state to once per connection.
  • Fixed: Google Play-
    Deferred
    purchases are, by default, no longer sent to
    IStoreListener.ProcessPurchase
    when fetching purchases. This avoids the possibility of granting products that were not paid for. These purchases are only processed when they become
    Purchased
    . This can be reverted with
    IGooglePlayConfiguration.SetFetchPurchasesExcludeDeferred(bool exclude)
    to not exclude them, but
    Deferred
    purchases must be handled in
    IStoreListener.ProcessPurchase
    .

Remote Config

  • Changed: Upgraded backend infrastructure to improve connectivity globally. Remote Config is now serving traffic from North America, Europe and Asia.

Lobby 1.1.0-pre.3

  • Added:
    LobbyEvents
    now provides a Version for comparison.
  • Added:
    CreateOrJoinLobby
    function to allow for a single call to create or join.
  • Added:
    PlayerProfile
    field to Player class.
  • Added:
    LobbyEvents
    functionality introduced to provide live change updates for lobbies.
  • Fixed: Removed guards that were preventing Lobby Events APIs from being exposed completely.

January 2023

Authentication 2.4.0

  • Added: Apple Game Center Support:
    • SignInWithAppleGameCenterAsync
      ,
      LinkWithAppleGameCenterAsync
      ,
      UnlinkAppleGameCenterAsync
    • Apple Game Center Authentication API Support
  • Added: Player Account Deletion API.

Cloud Code 2.2.1

  • Fixed: Duplicate file in the deployment window now appear as a warning instead of an error.
  • Fixed: Rate limiting triggered in some cases.

Remote Config 3.3.1

  • Added: Updated deployment API implementation for Config As Code.
  • Fixed: An issue where deployment failures did not include the message detail.

DeploymentBETA 1.0.0-pre.7

  • Added: New UI addition for the deployment window: Enhanced status observability.
  • Added: New UI addition for the deployment window: Asset selection with checkboxes.
  • Fixed: Deployment Status being saved across Editor sessions.
  • Fixed: Issue with rate-limiting on deployments.

In-App Purchasing 4.5.2

  • Fixed: Removed unused exception variable causing a compiler warning CS0168.
  • Fixed: Telemetry - Calls to telemetry reporting were occasionally tripping a
    NullReferenceException
    ,
    IndexOutOfRangeException
    or
    KeyNotFoundException
    , for some users. These exceptions are now caught safely and logged. These failures are also mitigated by moving all Telemetry calls to the main thread. Issue noticed in IAP 4.4.1, but may be older.
  • Fixed: Apple - Optimized memory usage when processing transactions to prevent out of memory crash when processing transactions on launch.
  • Fixed: Batch Mode - Calls to
    UnityPurchasingEditor.TargetAndroidStore
    to select UDP now successfully check UDP package installation and log an error instead of throwing a blocking popup when executed as part of a Batch Mode command.
  • Fixed: Analytics - Removed escape characters for receipt JSON which was causing parsing issues in the backend.
  • Fixed: Google Play- Fixed a bug causing a crash when retrying to finish a transaction while disconnected.

Cloud Save

  • Changed: Removed 16KB slot size limit, users now have 5MB to work with in total across all slots.
  • Changed: Increased maximum slot count from 200 to 2000.

Push NotificationsBETA 3.0.0-pre.1

  • Added: Product dashboard link is now present in the package settings panel.
  • Changed: Renamed package settings (Android) so that they match Firebase setting names.
  • Changed: Removed some classes from the public API that weren't meant to be used directly.
  • Changed: Removed deprecated
    PushNotifications
    class and obsolete
    PushNotificationSettings
    properties.
  • Fixed:
    notificationOpened
    events are now also sent when launching a fully closed app from a notification.
  • Released into Open Beta.

Analytics

  • Added: Support for legacy analytics custom events in UGS Analytics to avoid the need to make changes to game code.

Game Server Hosting (Multiplay)

  • Fixed: Fixed a bug when subscribing to server events that caused a race condition where events could be missed.

December 2022

Relay 1.0.5

  • Added: Using this version of Relay with UTP 2.0.0-pre.3 and NGO 1.2.0 enables using Relay on webGL.
  • Added: Update
    SimpleRelay
    sample.
  • Changed: Replaced
    InteractiveRelayUtp
    sample with
    SimpleRelayUtp
    .
  • Changed: Update QoS dependency to 1.1.0.
  • Changed: Update UTP dependency to 1.3.0.

Core SDK 1.7.0

  • Changed: Editor
    AccessTokens
    now caches the Gateway JWT per session and refreshes it as needed. It can now be used directly without needing to cache the results.
  • Fixed: Improved thread safety for scheduler component.
    IActionScheduler
    is now safely callable from any thread.
  • Fixed: Improved thread safety for telemetry components.
    IMetrics
    and
    IDisagnostics
    are now safely callable from any thread.

Vivox

  • Fixed: Fixed an issue with the Android VivoxNative.aar library causing it to have issues when trying to resolve internal dependencies.

November 2022

Authentication 2.3.1

  • Added: Meta Quest (Oculus) Support:
    • SignInWithOculusAsync, LinkWithOculusAsync, UnlinkOculusAsync
    • Meta Quest Authentication API Support
  • Added:
    GetGooglePlayGamesId()
    to
    PlayerInfo
    .

Cloud Code 2.1.1

  • Added: Integration with the
    Deployment
    package for config-as-code which allows to edit and configure CloudCode scripts directly from the Editor.
  • Fixed: Void type now allowed as return type for CloudCode scripts.
  • Fixed: Removed requirement for function arguments when calling an endpoint. Now, it's possible to provide either null or omit them.

Core SDK 1.6.0

  • Added:
    UnityServices.ExternalUserId
    which can be used to pass a user identifier from a third party provider to Unity Gaming Services.
  • Added: All
    IInitializablePackage
    initialization time is now measured by Services Core.
  • Changed:
    CoreRegistryInitializer
    now throws a
    ServicesInitializationException
    instead of an explicit
    NullReferenceException
    when the dependency tree is null.
  • Changed: ActionScheduler updated to be thread safe.
  • Changed: Services configuration file isn't temporarily added to the StreamingAssets folder during builds on Unity 2021.3 and up.
  • Changed: Services initialization without a linked project ID now fail (throw
    UnityProjectNotLinkedException
    ).
  • Fixed: Persisting telemetry no longer logs errors, unless
    ENABLE_UNITY_SERVICES_CORE_TELEMETRY_LOGGING
    is enabled as scripting define. Diagnostics are sent when persisting telemetry produces an error.
  • Fixed: Core no longer fails initialization when it fails to find a stripped service package.
  • Fixed: Services Core failing to find all
    IInitializablePackage
    if an unity package implements it multiple times.
  • Fixed: A case where null configuration values were causing serialization issues.
  • Fixed: Issue with stripping when authentication APIs are not used.

Deployment 1.0.0-pre.4

  • Added: Deployment Window now allows management of deployments for Cloud Code and Remote-Config.
  • Added: First pre-release version of the package.

Economy 3.0.0

  • Added:
    CustomDataDeserializable
    has been added to configuration items and is of type
    IDeserializable
    .
  • Added: Missing XmlDoc to public interfaces:
    IEconomyConfigurationApiClient
    ,
    IEconomyPlayerBalancesApiClient
    ,
    IEconomyPlayerInventoryApiClient
    and
    IEconomyPurchasesApiClientApi
    .
  • Removed: remote-config-runtime dependency.

Remote Config 3.2.2

  • Added: Implemented file-based-authoring for RC Editor.
  • Added: Added documentation for caching mechanism.
  • Added: Released versioning, it is now possible to view and restore older versions of a games’ configuration through the dashboard as well as the admin API.

In-App Purchasing 4.5.1

  • Fixed: Google Play- Fixed deferred purchases being processed when the app is foregrounded. Issue introduced in Unity IAP 4.5.0.
  • Fixed: Google Play- Fixed a
    NullReferenceException
    in
    DequeueQueryProducts
    happening when launching the app. Issue introduced in Unity IAP 4.2.0.
  • Fixed: Analytics - Fixed a
    NullReferenceException
    when reporting failed transactions of purchase unavailable products. Issue introduced in Unity IAP 4.2.0.
  • Fixed: Analytics - Legacy Analytics no longer reports events in custom UGS environments, which would cause misreported live sales figures. Issue introduced in Unity IAP 4.2.0.

Matchmaker

  • Fixed: In-Package sample was breaking on WebGL builds due to using Task.Delay, this has been changed with a Coroutine implementation on polling.
  • Added: MatchmakingResults model has new property ‘PoolId’.

October 2022

Authentication 2.2.0

  • Added: Bring Your Own Identity v1 - OpenID Connect Support:
    • SignInWithOpenIdConnectAsync, LinkWithOpenIdConnectAsync, UnlinkOpenIdConnectAsync
    • OpenID Connect Authentication API Support
  • Added
    :
    WebGL Support.

Core SDK 1.4.3

  • Changed: Telemetry logs now use the
    ENABLE_UNITY_SERVICES_CORE_TELEMETRY_LOGGING
    define instead of
    ENABLE_UNITY_SERVICES_CORE_VERBOSE_LOGGING
    .
  • Fixed: Added diagnostic message length limit and telemetry count limit, so telemetry payload isn't rejected by telemetry service.

In-App Purchasing 4.5.0

  • Added: Apple - Add support for Family Sharing.
    • API
      IAppleConfiguration.SetEntitlementsRevokedListener(Action<List<Product>>
      called when entitlement to a products are revoked. The
      Action
      is called with the list of revoked products. See documentation "Store Guides" > "iOS & Mac App Stores" for a sample usage.
    • API - Product metadata is now available in
      AppleProductMetadata
      from
      ProductMetadata.GetAppleProductMetadata()
      via
      IStoreController.products
      .
    • API
      AppleProductMetadata.isFamilyShareable
      indicated if the product is family shareable.
    • Apple App Store - 11 Family Sharing
      sample that showcases how to use Unity IAP to manage family shared purchases.
  • Fixed: Google Play- Processing out-of-app purchases such as Promo codes no longer requires the app to be restarted. The purchase is processed the next time the app is foregrounded. Technical limitation: In the case of promo codes, if the app is opened while the code is redeemed, you might receive an additional call to
    IStoreListener.OnPurchaseFailed
    with
    PurchaseFailureReason.Unknown
    . This can be safely ignored.
  • Fixed: Google Play- Fixed a
    NullReferenceException
    that would rarely occur when retrieving products due to a concurrency issue introduced in Unity IAP 4.2.0.

September 2022

Analytics 4.2.0

  • Added:
    SessionID
    property that returns the GUID value currently being used to populate the
    sessionID
    parameter of all events.
  • Changed: Reduced frequency of gameRunning event to reduce excess traffic (this doesn't affect the quality of your data).
  • Fixed: SDK initialisation failing silently on WebGL due to problem with privacy consent flow.
  • Fixed: SDK event batching for upload failing silently on WebGL.

In-App Purchasing 4.4.1

  • Added: Google Play- Google Play Billing Library version 4.0.0.
    • The Multi-quantity feature is not yet supported by the IAP package and will come in a future update. Do not enable
      Multi-quantity
      in the Google Play Console.
    • Add support for the IMMEDIATE_AND_CHARGE_FULL_PRICE proration mode. Use
      GooglePlayProrationMode.ImmediateAndChargeFullPrice
      for easy access.
    • The "
      skuDetails
      " in the receipt json is now an array of the old structure, not just one object. It only has one element in most cases, so if this is being parsed in your app, treat it like an array and get the first element by default.
  • Fixed: Google Play- Fixed NullReferenceException and ArgumentException that would rarely occur due to a concurrency issue introduced in Unity IAP 4.2.0.
  • Fixed: Amazon - Set android:export to true to support Android API level 31+.
  • Fixed: Google Play- Fix
    IGooglePlayConfiguration.SetDeferredPurchaseListener
    and
    IGooglePlayConfiguration.SetDeferredProrationUpgradeDowngradeSubscriptionListener
    callbacks sometimes not being called from the main thread.
  • Fixed: Google Play- When configuring
    IGooglePlayConfiguration.SetQueryProductDetailsFailedListener(Action<int> retryCount)
    , the action is invoked with
    retryCount
    starting at 1 instead of 0.
  • Fixed: Google Play- Added a validation when upgrading/downgrading a subscription that calls
    IStoreListener.OnPurchaseFailed
    with
    PurchaseFailureReason.ProductUnavailable
    when the old transaction ID is empty or null. This can occur when attempting to upgrade/downgrade a subscription that the user doesn't own.

Vivox

  • Fixed: Fixed an issue with audio buffer-related generated APIs causing the Unity editor to crash.
  • Added: Added a number of generated APIs back to the SDK which were previously being omitted.
  • Fixed: Fixed an issue with Build Configuration values being stored as nulls instead of empty strings which caused an exception in the editor if a project was not linked in the Project Settings.

August 2022

Analytics 4.1.0

  • Added: Added a method to access the user ID used by Analytics at runtime.
  • Fixed: Events are now recorded with timestamps including milliseconds.
  • Fixed: XML documentation is available for more model objects.
  • Fixed: A better error message is displayed when the project ID is missing.

Lobby 1.0.3

  • Fixed: A bug where
    ArgumentNullException
    would throw on
    LobbyConflict
    (HTTP 409) resolution.
  • Fixed: An issue where a
    CommonErrorCode
    was being reported instead of a
    LobbyExceptionReason
    , invalidating some switch cases.

In-App Purchasing 4.3.0

  • Added: Google Play- API
    IGooglePlayConfiguration.SetQueryProductDetailsFailedListener(Action<int>)
    called when Unity IAP fails to query product details. The
    Action
    is called on each query product details failure with the retry count. See documentation Store Guides > Google Play for a sample usage.

Matchmaker

  • Fixed: Serialization for the Multiplay token class would be stripped on some IL2CPP platforms compilation.

Vivox

  • Changed: Adjusted the Windows and Mac VivoxNative library .meta files to enable Load on Startup so they get loaded in regardless of the build target of the editor. Notably, this caused compiler errors when entering Play Mode if the editor build target was iOS since our Mac library, which gets used for the editor alongside the Windows library, wasn’t loaded yet.
  • Fixed: Fixed an issue with various plugin .meta files not targeting their specific platform resulting in editor crashes when entering Play Mode if additional Vivox platform packages got installed.
  • Fixed: Fixed an issue that would cause a compiler error if the Authentication package wasn’t available to the ChatChannelSample. The Authentication package should get automatically pulled in when the ChatChannelSample is installed, but if it hadn’t been, a compiler error would appear.

July 2022

Authentication 2.1.1

  • Added: Google Play Games Support:
    • SignInWithGooglePlayGames, LinkWithGooglePlayGames, UnlinkGooglePlayGames
    • Google Player Games Authentication API Support

Cloud Code 2.0.1

  • Fixed: Missing XmlDoc on public
    ICloudCodeService
    interface.

Cloud Save 2.0.1

  • Added: Missing XmlDoc to public
    ICloudSaveDataClient
    interface and
    CloudSaveService
    static class.

Core SDK 1.4.2

  • Added: Log a JSON containing the common configuration shared among all services for debugging purposes when using
    ENABLE_UNITY_SERVICES_CORE_VERBOSE_LOGGING
    as a scripting define.
  • Added: Log warning when building a project with core package included and without linking the project in project settings.
  • Changed: Log error instead of warning when core initialize with no cloud project ID.
  • Fixed:
    NullReferenceException
    while telemetry was provided an empty file, fixed by introducing a null check.
  • Fixed:
    DirectoryNotFoundException
    happened inconsistently on Switch, fixed by resolving racing condition issue.

Remote Config 3.1.3

  • Added: Using
    ENABLE_CLOUD_SERVICES_ANALYTICS
    flag for platforms using Analytics within 2.x namespace.
  • Added: Whitelisting platforms for getting userId from Analytics package within 2.x namespace.
  • Added: Allowing projectId and userId params to be in the payload for consoles.

In-App Purchasing 4.2.1

  • Added: Feature to automatically initialize Unity Gaming Services through the catalog UI. Please see the documentation for more details.
  • Changed: The In-App Purchasing package now requires Unity Gaming Services to have been initialized before it can be used. For the time being IAP will continue working as usual, but will log a warning if Unity Gaming Services has not been initialized. In future releases of this package, initializing Unity Gaming Services will be mandatory. Please see the documentation for more details.
  • Fixed: Downgrade
    com.unity.services.core
    from 1.4.1 to 1.3.1 due to a new bug found in 1.4.1.

Matchmaker

  • Fixed: Bugfix: Serialization for the Multiplay token class would be stripped on some Linux platforms compilation.
  • Added: Added PoolId and MatchId to CreateBackfillTicketOptions for Photon integration.

Vivox

  • Added: Added VivoxConfig as a parameter to the VivoxService.Instance.Initialize(...) method so developers can configure the Vivox Client’s settings on startup.
  • Changed: Stopped removing minus (‘-’) characters from the Environment ID when appending it to the AccountId and ChannelId URIs. The Environment ID will now be appended verbatim.
  • Fixed: Fixed an issue causing generated files from the Android platform to make it into the package resulting in methods that could not be resolved due to the APIs not existing in any other library.