brainCloud 5.1 is live!
brainCloud 5.1 is live! This release includes:
- Godot Support!
- brainCloud Blast! (an Unreal Server example!)
- Room Server DevTool
- Enhanced Global Entities
- PS5 friend optimizations
And much more. Read on for the full details!
Release Highlights
Godot Support
brainCloud now officially supports the Godot Game Engine!
We have added instructions on how to get started to the readme of the braincloud-csharp
repo. <- Note, you may have to switch to the develop
branch if you are checking it out early!
And stay tuned - we are working on more brainCloud examples in Godot!
brainCloud Blast! (Unreal Room Server Example)
We're pleased to announce the availability of brainCloud Blast, our latest Unreal example game.Blast is a fun little FPS built on Unreal 5.1. Most importantly - it is a full authoritative Room Server example built using Unreal dedicated server tech. It is a great example for teams looking to build multiplayer Unreal games on brainCloud!
Check out braincloud-roomserver-unreal
for more info!
Room Server DevTool
To go with our new Room Server example - we have also released a cool little utility that allows you to run brainCloud Room Servers on your own workstation. This gives multiplayer developers the option to run + debug locally -- while still being fully integrated with brainCloud!
Check out braincloud-roomserver-devtool
for more info!
Enhanced Global Entities
The Global Entity service has been enhanced to support the optional migration of un-owned entities (also referred to as system entities) during deployments and/or imports (i.e. similar to the handy migration feature for Unowned Custom Entities!).
This makes Global Entities very convenient for maintaining your app's reference data - which is how we refer to the data your app uses that isn't owned by users and does not dynamically change during a session (i.e. think tuning files, level design files, country lists, player roles, etc.)
This sort of data is essentially an extension of the meta-data of your app -- and now brainCloud can automatically migrate those entities with the rest of your meta-data during deployments!
This is a great new option for:
- Developers that were already using Global Entities for this purpose - but were manually migrating them via the export+import facilities after deployment.
- Developers that are currently using Custom Entities for this sort of reference data. (Remember - Global Entity storage is free - no Plus! plan required!)
(For our private licensees - Global Entities are also more efficient for reference data because they don't consume a Mongodb namespace for each custom collection).
⚠ Note - Migration of Global Entities during Deployment must be configured specifically on the Design > Cloud Data > Global Entities page. There are no changes to the deployment process if this step has not been done.
Additional Improvements
Additional improvements in this release include:
- PS5 Friend Optimizations - brainCloud now batches PS5 friend calls for a significant performance improvement!
- Relay Server Enhancements - Relay Servers now better support long-lived lobbies - by automatically sending in heartbeats to keep the lobbies alive
- iOS Push Notifications - Remove length check from APNS token handling to appropriately handle tokens of unusual size
- Job Queue - the status column in the Global > Logs > Job Queue screen is now color-coded for easy readability.
- Builder API Enhancements - added new features for:
- Getting and setting an app's compatibility flags
- Ability to set brainCloud properties (Super API only)
- For Private Licensees
- Team Usage - We have added a new Super > Metrics > Team Usage screen - to easily distribute brainCloud costs across teams
- Themes - Added the ability to control the default theme (light vs. dark) and whether users can override it
Client Libraries and Examples
Client Libraries
braincloud-csharp (C#/Unity/Godot)
- Now supports Godot!
- Now supports actual PING-based latency tests for the FindLobbyWithPingData() API calls. (Used to use simple HTTP-based requests before, but newer Unity versions restrict non-HTTPS calls.)
- Fix to the
AuthenticateHandoff()
call when called from the brainCloud Wrapper - Improved test beds for Android and iOS
braincloud-unreal-plugin (Unreal)
- This git repo has been renamed from
braincloud-unreal-plugin-src
tobraincloud-unreal-plugin
- BrainCloud Widget can be added to your project to help set up your portal-connected apps
- Verified for Unreal Engine 4.27 through latest 5.3.1
- IWYU headers incorporated for BCOnlineSubsystem
- Fix to end match and disconnect in RelayComms and RTTComms
braincloud-cpp (C++)
- Fixes for latest clang (XCode 15)
braincloud-java (Java)
- Fix to the
AuthenticateHandoff()
call when called from the brainCloud Wrapper
braincloud-js (JavaScript)
- Fix to the
AuthenticateHandoff()
call when called from the brainCloud Wrapper
braincloud-objc (Objective-C/Swift)
- Improved podspec, removes warnings and adds header search paths
Examples
Unity
- New MarketPlace and Push Notification example
Unreal
- brainCloud Blast! (Unreal Room Server Example)(see more info above)
- End Match feature added to RelayTestApp
Objective-C/Swift
- New example to build with pre-compiled framework (without cocoapods)
- Updated for Android Studio and XCode
C++
- Updates to GUI libraries and deploying to mobile devices
Portal Changes
Colored job status for the Global > Logs > Job Queue screen.
brainCloud 5.1 includes some significant Portal improvements:
General
- Improved spit and polish! - we have upgraded to Material UI v5, added strategic drop shadows, and more :)
- 6-digit appIds - SmartSearch has been enhanced to support 6-digit appIds
- Performance Improvements - you should see performance improvements in several screens, including App > Design > Cloud Data > Custom Entities.
Team Section
- Platform News - Now integrated with our new-and-improved updates site
App Section
- API Explorer - all links have been updated to point to the new docs!
- Entity Editors - we are working to make our new entity editors more useful - especially on smaller screens.
- Error Log - the Global > Logs > Errors screen better handles larger error logs - including a new option to view the log in a separate window
- Global Entities - the new Design > Cloud Data > Global Entities screen allows devs to configure which Global Entity types should be migrated during deployments. Plus there are new options in the Design > Admin Tools > Checkpoints, Design > Admin Tools > Configuration Data and Design > Admin Tools > Deployment screens for including/excluding Global Entities during those operations.
- Job Queue - the status column in the Global > Logs > Job Queue screen is now color-coded for easy readability.
- User Brower - added the ability to Hide multiple logins from the same user to the Recently Active tab.
- User Banner - added Copy User URL button to the User Banner
Super section (Super-Users only)
- Super Dashboard - added the Recent Forum Posts widget to the Super Dashboard screen
- Team Usage - added new Metrics > Team Usage screen
API Changes
Friend Service
GetPresenceOfFriends()
- Now returning the list of friend platforms that a friend is on
Push Service
RegisterPushNotificationDeviceToken()
- iOS tokens are now sanitized when they are registered
Miscellaneous
- Documentation updates
- Our new documentation site is live at docs.braincloudservers.com!
- Important Fixes/Changes
- BCLOUD-5696 - Add long-lived lobby support to relay server
- BCLOUD-5933 - Now returning list of friend platforms that a friend is on in presence calls
- BCLOUD-5830 - Sanitize IOS push token on register rather than send
- BCLOUD-5815 - Remove length check from APNS token handling to appropriately handle tokens of unusual size
- BCLOUD-5612 - BuilderAPI - add ability to set a brainCloud property
- BCLOUD-5778 - BuilderAPI - Add support for gettings/setting app compatibility flags
- BCLOUD-5829 - Retrofit all cron jobs to use java routes and super property configuration
- BCLOUD-5836 - Update NewRelic agent to version 8.6.0
- BCLOUD-6153 Fixed API errors table to display callName instead of apiOperation
- BCLOUD-6163 Segment criteria using AmountSpent is comparing input dollar amount (with decimal) to users' amountSpent in cents
- Upgraded Portal-X to use Material UI 5 - so everything performs snappier!
- Plus miscellaneous fixes and performance enhancements…