Beamable Release Unity SDK 0.17.0

Beamable Release Unity SDK 0.17.0

Beamable is happy to announce the release of our Unity SDK 0.17.0. The full changelogs can be found below.

Here are the highlights of the release.

Microstorage Local Preview Beamable 0.17.0 brings a brand new database capability to the microservices feature. In addition to creating C# Microservices in Unity, now you can create and manage a Mongo database from the Microservices Manager window. You can create and restore database snapshots, explore your data using Mongo Express, and filter database logs from within Unity. This feature is only available in preview, so you’ll need to enable it in Project Settings / Beamable / Microservices / Enable Storage Preview. Once you’ve enabled the preview feature, you can create a Storage Object from the Microservice Manager, configure a Microservice to depend on the Storage Object, and then automatically receive a pre-built and connected database client in your Microservice code. You have full access to the Mongo C# Driver, so you can take advantage of the powerful capabilities Mongo provides. While the feature is in Preview, you won’t be able to deploy any databases, but you can get an early look at the workflow and capabilities of Beamable Microstorage.

Microservice Enhancements

We’ve improved the Microservices feature in several ways. Your ClientCallable methods can now return Promise types. You can also return List types directly from a ClientCallable as well. The Microservice Manager window has a few workflow improvements, such as being able to see Remote-Only services, and tailing service logs more accurately. The final major enhancement in Beamable 0.17.0 is the addition of container-level health checks for deployed Microservices. If you have deployed a Microservice, and for whatever reason any particular cloud instance becomes unresponsive, the instance will automatically restart. This will help ensure that your Microservices have maximum uptime.

More Authorization Support

Beamable 0.17.0 adds support for two new seamless player log-in methods; Steam and Device authentication. If your player is already logged into Steam, they can associate the Steam login with Beamable effortlessly. Similarly, Device authentication registers your player’s unique device id to Beamable. You can use Device authentication to help remember player data through app reinstall events. In addition to these new authentication schemes, players can now also unlink a third-party authorization. The RemoveThirdPartyAssociation method in the AuthService will let players remove an association from Steam, Facebook, Google, Apple, or their Device id.

Schedulable Events, Listings, and Content Improvements

The 0.17.0 release includes the ability to schedule Events and Listings on a recurring basis. Events have traditionally been one-off competitions where players can participate and receive rewards based on their performance. Now, you can configure your Event to repeat on an ongoing basis, or to repeat a specific number of times. Similarly, the Beamable Commerce capability lets you assign active periods to store Listings. Now, you can customize when a Listing is active, schedule it to repeat on an ongoing basis, or a specific set of dates and times. The Event and Listing schedules both come with easy-to-use scheduling workflows, but both use cron strings under the hood. If you need to create an advanced schedule, you can alter the raw cron strings directly from Unity, publish your content, and you’ll be all set. In addition to schedulable Events and Listings, the Event system now supports player cohorting.

Workflow Improvements

This release includes several workflow improvements around the development process. When you use the Beamable 0.17.0 Admin console, you’ll be able to see command suggestions, use the Tab key to autocomplete and cycle your command inputs, and use the Up/Down arrow keys to scroll through your command history. We’ve also added a variant of the Promise class that doesn’t require a generic type. Lastly, all of our subscription-based SDKs have a new method called Fetch that gives you the raw network data. You can use it to get direct access to the API results without going through the Beamable subscription layer.

Added

  • Device id authentication support
  • Steam third party authentication support
  • Auto-complete text feature for AdminFlow prefab
  • New default currency.coins currency that demonstrates client writable currency.
  • Ability to remove a third-party authorization with RemoveThirdPartyAssociation method in AuthService
  • Cohort Settings for EventContent that support partitioning by player stats
  • Event schedules for repeating events
  • Listing schedules for repeating listings
  • Support for archiving manifest namespaces.
  • A Fetch() method to all subscribable SDKs that requests and returns the raw subscription data
  • Microservices- Local Mongo Storage Preview
  • Microservices- Ability to use Promises as a return type for ClientCallable methods
  • Microservices- RemoteOnly Microservices visible in Miscroservice window
  • Microservices- Deployed Microservice instances will be automatically re-run if they become unhealthy

Changed

  • An optional force refresh parameter to all subscribable SDK’s GetCurrent() method that forces a network request
  • API.Instance. Requester is now an IBeamableRequester
  • The Promise class is no longer static, and extends from Promise<Unit>
  • The realm dropdown now has a loading spinner on realm switches
  • Content Inspector date picker with no user given value no longer constantly updates
  • Content deletion popup opens as a separate window
  • Microservices- Generated services no longer include the class name in the namespace

Fixed