Beamable Releases Unity SDK Version 0.11.0

Beamable Releases Unity SDK Version 0.11.0

Beamable is happy to announce the release of version 0.11.0 of our Unity SDK for live game development!

Changes

  • Console Configurations ToggleKey will be reset to BackQuote.
  • Microservice: Changed response serialization from Microservice. Use UseLegacySerialization to maintain old behavior.

New Features

  • Support for the new Unity Input Manager System.
  • Added OnUserLoggingOut event available from API. The event fires before a user switches account.
  • Microservice: Added a cache for content fetches.
  • Microservice: Added Open API 3.0 auto-generative documentation.
  • Microservice: Added AdminOnlyCallable version of ClientCallable that requires caller to have full scopes.
  • Microservice: Added requiredScopes field to ClientCallable that requires caller to have required scopes.
  • Content: Event phase validation. Events can no longer have zero phases. This may lead to disappearing Event Phases if your Beamable version is mismatched.

Bug Fixes

  • Fixed Promise multithread safety.
  • Fixed ContentRef property drawer showing invalid references when deleted.
  • Fixed MustReferenceContent validation for lists of Content References.
  • Fixed Inventory fetching with empty scope
  • Microservice: Fixes leaderboard and stat fetching cache errors.
  • Microservice: Fixes null reference bug when passing null to ClientCallable arrays.

Critical Breaking Change

There is a BREAKING CHANGE in this release, but it is relatively easy to handle. Effective 0.11.0, C# Microservices will no longer respond to [ClientCallable] methods with a wrapped payload field. For game clients that have already been deployed, the old serialization structure is critical.

When you upgrade your project to Beamable 0.11.0, do not deploy a C# Microservice to a realm with existing client builds unless you configure it to use legacy serialization.

You can do that by marking a boolean as true in the Microservice attribute. This will preserve the old serialization technique. You can freely ship new client builds without needing to worry about this. As soon as there are no clients in the wild with the old version, you can remove the legacy serialization.

An example… (see the UseLegacySerialization field is set to true).

[Microservice("DeploymentTest", UseLegacySerialization = true)]

public class DeploymentTest : Microservice

{

Get started with Beamable

Check out Beamable for your game project today! Get started for free and see how Beamable can speed development for your game.