Content - Overview

Create and manage your game's live content [PROF-Content-01]

The Content Feature allows game maker to store project-specific data objects.

Content Management

Content management is critical to keep the content in your game engaging and reactive, and Beamable provides a number of content management tools. This is a mixture of solutions within the "Beamable SDK for Unity" and Rest API calls. In addition Beamable provides some extended tools that integrate with Google Sheets as a plugin.

Beamable provides a streamlined Content Publishing pipeline. You can deploy your content across multiple environments that can be tailored to your own internal publishing workflow.

When you create your Beamable account, we automatically create a "Development to Production" pipeline of distinct environments for you. These environments are "Dev" → "Staging" → "Production". This is how we enable you to publish your content to our servers for the development environment while allowing you the peace of mind to know that the "Production" environment has not been modified.

Then, once you have tested that the new content in your environment looks correct, you can go into the Portal to promote the "Dev" content to "Staging" and eventually "Production".

Content Live Refresh

One of the main benefits of our content system is that, when you hit publish and the content updates, we will automatically refresh that content on each of the game clients via a server-to-client message. This allows for the system to be incredibly interactive at development time as well as allowing for over the air updates to players who are playing in "Production" after a content promotion.

Content Namespaces

Content is validated as a manifest which allows items to be validated against each other. This prevents validation errors when publishing; however, individual changes could cause validation errors after uploading; e.g., a store references a currency that no longer exists.

Namespaces are locations for content to be published so that the content does not impact content in other namespaces. Content namespaces can also be used for versioning in order to ensure older versions of the game using the same or similar content do not break.

Content Data

Data Concepts

For simplicity, some Beamable data structures may be omitted from this diagram.

Data types

Content types are must extend Beamable.Common.Content.ContentObject. All derive from Unity's ScriptableObject.

The Beamable SDK for Unity ships with all content types needed for common use cases.

Class NameRelated FeatureCoding Required?
ItemContentInventoryOptional; game makers may add InventoryBehaviour for custom item behavior.
LeaderboardContentLeaderboardOptional; game makers may add custom code for client-authoritative scoring.
ListingContentStoreOptional; game makers may add custom code for custom listing rendering.
SimGameTypeMultiplayerOptional; game makers may add custom game types.