brainCloud Product Updates logo
Back to Homepage Subscribe to Updates

Product Updates

See the latest features, improvements, and product updates

Labels

  • All Posts
  • release
  • Announcement
  • Improvement
  • Fix
  • blog

Jump to Month

  • October 2026
  • August 2026
  • July 2026
  • June 2026
  • May 2026
  • January 2026
  • September 2025
  • June 2025
  • March 2025
  • January 2025
  • November 2024
  • September 2024
  • May 2024
  • February 2024
  • November 2023
  • September 2023
  • July 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • July 2022
  • June 2022
  • April 2022
  • March 2022
  • February 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • June 2021
  • May 2021
  • March 2021
  • November 2020
  • September 2020
  • July 2020
  • April 2020
  • February 2020
  • December 2019
  • November 2019
  • September 2019
  • June 2019
  • May 2019
  • February 2019
  • December 2018
  • October 2018
  • July 2018
  • March 2018
  • January 2018
  • December 2017
  • October 2017
  • July 2017
  • June 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • October 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • June 2014
  • May 2014
Powered by

Create yours, for free!

brainCloud 6.1 is here!
releaseAnnouncement
yesterday

brainCloud 6.1 is here!

brainCloud 6.1 is here! Epic Online Store, Xsolla Web Payments, Lua/LÖVE SDK, Improved Photon Integration, Security Improvements, and more!



Compatibility Notes

We prioritize preserving stability and backward compatibility for existing apps. App compatibility flags are located under App > Design > Core App Info > Advanced Settings; each is enabled to preserve existing behavior for existing apps, but disabled by default for new apps.

New compatibility flags in 6.1 [all default to enabled for existing apps]

  • [x] Allow user delete and reset client callable (less secure, not recommended) - These calls already only allow a user to reset or delete themselves - but in the event that an account is compromised, it is safest to disallow the calls.
    It is highly recommended that devs disable this flag for their apps.
  • [x] Return item definition image URLs in user item responses as stored, instead of the proper full paths returned from Item Catalog calls - this preserves a defect in how image URLs were not being properly qualified when returned from some of the User Item service calls. If your app doesn’t use the User Items service, or isn’t dependent upon the non-qualified URLs that were being returned, you can disable this flag… [or simply disable after adjusting your app].

Also note the following behavioral change:

  • Settop handoff codes are now single-use. A code from CreateSettopHandoffCode() is used up the first time it is used toAuthenticateSettopHandoff(), so a client that retries needs a new code. Until now, a code could be reused until validSecs ran out.



Release Highlights

Epic Online Store

Bring your brainCloud-powered game to the Epic Games Store. brainCloud 6.1 adds integrated support for Epic authentication and in-app purchases - connecting Epic players and purchases to your game’s backend.

  • Epic authentication — Let players sign in with their Epic Games accounts.
  • In-app purchases — Support Epic Games Store purchases within your brainCloud-powered game.

Integrates with brainCloud Cash Products, Dynamic Pricing, Promotions, and LiveOps campaign features.

Note: The Epic Online Store integration does not support subscriptions.


Web Payments via Xsolla

brainCloud apps can now integrate web payments via the Pay Station feature of Xsolla.

This allows developers to reduce fees in some scenarios:

  1. iOS (US) via Apple’s external link/buy button entitlement.
  2. Google Play / Android (US) via out-of-app web links or integrated User Choice Billing.
  3. Direct-to-consumer / Web / PC builds where platform store fees do not apply.

The integration works via the following APIs:

  • Implements Xsolla’s In-Game Store / Store API
  • Utilizes Xsolla Login to issue a JWT that identifies the brainCloud user
  • Sends the user to the Pay Station checkout to purchase an IAP item
  • brainCloud backend is notified of the payments via webhooks
  • brainCloud automatically processes the purchase and awards the virtual currencies and/or items [like all of our AppStore integrations]
  • brainCloud backend optionally consumes the Xsolla item or currency via the API
  • brainCloud also supports the Refund API to reverse purchases as well [Refunds must be triggered via the Xsolla web console]

