Beamable Documentation

Welcome! Here is everything you need to get setup and become a Beamable expert.

Begin with the Getting Started section, learn more about Beamable features in the Manual, and check out the Script Reference APIs for advanced workflows.

Choose from the following...













.








.

Content Manager

The content item administration

Overview

This page includes everything needed to use this tool window with the "Beamable SDK for Unity". Or watch this 5 minute video.

The purpose of this Tool WindowTool Window - A group of related Beamable editing functionality for game makers is to allow front-end administration of player ContentContent - The primary data concept within the Beamable Content Manager by the game maker.

πŸ“˜

Related Guides

A common use case for the tool window is covered in the guides. See Step 4 - Adding Content for more info.

The User Interface

Here is the user interface of the Beamable "Content Manager" tool window.

The Beamable "Content Manager"

Beamable High-Level Data Concepts

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

Steps

Follow these steps to get started.

Step

Detail

  1. Open the "Content Manager" Window

β€’ Unity β†’ Window β†’ Beamable β†’ Open Content Manager

Here is the "Beamable" menu as seen in Unity.

The β€œBeamable” Menu

It is also accessible from the Beamable Toolbox Window. Here is the "Open Content Manager" Button.

The "Open Content Manager" Button in the Beamable Toolbox Window

Advanced

Here are a few advanced configuration options and workflows.

Content Types

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

Game makers may create custom content types for custom use cases.

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

Class Name

Related Feature

Coding Required?

AnnouncementContent

Announcements Flow

No

CurrencyContent

Currency HUD

No

EmailContent

--

No

EventContent

--

No

ItemContent

Inventory Flow

Optional. Game makers may add InventoryBehaviour for custom item behavior.

LeaderboardContent

Leaderboard Flow

Optional. Game makers may add custom code for client-authoritative scoring.

ListingContent

Store Flow

Optional. Game makers may add custom code for custom listing rendering.

SimGameType

--

No

SKUContent

Store Flow

No

StoreContent

Store Flow

No

Content Status

The Content Manager indicates the status of each content item using the status icon.

  • Synced - Item is properly synced on client and server

  • Added - Item exists on client only

  • Modified - Item modified on client

  • Removed - Item removed on client only

Refresh

The refresh process compares the local content to the Beamable back-end. It downloads the manifest file from the relevant RealmRealm - A data sandbox in the Beamable back-end. The local content is now synchronized.

The Content Manager window icons indicate the state of local content.

  • Local content which matches back-end
  • Local content which does not match back-end
  • Local content which is unpublished

Publish


The publish process compares the local content to the Beamable back-end. It uploads the appropriate changes to the relevant RealmRealm - A data sandbox in the Beamable back-end. The back-end content is now synchronized.

The publish confirmation window shows the summary of changes.

  • Content Additions
  • Content Deletions
  • Content Modifications

Once published, development can safely continue within the game maker's Unity Editor and within the Unity Editor of other team-members. Any players connected to that RealmRealm - A data sandbox in the Beamable back-end receive the updated content as well.

πŸ“˜

Best Practice

These hints make efficent use of concepts and workflows.

When collaborating on a team of game makers, a safe process will limit potential content conflicts.

  1. Click the "Refresh" button in the Content Manager
  2. Make a content change
  3. Save the Unity Project
  4. Commit to version control
  5. Click the "Publish" button in the Content Manager

Storage Location of Content Types

Each content object derives from Unity's ScriptableObject, is an asset file written to disk, and is therefore persistent between sessions.

While all content objects must go in this location, game makers may choose to create custom subfolders within.

Development (Unity Editor)

/Assets/DisruptorEngine/Editor/content/

Deployment (On-device)
The development location is not included in the built game project. Instead, when the player loads the game, a fresh copy of all content is retrieved from the Beamable back-end and stored on-device. This allows Beamable to serve dynamic content to the game project. By default, this is a LazyLazy - A lazy operation occurs on-demand at the last moment possible to satisfy the use case loading operation. Each of Beamable's FeatureFeature - An individual aspect of the Beamable product used to create a great user experience prefabs show a loading progress indicator UI automatically.

Content is stored on-device in a within Unity's Application.persistentDataPath.

Application.persistentDataPath + $"/content/{contentId}.json";

πŸ“˜

FAQ

Here are highlights from the Beamable FAQ. See FAQ for more info.

β€’ Content Manager

Updated 15 days ago


Content Manager


The content item administration

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.