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.
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.
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.
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
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.
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.