Note - this integration does NOT include support for:

  • Xsolla Web Shops, which are full Xsolla storefronts showing multiple items for purchase. That support may come in future releases - once Xsolla makes a few additional dynamic hooks available - so that we can align the web shop offerings with brainCloud’s dynamic pricing / promotions / campaign controls.
  • Subscriptions - does not currently support Xsolla’s subscription API

The Xsolla integration is configured via the new App > Design > Integrations > Payments screen.


Lua Client SDK (LÖVE / love2d)

brainCloud now has an official Lua client, built for the LÖVE game framework. The new Lua SDK covers the brainCloud client API: authentication, cloud data and entities, leaderboards, tournaments, items and virtual currency, lobbies and matchmaking, chat, presence, messaging, and more.

Highlights

  • Works with LÖVE 11.4+ and LÖVE 12 on desktop (macOS, Windows and Linux), iOS, Android and the web. It also runs in plain LuaJIT / Lua 5.1 (with LuaSocket + LuaSec) for servers, tools and other Lua engines.
  • Never blocks your game loop. Requests run in the background, and callbacks fire from bc:update(). Calls made in the same frame are bundled into a single request.
  • Real-time support. Includes RTT for lobby, chat, presence, and event callbacks. Relay multiplayer works over UDP, TCP, or WebSocket, with reliable and ordered channels.
  • Web builds. Games built with love.js run in the browser. The SDK sends HTTP and WebSocket traffic through the page automatically.
  • Saved logins. Players keep the same profile across launches, and Smart Switch upgrades an anonymous player to a full account.
  • Guided setup. The bundled setup tool signs you in to brainCloud in your browser. It then lets you pick or create an app and writes your config file for you. It also has a command-line mode for CI.
  • Easy to install. Drop the braincloud/ folder into your game. It includes native networking libraries for each desktop platform.

To get started, download the SDK from the GitHub Releases page. For a full example, see CursorParty in lua-examples. It covers the whole flow from lobby to relay, plus chat and leaderboards.


Photon Multiplayer Integration

brainCloud has always supported Photon integration, but proper integration required a custom cloud code script.

This release handles that for you.

Go to the new App > Design > Integrations > Multiplayer screen to enable the integration.

Then, in the Photon Dashboard, choose to add a Custom Server Provider authentication, and fill in the following:

  • Authentication URL - copy over from brainCloud
  • Keys - set to “secret”
  • Values - copy the Secret value from brainCloud

And voila - you’re good to go!


Security Improvements

The advent of AI has increased attacks on all kinds of online services, including gaming backends. We are working hard to keep pace with the changing threat environment and have added several improvements to brainCloud and its client libraries to help.

  • App Secret Obfuscation - we upgraded the brainCloud client libraries to better hide the app secret packaged with them in your apps. We encourage all developers to upgrade to the 6.1 libraries and plug-ins to take advantage of these improvements.
  • App Secret Rotation - we have also added the ability to rotate secrets on the server without immediately invalidating the old secrets. This lets you introduce a new secret while maintaining compatibility with apps still using the old secret for a period of time.
  • Source IPs - we have surfaced the source IPs of incoming requests in more places in our portal. Note that for privacy reasons we are still not storing an end-user’s IP address long-term in the user’s account, but rather in the more temporary “login logs” that are surfaced in the user's browser. We also now track IPs in the Team audit logs and App security logs.
  • Security Alerts - we have added a new App Alert to highlight security-related compatibility flags that are still enabled.


Miscellaneous Improvements

Other improvements in brainCloud 6.1 include:

  • DataStream Event Filter - devs can choose to filter out certain events so that they are not stored locally and/or broadcast to external systems. This can be configured on the App > Design > Integrations > DataStream screen.
  • Global Files - improvements to Folder Import process - including the ability to Add & Update instead of wholly replacing folders.
  • i3D FlexMetal - improved support for geo matchmaking
  • LiveOps Campaigns - new SYS API for creating and managing campaigns



