Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
The Developer Portal is an online dashboard where the cloud services behind your coherence-based game can be managed. It can be found at https://dev.coherence.io or from the Developer Portal link above.
The Developer Portal includes:
Organization and Project creation and management
Resource configuration and management
Enabling / disabling features
Cost analysis
Team management
Here are some examples of tasks to perform on the Developer Portal:
Create your organization and project for your game
Start/stop/restart your cloud-based Replication Server or Simulator
Enable coherence features such as player authentication, key-value store, persistence, and build sharing
Invite teammates to your project
View your resource usage and billing forecasts
While a local ReplicationServer is available as part of the Unity SDK, in order to host multiplayer services like the Replication Server in the cloud, your team must have a project in the Developer Portal. It is up to your project needs when to begin using the cloud services.
Please see the page Create a free account in the Get Started section.
coherence provides an API and a database for storing key-value pairs from within game sessions.
The key-value store provides a simple way to store and retrieve data for the currently logged in player. For example, you could store the player's score, email address, or any other data.
This feature requires a game account.
The keys must be alphanumerical strings, underscore or dash. Currently, only strings are accepted as values. If you need to store numbers or complex types like arrays, you have to convert them to strings.
The total amount of stored data (keys + values) cannot exceed 256 KB per player (TBD).
There is no limit how often the data is stored or retrieved.
Please refer to the Cloud API: Key-value store.
From the Developer Portal you can create, edit and configure your Worlds
Click the New World button at the top right of the Worlds view in the Developer Portal.
To create a World:
Enter a unique name
(optional) choose an SDK version. The latest version is recommended, but this should match the SDK version installed for your project
Enter tags separated by commas
Choose which region the World should be started in
Choose the size of the Replicator
(optional) Choose the schema this World should start with. Usually, the latest schema uploaded is the preferred choice, and this is the default.
(optional) Adjust the packet frequencies for sending and receiving data. It can be adjusted per project and is part of the Advanced Config section. Note that the adjustment of frequencies is accessible only for paid plans.
Besides the core Replicator and Simulator, coherence offers additional services to enhance your game's experience and we are constantly working on more.
Currently available services are:
In the Project sidebar, you can find links to each service. Each service has an enabled checkbox which you can tick to enable and disable those features:
Disabling a service will immediately remove that functionality from your game. Please disable with caution.
coherence provides an API for creating player game accounts that uniquely identify players across multiple devices. An account is required in order to use the rest of the online services, like the key-value store and matchmaking.
There are two types of accounts that are currently supported - guest accounts and user accounts.
Guest accounts provide an easy way to start using the coherence online services without providing any user interface for user names or password. Everything is controlled with the , and is completely transparent to the player.
The session data for the account is stored locally on the device so it is important to know that uninstalling the game will also wipe out all the data and the account will be no longer accessible even if the player installs the game again.
User accounts require explicit authorization by the player. Currently, only user name and password are supported as means for authentication. The user interface for entering the credentials must be provided by the game. Check the how to use this feature.
In the future, there will be support for many more authentication mechanisms like Steam, Google Play Games, Sign in with Apple, etc.
Please refer to the .
The key-value store provides a simple persistence layer for the players.
The player needs need to be to use the key-value store.
This class provides the methods to set, get and unset key-value pairs. This is executed within the context of the currently logged in player.
Size: there are no limits to the number of stored key/values as long as the total size is less than 256 kB.
Requests: Set/Get/Unset can be called unlimited amount of times but the execution may be throttled.
From the Developer Portal, you can configure how Rooms are created through the SDK in the coherence cloud.
From the left sidebar, select Rooms. On this page you can:
choose the regions you want to allow your rooms to be created in
enable Simulators for your Rooms
view a list of recently created Rooms
view a list of recently uploaded Simulators
The packet frequencies for sending and receiving data can be adjusted per project. It is part of the Advanced Config section and adjusting the frequencies is available only for paid plans.
The Recent Rooms Table provide a quick view of the recently created Rooms with the following information per column:
From the Developer Portal, you can configure what size you want your Simulator instances to be. To attach a Simulator to a Room, send the "Simulator slug" uploaded through the SDK with the Rooms creation request. When using the to create Rooms, the Simulator uploaded through the SDK is automatically assigned in the creation request.
Column name | Description |
---|
ID | ID of the Room. |
KV | Key-value pairs associated with the Room. |
Tags | Tags attached to the Room. |
SDK | SDK version used by the Room. |
Sim | Sim Slug for the Room. |
Schema | Schema ID used by the Room. |
IP | IP address of the Replication Server attached to the Room. |
Created | Time duration since the Room creation. |
Room Status | Status of the Room (Open or Closed). |
Sim Status | Status of the Simulator attached to the Room (Starting, Started, Stopped). |
Messages | Messages from the Simulator orchestration. This field is usually empty but will contain a message if an issue happened with the Simulator life-cycle. The message provides the reason for the Simulator's current state (usually Stopped). Once a Simulator is stopped (for Room inactivity for instance), the Message column will mention Idle-stopped. |
Creating a player account is the first step towards using the coherence Cloud API. It is required in order to use the rest of the services.
To initialize the Cloud API you need to provide a runtime key that can be obtained from the Settings.
The easiest way to get started is by using a guest account. The only thing that is needed is to call LoginAsGuest
. This will create a random username / password combination and will authenticate the player with the coherence Cloud.
Once logged in, the credentials are securely persisted so that if the game is restarted the player will be able to log in automatically.
If the game is uninstalled then the account credentials will be lost and a new guest account will be created next time the game is installed.
Another alternative is to login with a username and a password. You have to provide the user interface.
This example initializes the Cloud API, checks for an existing session and, if no session was found or if it expired, logs in the player as guest.
The coherence Cloud API allows us to access online services like game accounts, key-value store, matchmaking, and others. It also allows you to get the addresses (IP and port number) of the Servers the players can connect to.
The Cloud API requires you to use tokens connected to your coherence project.