Namespace StreamSIX

Classes

ActorInfoResponse

AppConfigDef

BigScreenConfig

BigScreenManager

Entry point to manage game sessions for BigScreen application

This behaviour calls DontDestroyOnLoad(this) to keep itself alive across scene load.

Actor

Use ActorTag to specify what actor to load in the cloud. This has no effect for running local RMB.

Local RMB

Sets LocalRMB config when running rmb locally. When this is null, RMB will be spawned in the cloud.

Manage session

BigScreen application manage the lifecycle of a session.

Call CreateSessionAsync(UserManager, Int32, String, DistributionPayload) to create a new session. This creates room and actor instances.

Use EndSessionAsync(Object) to end a session. This removes the room instance and discard the running actor. Call CreateSessionAsync(UserManager, Int32, String, DistributionPayload) again to create a new session.

BigScreen application should end the session before quitting.

Application Quit

If there is still an active session when BigScreen application quits, BigScreenManager may delay the quit process until session is ended.

BigScreenManager does this by listen for Application.wantsToQuit.

When running in Editor, because Editor ignores wantsToQuit, BigScreen application does not have time to send out the end session message. In this scenario, both room and actor instances are remove immediately. This means that if the actor normally perform some processing at end of session, it may not have the time to do so when BigScreen runs in Editor.

The best way to avoid this scenario is to build End Session into the game flow. Avoid relying on application quit to end the session.

BigScreenManager.EndSessionEvent

Event when session ends.

First parameter is session id. Second parameter is exception if session did not end normally.

CleanUpUsersException

ClientConfig

ClientManager

Entry point to manage game sessions for the Client application

This behaviour calls DontDestroyOnLoad(this) to keep itself alive across scene load.

Join

Call JoinRoomAsync(UserManager, String, String) to join a session. This connects to the actor.

Manage session

Call EndSession() at end of gameplay to stop client from attempting to reconnect.

ClientManager.EndSessionEvent

Event when session ends.

First parameter is session id. Second parameter is exception if session did not end normally.

CreateRoomException

DeleteMessageBusException

DeleteRoomException

Dispatcher

Dispatcher validates the join code and returns the join info

DistributionPayload

Information that may be needed by Lobby Service to verify that the user creating a room owns a legitimate copy of the game on a digital storefront.

If a game license contains distribution information in its config, then an instance of this class must be passed into CreateSession(Action<RoomData, Exception>, UserManager, Int32, String, DistributionPayload) or CreateSessionAsync(UserManager, Int32, String, DistributionPayload) when creating a room. It shall contain one or more fields defined that correspond to the digital storefront defined on the license. The information will be used to verify user's ownership of the game with that particular storefront.

EntityManager

EntityManager is a cloud resource that stores game and user data.

See !:EntityType for the 3 types of entity. This SDK only provide functions that BigScreen/Client have permission to access.

A registered user is required to access user entity. Guest user is able to access game entity.

LicenseID is used to specify the game.

This behaviour calls DontDestroyOnLoad(this) to keep itself alive across scene load.

EntityManagerConfig

GetJoinCodeException

GetLatestPlayersTimeoutException

GetLatestScoresTimeoutException

GetMessageBusException

GetMessageBusNoDataException

GetPlayerCountException

GetPlayerCountTimeoutException

GetRoomException

GetRoomsByFilterException

GetTopPlayersTimeoutException

InventoryManager

Inventory Service is a cloud resource that integrate with 3rd party store and store user purchases.

LicenseID is used to specify the game.

This behaviour calls DontDestroyOnLoad(this) to keep itself alive across scene load.

InventoryServiceConfig

JoinCodeData

JoinInfoDef

JoinRoomException

LeaderboardManager

Leaderboard Service is a cloud resource that is made to provide generic leaderboard functionality for Standalone Games (sagames) projects, rather than be specifically tailored to our current game-set. This means that leaderboards need to be defined and configured before being used.

LicenseID is used to specify the game.

This behaviour calls DontDestroyOnLoad(this) to keep itself alive across scene load.

LeaderboardManagerConfig

LocalRMBConfig

Configuration to spawn RMB locally.

Attach this object to BigScreenConfig to spawn RMB locally

MessageBusPlayerInfo

Player data return from message bus. When the return data does not implied score, Score and Rank are -1.

MessageBusService

MessageBusService.RMBClientCustomTargetEvent

MessageBusService.RMBConnectionChangedEvent

MessageBusService.RMBControllerCustomTargetEvent

MessageBusService.RMBOnChatMessageEvent

MessageBusService.RMBOnControllerDataEvent

MessageBusService.RMBOnDataEvent

MessageBusService.RMBOnPlayerRejectEvent

PlayerCountData

ResumeRoomException

RoomData

RoomFullException

RoomIsActiveException

RoomService

Session

SetCustomTargetNotMatchException

SetCustomTargetTimeoutException

SetRoomJoinableException

SetRoomStartedException

SetSessionTimeoutException

ThreadDispatcher

Enums

ConnectionState

RoomState