Portal Changes

We continue to polish the Portal with every release. The following areas of the portal got some extra love for this release:


Application Dashboard

You will notice some handy changes to the dashboard page.

These changes include:

  • New top-level widgets - for brainCloud Plan, DAU, Total Users, and API usage
  • New Sessions widget - a new widget shows both API sessions and RTT sessions (if applicable) together
  • New Links widget - with custom links to other services for your app. You could link to your app’s Steam page, marketing web page, iTunes Connect, etc. - whatever you’d like!


Application IDs re-org

We have reorganized and refactored the old Application IDs (App > Design > Core App Info > Application IDs) page. The data from that page is now spread across 3 new pages:

  • App Details - in addition to editing an App’s name, the App > Design > Core App Info > App Details page allows developers to add a genre, description, notes, and even links to custom services ← which then become available from the app dashboard.
  • App Secret - the app secret field has been moved to the App > Design > Core App Info > App Secret page, and now includes functions for rotating secrets.
  • Platform IDs - device platform settings have moved to the Integration section: App > Design > Integrations > Platforms. That page includes all the previous platforms, plus the new Epic Online Services platform.


Integration Section re-org

We have reorganized and refactored the App > Design > Integrations section of the portal, splitting up the categories on the old Manage Integrations page into separate pages:

  • Communications - with SendGrid and WebPurify
  • DataStream - for all DataStream-related integrations
  • Multiplayer - for multiplayer and hosting service integrations
  • Payments - for web payments
  • Platforms - the platforms section from the old Application IDs page
  • Other - SAML and Slack


There were also changes to the following screens:

  • App > Calendar - support for brainCloud Alerts and better previews of all calendar items
  • App > Design > Core App Info > Advanced Settings, Compatibility Flags - can now filter by tags
  • App > Design > Configuration Data, Import - we no longer allow imports to overwrite integrations or push notification certificates
  • App > Design > Files > Global Files - improvements to the folder import process
  • App > Design > Marketplace > Item Catalog - improvements to the Item / Bundle view and edit dialogs
  • App > Design > Marketplace > Cash Products - added support for Xsolla Web Payments
  • App > Global > Logs > Security - added the incoming IP address for security-related log entries
  • App > Global > Marketplace > Transactions - added support for Xsolla web payments
  • App > Reports > Analytics > Country - we added a tracker for our adopted shark, Ziggy, to the page. Note - you can turn it off - but then you won’t know if he’s around you when you are swimming!
  • App > Reports > Analytics > Cash Product - improved labels for the charts
  • App > Reports > Analytics > Store - support for the Epic Online Store and Xsolla Purchases
  • User > User Browser
    • Added the Last Login IP for users who have visited in the past 30 days
    • Added support for browsing for Blocked (i.e., Locked Out) users via the [Browse] tab
  • Team > Security > Audit Log - we now track the IP used for portal actions
  • Team > Setup > AI Settings - added a bit more polish to the screen
  • Team > Setup > Policies & Agreements - more polish for this screen as well



API Changes

The following changes/additions affect the brainCloud API:

  • AppStore

    • Added two calls for retrieving information about a given store integration. Currently only works for Xsolla Web Payments:
      • GetStoreInfo() - retrieves ID information required to invoke a store purchase. Currently supported for Xsolla store only.
      • GetUserToken() - retrieves a store-specific user token to use to invoke a purchase. Currently supported in Xsolla store only.
  • Authentication

    • AuthenticateEpicGames() - can be used to log into the game via an EOS account
    • SmartSwitchAuthenticateEpicGames() - added to the wrapper
  • Campaign

    • New APIs for creating and managing LiveOps campaigns: SysCreateCampaign(), SysReadCampaign(), SysUpdateCampaign(), SysDeleteCampaign(), SysEnableCampaign(), SysCreateScenario(), SysReadScenario(), SysUpdateScenario(), SysDeleteScenario(), SysUpdateCampaignScenarioWeights(), SysGetCampaignPage(), SysGetCampaignPageOffset()
    • These management APIs are available via S2S and/or Cloud Code. Clients cannot call them directly.
  • Identity

    • Additional Epic Games methods - AttachEpicGamesIdentity(), DetachEpicGamesIdentity(), MergeEpicGamesIdentity()
  • UserItems

    • Added two new cloud-code-only calls for convenience: SysDropMyUserItems(), which takes a list of items to drop, and SysDropAllMyUserItems(). These calls make it much cheaper to drop multiple items, though they add an additional 1/10 API count charge per item.



