Beamable Releases Unity SDK 0.14.0

Beamable Releases Unity SDK 0.14.0

Beamable is happy to announce the release of our Unity SDK 0.14.0. The full changelogs can be found below. Here are the highlights of the release.

Build support for WebGL

Unity builds running in WebGL don’t support any multithreaded code. In the previous version of Beamable, there were lots of references to concurrent types and other multithreading system types. We’ve modified the package so that no multithreaded code is used when you build your games for WebGL. Beamable features like inventory, account management, cloud saving, and multiplayer will all work in a WebGL build now. However, it is important to mention that Unity IAP does not support native WebGL builds, so hard-currency purchases are not supported.

Multiple Content Namespaces

This is a new feature for Beamable’s Content system. Traditionally, each realm has had one set of content available. Now, you can create and maintain parallel namespaces of content in each realm. This can be a gamechanger if you need to support multiple game clients while still innovating on your content design. You can manage your content namespaces from within Unity, the Beamable Portal, or the Game Content Designer. Multiple Content Namespaces is a powerful feature, and you should think carefully about if it fits your game’s needs. If you do, you’ll need to enable the feature in the Project Settings / Beamable / Content section.

Unity IAP 3.x.x Package support.

The older Unity IAP services split their code between a plugin and a package. When Unity released their 3.x.x IAP packages, they moved the code from the plugin into the package and removed the need for the plugin. In Beamable 0.14.0, we’ll automatically detect which version you are using, and get the code from the correct spot.

Password Reset Codes as PINs

In previous versions of Beamable, when a player requested a password reset code, they were issued a UUID code. The UUIDs were clunky and long. We’ve replaced them with much shorter PIN codes. This change should be automatic, but if you need to change it for any reason, the setting can be found in Player Settings / Beamable / Account Management / Password Reset Code Type

Usability Improvements

The 0.14.0 release includes several bug fixes and usability improvements to make working with Beamable easier. The realm picker is in both the Toolbox and the Content Manager. The last time content was published to a realm is available in the lower right of the Content Manager. When you need to edit date strings in Content, there is a new visual date picker that automatically formats the date for you. You can right-click on the date fields and opt to use the old text field if you prefer. You can now set content ref values across multiple objects. The Beamable Promise type can now be used as the return type of an async method. This can be an especially useful way to format your code.

Microservice Improvements

The Beamable Microservice package also has a few new powerful features. We added a dependency injection system that allows you to extend what services are available. In your Microservice class, you can write a method that takes exactly one parameter of type IServiceBuilder, and use it to register transient, scoped, or singleton services. The method must be marked with the [ConfigureServices] attribute. The serialization of request objects has also been improved. Your request objects can now implement Unity’s ISerializationCallbackReceiver interface, and the associated methods will be invoked from the Microservice code.

Fixed

  • Integration for Unity In-App-Purchasing 3.x.x packages
  • Content references will update after a manifest subscription update

Changed

  • Rearranged the Portal button and Account button in Toolbox
  • Rearranged the Content Count label in Content Manager
  • Password reset codes can use PINs instead of UUIDs

Added

  • WebGL build support
  • Multiple content namespaces, both in Editor and Runtime. Must enable in Project Settings
  • Facebook Limited Login (iOS) Authentication
  • “portal” console command, which opens Portal to the current player’s admin page
  • Multi-object editing support for Content Reference selector
  • New editor tooling for ISO date strings in Content Objects
  • Realm Picker in the top right of Content Manager
  • Last, publish date in bottom-right of Content Manager
  • ISerializationCallbackReceiver support for Content Object serialization
  • Async support for Promise<T> types
  • Added Donate API call method to GroupApi
  • Dependency Injection system
  • ISerializationCallbackReceiver for request and response objects used in [ClientCallable] methods
  • Custom routing prefix setting in MicroserviceConfiguration

    Our changelogs can be found at

    https://github.com/beamable/Changelogs/blob/production/com-beamable-changelog.md