Beamable is happy to announce the release of our Unity SDK 0.16.0. The full changelogs can be found below. Here are the highlights of the release.
New Microservices Experience
The Microservices window has been completely rebuilt. You can create, manage, monitor, and deploy your services all from the new window. Each microservice has its own log container that can be docked anywhere in the Unity Editor. We’ve also added support for executing Docker Snyk tests, viewing the microservice’s build directory, and attaching a Command Line Interface directly to the microservice Docker container.
Disable Unity Domain Reloading
Unity has offered the ability to increase your Playmode entrance speeds by disabling domain reloading since Unity 2019. Now, Beamable 0.16.0 supports disabling domain reloading as well, which can dramatically speed up your workflow. To try it out, enable Enter Playmode Settings in the Editor section of Project Settings, but don’t enable any reloading options. You should be aware that you may need to adapt your own code to support this workflow.
Beamable has always offered leaderboards as a core capability. Now you can control how your players are grouped into leaderboards by using cohorts. Cohorts can be configured based on player stats, or percentage splits. Beamable uses your configuration to distribute players amongst the various cohorts. The leaderboards SDK automatically aligns the cohorts with leaderboards, so players in the same cohorts exist in the same leaderboards. You can use this feature to group your players based on their gameplay, business logic, or spend.
Content Workflow Enhancements
Content is a central Beamable feature, and in 0.16.0, we’ve added a few improvements to make your workflow faster and more efficient. In the Unity Editor, you can now reset your local content files by going to Window/Beamable/Utilities/Reset Content. If you need to create a new content class, we’ve added a menu item at Create/Beamale/Content Types that will automatically generate you a content class with the associated Content Ref and Content Link classes. When you enter playmode, the Admin Console has a few new commands to help you investigate and verify your content. LIST_CONTENT will print your current content manifest, and GET_CONTENT will display the serialized version of a piece of content. These commands can help you discover issues or validate your content flows.
Automatic Network Compression
Beamable 0.16.0 automatically compresses network traffic between your game and Beamable’s servers. If any request or response exceeds 1KB, the traffic will be GZipped. GZip compression can reduce the payload size of your network traffic by an order of magnitude. Megabytes become kilobytes. This will speed up your game’s connection to Beamable, and increase the size of messages you can send.
Support for disabling Unity Domain Reload
Content console commands (GET_CONTENT, LIST_CONTENT, CONTENT_NAMESPACE, SET_CONTENT_NAMESPACE)
Easy custom content class creation in Create/Beamable/Content Types
Resetting content to the server state under Window/Beamable/Utilities/Reset Content
MustBeSlugString content validation with configurable option to allow underscores
OptionalBoolean type for content
Leaderboard Apis that supports fetching partition/cohort cached assignment transparently
Ability to disable VIP currency awards on Mail Rewards
PlayerSettings scripting define symbols are saved in the Diagnostics file
Beamable package version Toolbox announcement
Microservices- New Microservices Manager window
Microservices- Local microservice health checks are accessible on container port 6565
Microservices- Snyk testing for microservices
Microservices- Ability to categorize [ClientCallable] methods in documentation with [SwaggerCategory]
Request and Responses to and from Beamable are GZipped if larger than 1K
Leaderboard Content supports partitioning, max size, and cohorting
Leaderboard Update API will transparently fetch cached assignment
PlayerStatRequirements now support providing the domain and access to stats
MustBeOneOf content validation attribute now supports Optional types
Beamable Platform errors all extend from RequesterException in Unity Client and microservice code
Redesigned internal Toolbox announcements
Content Manager publish flow shows Realm and Namespace for confirmation
Added missing attributes for content classes
SocialService SocialList serialization
Account Management Flow third party login buttons use correct third parties
Microservices- Visual Studio Code debug configuration source maps are now correct
Microservices- AssumeUser() no longer throws null reference
Our changelogs can be found at https://github.com/beamable/Changelogs/blob/production/com-beamable-changelog.md