Libraries and Examples

Client Libraries

All Libraries

  • Setup plugin support (with app secret)
    • Parameterless Init() reads the config written by each SDK's setup plugin/tool, so you no longer need the app secret in code - which makes it easier for us to obscure
    • Child app profiles supported through init
  • Epic Games (EOS) authentication support
  • New AppStore APIs (Xsolla) - GetStoreInfo(), GetUserToken()
  • AppStore docs updated for Epic Games, Xsolla, and Meta Horizon store IDs
  • Entity / Custom Entity / Global Entity ACL is now optional; the server applies the default
  • Monotonic Clock ticks within the RTT, Relay Server Comms layer

Unity, C#

  • Additional Security and Plugin Updates
  • Fixed region pings on .NET / Godot C# (HttpClient)
  • Aligned Global Error Callback signature
  • WebSocket SSL protocols defer to OS default

Godot (GDScript) - released 6.1.1

  • Additional Security and Plugin Updates
  • Single keep-alive HTTP connection for all requests
  • Web export: improved config support, excludes unneeded binaries

Unreal

  • Additional Security and Plugin Updates
  • Added visionOS support
  • Fixes for Android, UE 5.3, UE 5.8 / macOS 26 (class name collision)

Java

  • Additional Security and Plugin Updates
  • New Java Package to support JetBrains and Android Studio Plugin

JavaScript

  • Additional Security and Plugin Updates
  • Node 18+: New fetch-based comms layer with compression support
  • npx Setup + VS Code task for Node projects
  • Fixed relay socket leak across rounds

C++

  • Added SmartSwitchAuthenticateApple

Objective-C

  • Added the 6.1 api calls

Dart

  • Additional Security and Plugin Updates
  • Connection reuse: fixes timeouts and improves request performance

Roblox - Lua

  • Additional Security and Plugin Updates
  • Aligned to the 6.1.0 feature set and unit tests

Lua (LÖVE) - New

  • New SDK braincloud-lua (LÖVE 11.4+/12, LuaJIT), soft beta at 6.1.0
  • Desktop, iOS, Android, Web
  • RTT, Relay (ws / tcp), Room Server, compression, auto-reconnect

S2S Libraries

  • App secret obfuscated in logs (C#, Java, JS, Unreal)
  • Reuse one open connection for requests instead of a new one each time (C++, JS)
  • C++: CMake minimum lowered to 3.14 for older Ubuntu LTS
  • Unreal: added SysUploadStream, GlobalFile tests runnable from bccm, fixes for newer Unreal versions
  • GDScript S2S released at 6.1.0

Example / Demo Libraries

  • All examples updated to 6.1.0
  • Relay Test App (CursorParty)
    • RTT now stays connected for the whole session, so chat and leaderboards are more reliable
    • New chat panel, leaderboard, and end-of-match summary
    • Join-in-progress splotch/coverage sync, match results via cloud code
    • Unreal C++ RTA aligned to the other RTAs
    • New Lua / LÖVE RTA
    • RelayTestApp Viewer: GDScript S2S tool to view lobbies, members and chat
  • BCChat - images, GIFs, URLs, YouTube links and emoji
  • Unity - moved to 6000.0.79f1, notarized mac builds
  • Dart - Spider Solitaire, Acey Deucy updates



Documentation and Tutorials

  • All API additions and changes are documented at docs.braincloudservers.com.
  • Documentation for the new LUA library has been added to the API Reference