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