brainCloud 5.9 is coming!
We are starting 2026 with a bang! This release is packed with popular requests: Inventory Bundles, i3D.net Hosting, Meta Horizon IAP, StoreKit 2, Visual Studio Code, and heck - even Roblox! There is something here for everyone!
Compatibility Notes
We prioritize preserving stability and backward compatibility for existing apps.
As a security improvement, we have changed the response that is returned by the Authentication Service’s Reset Password calls. These calls will now always return a status: 200 response, even if the targeted account does not exist.
A new compatibility flag has been added to control this feature. It is enabled by default for existing apps (to preserve the old behaviour). For optimal security, app developers should disable this setting.
[ x ] Support legacy reset password failure response (includes reason for failure, for example: "credential not found").
Release Highlights
Bundles (and other Item-related Enhancements)
We have [finally!] added support for Bundles to our Catalog system. Bundles can contain multiple Items and collections of Virtual Currencies. Which means that Bundles can double as a convenient mechanism for Currency Exchange - e.g., to exchange 1 bar for 100 coins.
We have also added the ability to put Catalog Items and Bundles “on sale” via our Promotions system.
Finally, we have enhanced Items (and Bundles) to allow the system to enforce a Maximum Quantity of an Item (or Bundle) that a user can own.
Bundle features
- Bundles are defined via the Item Catalog service - and managed via the User Items service
- Bundles can contain multiple Items and/or Currencies [but not other Bundles - this is not Inception!]
- Bundles can be purchased, awarded, and/or traded with others
- Bundles can be awarded anywhere that Items are currently awarded in the system
- Bundles must be opened to get their contents. A bundle is destroyed upon opening it.
Catalog Promotions
- Promotions may not include special pricing (in virtual currencies) for Items and Bundles
- Promotions can also make Items/Bundles available for sale for a limited time
- As part of this feature, the Item Catalog system can now properly distinguish between free and not-for-sale items.
Max Quantity
- Devs can now set the maximum quantity of an item that can be owned by a user
- Note that this capability is limited to “Stackable” items. To limit the quantity to 1, set the item stackable and the max quantity to 1.
- Note that when using the Trading APIs, items/bundles with a max quantity set must be traded with the immediate option, as we can’t enforce max quantity if the trade is deferred. [Max-quantity items can, of course, still be traded by custom means.]
Multiplayer & Hosting
We also have several multiplayer and hosting enhancements in this release!
i3D.net integration
You may not know i3D.net - but chances are you have played games on their servers. Ubisoft, EA, Hi-Rez, and more are among the many companies whose players compete via i3D.net’s high-performance global network and hybrid “bare metal cloud”.
And now, brainCloud devs can too!
To take advantage of our new i3D.net integration:
- Set up an account with i3D.net - and configure your hosting via i3D Orchestrator
- Configure the i3D.net integration on the App > Design > Integrations > Manage Integrations page
- Create an i3D.net Orchestrator server type via the App > Design > My Servers page
- Link that server type to your Lobby via the App > Design > Multiplayer > Lobbies page
And voila - your brainCloud lobbies will now launch servers on i3D.net!
Faster lobby launches
Whether you are using brainCloud’s built-in hosting or the services of one of our hosting partners, apps can now start launching servers while players are still in the lobby! Depending on how quickly your lobby fills, this can shave 5-20 seconds off launch time!
brainCloud’s v3 Protocol Relay Servers have been updated to support this new feature. Games with custom Room Servers will likely need to make a few modifications to ensure their servers launch (and wait) before players begin connecting.
Game clients aren’t heavily affected, but they may receive fewer launch progress messages as the server would have started launching before the lobby reached the starting state.
Roblox Support [beta!]
brainCloud does Roblox now?!! Yes, we do!
Late last year, some developers approached us to ask whether brainCloud’s services could be made available to Roblox game developers. We hadn’t really considered it before - but we are always up for a challenge!
We are thrilled to present the culmination of a whirlwind couple of months of hard work. Roblox developers can now access key brainCloud services, including cloud saves, leaderboards, tournaments, gamification, groups, deep data, the item catalog, and more. All core services are available, except RTT itself, as we haven’t yet figured out how to integrate a bidirectional WebSocket in Roblox.
So - Roblox devs - come check us out! Our à la carte feature set and API-based pricing are perfect for games that want to add a feature or two!
In-App Purchases
Devs are always looking for more ways to monetize their apps - while maddeningly, the store APIs keep changing!
We are pleased to bring the following new & improved app store updates to brainCloud:
- Meta Horizon Platform IAP - brainCloud now supports in-app purchases for Meta’s Horizon ecosystem
- Apple StoreKit 2 - brainCloud now supports Apple’s StoreKit 2 APIs
- Google Play One-time Products API - brainCloud also supports Google’s One-time Products API; technically, this was added in a 5.8.5 patch
Visual Studio Code Extension [beta!]
Although this was released late last year, it is still worth mentioning. For the devs that don’t already know - brainCloud now has an official Visual Studio Code Extension!
The extension securely connects to brainCloud and lets you work on your brainCloud scripts directly in Visual Studio Code. And you get access to all your favorite Visual Studio Code features - including AI assistance!
So look for “brainCloud Cloud Code FS” in the Visual Studio Code marketplace – and be sure to give us a star!
Additional Improvements
brainCloud 5.9 also includes:
Global File Uploads
- Our S2S API now supports the uploading of global files
- Note that these new APIs have not yet been added to our S2S client libraries, but they are available to developers who want to make S2S calls directly.
Session Durations (Bonus!)
- Apps that use RTT will now notice that brainCloud is tracking player session times.
- These durations can be viewed on the User Activity screen and in the User Context Banner, which shows the average session duration.
- Note that apps that don’t use RTT can still notify the system that a session is complete by calling the
PlayerState.Logout()method when the player leaves the app.
Tournament Completion Scripts
- Ever wanted to trigger a custom script when a tournament completes? Now you can!
[Improved] Unity Plugin
- There is an improved Unity Plug-in. It’s more secure - and works better with private brainCloud deployments.
Portal Changes
We continue to improve our Portal with each release.
Item Catalog
The Item Catalog screens have been completely refactored to not only add support for Bundles but also improve overall workflow.
Promotions & Personal Pricing
The Promotions and Personal Pricing screens have been significantly enhanced to support Items/Bundles and improve the overall workflow.
Cloud Code Editor Improvements
We have added several quality-of-life improvements to our Cloud Code Editor. These improvements include:
- Improved Tab UI: It is now easier to tell which tab is active, and the editor now properly restores the active tab when you return to the Editor from another screen.
- Better sync: the editor now highlights when a script has changed while the user is viewing it. If the script isn’t currently being edited, the view will automatically update to the latest version.
- Control-S, Alt-S - the editor now supports common keyboard shortcuts to save the current script
DataStream Improvements
We have made significant improvements to the User DataStream screen and also added a new Global DataStream screen.
Additional Improvements
The following sections of the portal have also seen significant improvements:
App > Dashboard
- Has been improved and reorganized to put the most important information front and center.
- Includes a new Calendar widget to show currently active events.
App > Calendar
- Long-term events (i.e., >365 days) are hidden by default. This allows devs to focus on managing day-to-day events.
App > Design > Core App Info > Application IDs
- The new Apple StoreKit2 settings can be found in the Apple tab
- The new Meta Horizon and Rift settings can be found in the Oculus tab
App > Design > Cloud Data > Global Properties
- We improved inline property editing.
App > Design > Integrations > Manage Integrations
- The page has been redesigned to be easier to use.
- Also includes the new i3D.net integration settings.
App > Design > Multiplayer > Lobbies
- Added the new pre-launch option to the lobby Rules tab.
App > Design > Servers > My Servers
- Added the ability to create i3D.net server types.
App > Global > Logs > Job Queue
- Added the ability to filter by Job Type.
App > Groups > Groups > Groups
- Preview Blade - Added the ability to jump to Group Entities and Group Files for the selected group.
App > Groups > Group Files
- A new screen that allows portal users to view and manage group-owned files.
App > Reports > Usage > API Usage
- File uploads are now displayed separately from File downloads.
User > Marketplace > Inventory
- Updated to support Bundles.
User > Marketplace > Personalized Pricing
- Updated to support Catalog Promotions. See the Items & Bundles tab in the Offers section.
API Changes
The following changes/additions have affected the brainCloud API:
Authentication
- For improved security, the Reset Password APIs - i.e.
ResetEmailPassword*()andResetUniversalId*()now always returnstatus: 200– even if the accounts targeted do not exist. The old behaviour is still supported via a new compatibility flag, which is enabled by default for existing apps.
- For improved security, the Reset Password APIs - i.e.
Global File
- Now supports direct file uploads via the S2S API. [Before, devs needed to upload User Files via the Client API and migrate them to Global Files.]
- The process is similar to uploading User Files. Call
SysPrepareUpload()to receive an URL that can be used when performing the upload.
Group
- Several group-related APIs, including
GetMyGroups(), have been enhanced to return the groupversionfield for convenience
- Several group-related APIs, including
User Items
AwardUserItemWithOptions()- Allows item(s) to be awarded to a user without collecting the purchase amount. Includes anoptionsJsonfield that can be used to specify how the system should respond if the player already has the maximum quantity of an item.GetItemsOnPromotion()- Returns a list of items that currently have promotional pricing for the current userGetItemPromotionalDetails()- Get promotional details for the specified item definitionPurchaseUserItemWithOptions()- Purchases a quantity of an item from the specified store. Includes anoptionsJsonfield that can be used to specify how the system should respond if the player already has the maximum quantity of an item.OpenBundle()- used to open a bundle, depositing the contents into the user’s inventory.
Client Libraries
All Libraries
- New User Items APIs: AwardUserItemWithOptions(), GetItemsOnPromotion(), GetItemPromotionDetails(), PurchaseUserItemWithOptions(), OpenBundle()
Exposed Constants:
- Operation Param
- Service Name
- Service Operation
- Reason Codes
- Updated all copyrights to be correct and consistent.
Unity, C#, and Godot
- Exposed constants were updated to use
readyonly structdata structure - Meta Quest devices will set the platform to
OCULUSfor brainCloud authentication - Optimized the response processing, which was more apparent during large responses
Objective-C
- SSKeychain has been deprecated; was updated, and replaced with SAMKeychain
Roblox - Lua (Beta!)
New brainCloud-roblox Client- Plugin
- The experience must be “published” to Roblox in order to gain access to the Data store for users to seamlessly log in with Roblox.
- The experience must be configured with Studio Access to API Services - Enabled.
- Allow HTTP Requests as well to communicate with brainCloud.
Known Limitations
Real-Time Technology
- Persistent socket connections to brainCloud servers from Roblox clients and servers are currently limited.
Relay Servers
- Relay-based multiplayer functionality is constrained by the same real-time connection limitations.
File and Group File Uploads
- Multi-part upload streams are not currently supported in Roblox.
App Store Service
- Has not been fully tested or confirmed
Authentication
- Not all identity types have been fully tested.
- A Universal brainCloud UserId is generated from the Roblox UserId to streamline player login.
S2S Libraries
Minor fixes and improvements.
Example/Demo Libraries
- Cursor Party - i3D support
Updated Authentication Unity example
- Added Game Center authentication support
- Added Steam authentication support
- Updated Google OpenId support
New AuthenticationOculus Unity example added
- Intended for Meta Horizon devices on Windows (via Meta Horizon Link) and Meta Quest
- Showcases Oculus Authentication
- Showcases Marketplace support with Consumable, Durable, and Subscription purchases on Meta Quest devices
New BCFishnet - Collaborative Canvas Unity example added
- Includes authentication, long-lived lobbies, host merging when the active host drops during gameplay, and join-in-progress support.
New BCKart - Photon Unity example added
- Extended an existing Photon sample with brainCloud authentication, lobby management, and leaderboard integration.
Documentation and Tutorials
Documentation
- All the latest API additions and changes have been incorporated into our documentation at docs.braincloudservers.com