メインコンテンツまでスキップ

AGS 2025.6.0 Release Notes

注意

This is an unsupported AGS version. AccelByte no longer provides any updates, bug fixes, security patches, or technical support for these versions. Please refer to the AGS Version Support Lifecycle document for more information.

Last updated on September 3, 2025

Release date: August 20th, 2025

Announcements

  • N/A

Versions

AccelByte Gaming Services (AGS) Game SDK

Extend SDK (previously known as Server SDK) latest version:

Please refer to the respective GitHub releases page:

AccelByte Multiplayer Servers (AMS)

Highlights

Shared Cloud Onboarding: Questionnaire & Personalized Checklist

This new onboarding process is designed for users who are ready to begin game development or integration. It prompts new users to answer a questionnaire that provides a personalized onboarding checklist. This checklist recommendation guides the users on the fundamentals on how to get started with the AGS features.

How to Access the New Flow:

  1. Register for Shared Cloud using this link.
  2. Complete the registration steps until you reach the Onboarding option page.
  3. Select "Yes, Let’s set up my game" and click the Start Game Integration button.

Important Note: Choosing "No, let me explore" will bypass this new flow and direct you to create the Bytewars namespace (AccelByte's sample game integration) instead. However, you’ll have the chance to access this questionnaire and checklist on every game namespace you create.

Login Queue for Shared Cloud

We have added the Login Queue service to the Shared Cloud environment to help manage peak traffic more effectively. This ensures a smooth, controlled flow of player logins and maintains the stability of our infrastructure and services.

  • Where to find it in the Admin Portal
    • Go to Admin Portal → Select game namespace → Live Service Utilities → Login Queue
  • How to access/use it from SDK
    • Please kindly use the V4 function.
      • Unreal Engine OSS:
        • FOnlineIdentityAccelByte::Login
      • Unreal Engine SDK:
        • User::LoginWithUsernameV4
        • User::LoginWithOtherPlatformV4
        • User::LoginWithSimultaneousPlatformV4
        • User::LoginWithDeviceIdV4
        • User::LoginWithRefreshTokenV4
        • User::CreateHeadlessAccountAndLoginV4
      • Unity SDK
        • ClientApi.GetUser().LoginWithEmailV4
        • ClientApi.GetUser().LoginWithDeviceIdV4
        • ClientApi.GetUser().LoginWithOtherPlatformV4
        • ClientApi.GetUser().LoginWithLastRefreshTokenV4
        • ClientApi.GetUser().LoginWithCachedRefreshTokenV4
        • ClientApi.GetUser().CreateHeadlessAccountAndResponseTokenV4
        • ClientApi.GetUser().AuthenticationWithPlatformLinkAndLoginV4
  • How to access using REST API:
    • Get login queue configuration of a namespace: GET /login-queue/v1/admin/namespaces/{namespace}/config
    • Update login queue configuration of a namespace: PUT /login-queue/v1/admin/namespaces/{namespace}/config
    • Get login queue status of a namespace: GET /login-queue/v1/admin/namespaces/{namespace}/status
    • Refresh login queue ticket: GET /login-queue/v1/namespaces/{namespace}/ticket
    • Cancel login queue ticket: DELETE /login-queue/v1/namespaces/{namespace}/ticket

Shared Cloud Game CCU Limit

  • We have added game CCU limit for ensuring platform stability during peak traffic periods by preventing login surges that could degrade performance or disrupt services. Each game namespace in the shared cloud is limited to 5,000 CCU by default. Learn more about the login game CCU limit

Baremetal Usage on Private Cloud

We have added Baremetal usage details in the Billing & Usage page.

This allows you to view the number of Baremetal instances you have and the estimated cost for your current billing cycle. If Baremetal is deployed in your environment, the usage detail will show Region of each Baremetal instance, Instance type, Number of instances, Cost per instance, and Total cost.

Where to find it in the Admin Portal:

  • Go to Admin Portal -> Select Studio Namespace -> Billing & Usage -> Usage (tab) -> Multiplayer Server

How to access/use it from SDK:

  • N/A

How to access using REST API:

  • N/A

Permission Changes

AGS Private Cloud

This section applies to Private Cloud customers only.

In this release, we've added new permissions for default roles in the Private Cloud Admin Portal. New to Private Cloud default roles? Learn more here. If you maintain your own custom roles, please ensure they are updated with the latest permissions.

  • Used to calculate and view the TURN server cost
    • Super Admin Role
      • TURN:SERVER:PRICE (Action 2 - Read)
      • ADMIN:TURN:SERVER:PRICE (Action 15 - CRUD)
    • Game Admin Role
      • TURN:SERVER:PRICE (Action 2 - Read)
    • View Only Role
      • TURN:SERVER:PRICE (Action 2 - Read)
  • Used to manage matchmaking xray
    • Super Admin Role
      • ADMIN:NAMESPACE:*:MATCHMAKING:XRAY (Action 15 - CRUD)

Breaking Changes

  • N/A

Deprecated and Decommissioned Features

  • Game SDK
    • [Unity] As mentioned on AGS 2025.2 release note, we several methods in Inventory and Cloudsave were marked for deprecation. The following migration path must now be taken:

      • Api.Inventory

        • ConsumeUserInventoryItem(inventoryId, consumedItemsRequest, callback) -> ConsumeUserInventoryItem(inventoryId, qty, sourceItemId, optionalParams, callback)
        • MoveItemsBetweenInventories(targetInventoryId, moveItemsRequest, callback) -> MoveItemsBetweenInventories(targetInventoryId, sourceInventoryId, payload, callback)
        • BulkUpdateInventoryItems(inventoryId, updatedItemsRequest, callback) -> BulkUpdateInventoryItems(inventoryId, payload, callback)
        • BulkDeleteInventoryItems(inventoryId, deletedItemsRequest, callback) -> BulkDeleteInventoryItems(inventoryId, payload, callback)
      • ServerApi.Inventory

        • SaveUserInventoryItemToInventory(userId, inventoryId, request, callback) -> SaveUserInventoryItemToInventory(inventoryId, userId, source, sourceItemId, type, quantity, optionalParameters, callback)
        • BulkUpdateUserInventoryItems(inventoryId, userId, request, callback) -> BulkUpdateUserInventoryItems(inventoryId, userId, payload, callback)
        • ConsumeUserInventoryItem(string inventoryId, string userId, ConsumeUserItemsRequest request, ResultCallback<UserItem> callback) -> ConsumeUserInventoryItem(string inventoryId, string userId, uint qty, string sourceItemId, ConsumeUserInventoryItemOptionalParameters optionalParameters, ResultCallback<UserItem> callback)
        • BulkDeleteUserInventoryItems(inventoryId, userId, request, callback) -> BulkDeleteUserInventoryItems(inventoryId, userId, payload, callback)
        • CreateInventoryConfiguration(request, callback) -> CreateInventoryConfiguration(code, initialMaxSlots, maxInstancesPerUser, maxUpgradeSlots, optionalParameters, callback)
        • CreateItemTypes(request, callback) -> CreateItemTypes(name, ResultCallback<InventoryItemType> callback)
        • CreateInventoryTag(request, callback) -> CreateInventoryTag(name, inventoryOwner, callback)
      • Api.CloudSave

        • SaveGameRecord(recordRequest, setBy, callback) -> SaveGameRecord(recordRequest, optionalParameters, callback)
        • ReplaceGameRecord(recordRequest, setBy, callback) -> ReplaceGameRecord(recordRequest, optionalParameters, callback)
        • CreateAdminGameRecord(key, recordRequest, callback) -> CreateAdminGameRecord(key, recordRequest, optionalParameters, callback)
        • ReplaceAdminGameRecord(key, recordRequest, callback) -> ReplaceAdminGameRecord(key, optionalParameters, callback)
    • [Unity] As mentioned in the AGS 2025.2 release notes, we have decommissioned AccelByteGooglePlayGames. The preferred interface for Google Play functionality is our SDK Google Play extension library.

    • [Unreal Engine] Matchmaking V1 and related functions are now marked as deprecated and will be removed in the next SDK release. To test against this removal prior to the next release, find and replace "#if 1 // MMv1 Deprecation" with "#if 0 // MMv1 Deprecation".

Minor Changes

Admin Portal

  • Improved the mobile responsive experience in the onboarding experience during the registration (prepare the game build and namespace creation pages).
  • Updated the old AccelByte Community Forum CTA button to AccelByte Discord Community.
  • Changed the Pass item text in Create new pass module to Sync pass item.

Basic

  • Added support to combination of language tag IETF_AND_RFC5646 for user profile in /basic/v1/public/namespaces/{namespace}/users/me/profiles.

Challenges

  • We have enhanced the Challenge Service user progression to remove duplication.
  • Added a distributed lock mechanism to address concurrent processes working on the same data that causes data integrity error.
  • Added a new environment variable to adjust the size of the goal configuration cache.

Chat

  • Updated websocket error codes in Chat service to align with those used in Lobby for consistency.

Game SDK

  • [Unreal Engine] Added bSkipSetCookie to FAccelByteLoginWithOtherPlatformOptionalParameters. Default value is false.

  • [Unity] Added SkipSetCookie to LoginWithOtherPlatformOptionalParameters and LoginWithOtherPlatformV4OptionalParameters. Default value is false.

  • [Unreal Engine] Improved IsRunningDedicatedServer implementation in CloudSaveInterface and SessionInterface. Client/Server state is now determined from the Login response.

  • [Unreal Engine] Added Target Item Id to AccelByte::Api::Inventory::MoveItemsBetweenInventories response.

  • [Unity] Added Target ItemId to Api.GetInventory().MoveItemsBetweenInventories response.

  • [Unreal Engine] Add new functions to the AccelByte Achievement Interface to bulk unlock multiple achievements by passing an array-of-string from each AchievementCode.

    • For game client:
      • void FOnlineAchievementsAccelByte::UnlockAchievementBulkOperation(const FUniqueNetId& UserID, TArray<FString> AchievementCodes, const FOnBulkAchievementUnlockDelegate& OperationResponseDelegate);
    • For game server:
      • void UnlockAchievementBulkOperationByGameServer(const FUniqueNetId& UserID, TArray<FString> AchievementCodes, const FOnBulkAchievementUnlockDelegate& OperationResponseDelegate);

    Note: these operations will only succeed if the caller has the correct permissions on their OAuth client.

  • [Unreal Engine]

    • Add new interface named FOnlineWalletV2AccelByte to support new Wallet interface
    • Added a function to enable game client to get multiple currencies using Wallet::GetWalletInfoByCurrencyCodeV2()

IAM

  • We have added createdAt response field to non leaked PII endpoints.
    • GET /iam/v4/public/namespaces/{namespace}/users/{userId}.
    • POST /iam/v3/public/namespaces/{namespace}/users/platforms.
    • GET /iam/v4/public/namespaces/{namespace}/platforms/{platformId}/users/{platformUserId}.

Inventory

  • We have added item’s id in the response’s field of inventory/v1/public/namespaces/{namespace}/users/me/inventories/{inventoryId}/items/movement.
      {
    "createdAt": "2025-08-04T02:50:02.199Z",
    "dstInventoryId": "string",
    "items": [
    {
    "id": "string", // NEW
    "qty": 0,
    "slotId": "string",
    "sourceItemId": "string"
    }
    ],
    "namespace": "string",
    "srcInventoryId": "string"
    }

Matchmaking

  • Optimized matchmaking result processing code to reduce processing time.

Platform

  • We have added a new field named actualPaid in the Kafka event payload.

Player Portal

  • Prevented excluded disabled config details from being sent to the Player Portal in the browser, reducing response size and preventing out-of-memory issues.

Bug Fixes

Admin Portal

  • Fixed the missing expiration date alert message in Stores.
  • Fixed the issue where users can stuck at namespace creation process during the registration.
  • Fixed the issue where the Get Started for FREE button is still active upon registering using an existing email address & studio name.
  • Fixed the issue where the Get Started for FREE button is active when users has not inputted the name & email address.
  • Fixed the issue where admin unable to remove the email after input multiple emails on Invite Admin modal.
  • Fixed the behavior on Invite Admin modal where admin input multiple emails and separate it using comma.
  • Fixed the pagination behavior issue on Leaderboard table.
  • Fixed the low quality image assets in the Shared Cloud Onboarding page during the registration process.
  • Fixed the color code of ticket status in Request Tracker.
  • Fixed an issue where not all third-party platform types were supported for querying platform display names in the user search function of Lookup Users.

App Editor

  • Fixed the missing preview item image in App Editor’s Twitch Drop section.

Challenges

  • Fixed the issue - when the goals in unscheduled daily rotation challenges are missing.
  • Fixed the issue when the Tags item is not updated when user grants Option box or Lootbox item that has a tag in store.
  • Fixed issue when creating goal for UNSCHEDULED challenge that causes the service to run out of memory.
  • Fixed issue when getting schedule from endpoint returned 404 instead of 200 when querying past schedule that, in the last update, is not generated anymore when the start date is less than the challenge creation date.

Extend

  • Fix issue misleading error log app not found in the image version history page if the image list is empty.
  • Fix issue Extend override not changed from the Starting status, which make them cannot stop or delete the app.

Game SDK

  • [Unreal Engine] Add an override function of

    • AccelByte::Api::Statistic::GetUserStatCycleItems that takes TargetUserId as a parameter allowing the game client to check other player's stat cycle items.
    • Statistic::GetUserStatCycleItems(FString const& CycleId , FString const& TargetUserId , THandler<FAccelByteModelsUserStatCycleItemPagingSlicedResult> const& OnSuccess , FErrorHandler const& OnError , int32 Limit , int32 Offset , TArray<FString> const& StatCodes)
  • [Unreal Engine] Add players with Disconnected status to JoinedMembers in SessionInterface

  • [Unreal Engine] Refactor automatic token refresh with dynamic expiry config.

  • [Unreal Engine] Take into account remapped culture when launching FOnlineAsyncTaskAccelByteCreateUserProfile to ensure language tags align with game.

  • [Unreal Engine] Improved threading robustness in AccelByte Qos class.

  • [Unreal Engine] Reorder the Chat WebSocket delegate listener setup. The Chat WebSocket delegate will be attached after query room and user info requests are complete to ensure the incoming notification contains valid user information.

  • [Unity] Fix WebSocket functionality that affected Chat features on WebGL platform.

  • [Unreal Engine] Fix crash when calling FOnlineSessionV2AccelByte::RefreshSession() from a server instance.

  • [Unreal Engine]

    • Enforce the order of initialization in the AccelByte Chat interface to ensure correct object lifetimes.
    • Add QueryChatRoom() as a manual fallback to be used in the rare situation where auto query fails during the chat connection process.

IAM

  • Fixed the field maxRepeatingSpecialCharacter not being updated in password input validation configuration.
  • Fixed the potential duplicate game-user creation when Steam IAP transactions are processed in the E-commerce service.
  • Fixed the hidden legal document not showing to the user who accepted it.

Lobby

  • Fixed an issue where block and unblock notifications were not sent to the users when performing block and unblock sync through the REST endpoint.

Matchmaking

  • Fixed an issue where canceling a proposed match ticket did not update its status to REJECTED as expected.

Player Portal

  • Fixed the issue where using a different provider to upgrade a headless account did not link all third-party accounts to the full account as expected.
  • Fixed the issue where the legal language dropdown will unexpectedly change if user change the country in Legal page.

Sessions

  • Fixed several issues related with the session leader election in PSN platform.