StreamSix-Sdk Changelogs

[5.3.0-10] - 2023-06-19

  • Fix S6 Debugger window throwing error if DebugConfig exists in project but no LocalRMBConfig exists

[5.3.0-9] - 2023-06-16

  • fix local rmb config not saved in debugger

[5.3.0-8] - 2023-06-15

  • remove System.Security.Permissions from SDK which cause conflict when using Unity analytics or inapp purchase services

[5.3.0-7] - 2023-06-15

  • add follower client to access user's followers/following API

[5.3.0-6] - 2023-06-15

  • Added HighScore and LowScore to the ScoreType enum in LeaderboardClient

[5.3.0-5] - 2023-06-13

  • Fix OnDestroy in BigScreenManager not honouring DisableEndSessionOnClose()

[5.3.0-4] - 2023-06-13

  • Add UpdateRoomMaxPlayers to BigScreenManager

[5.3.0-3] - 2023-06-12

  • Added the function DisableEndSessionOnClose() to BigScreenManager
    • Call this method if you wish to disable the auto shutdown of the session on application quit
    • Notes:
      • If you are using this your actor should handle the session shutdown logic
      • By default a session with no active host will shutdown after 3mins

[5.3.0-2] - 2023-06-08

  • Add GetRoomsByUserFilter to BigScreenManager

[5.2.0-3] - 2023-06-05

  • A "Debug" named parameter in CreateSession and CreateSessionAsync that will trigger the debug option in lobby-service (false by default) was added

[5.2.0-2] - 2023-05-23

  • rename ClientManager.GetRoomsByFilterAsync to ClientManager.GetRoomsByUserFilter
  • change function signature for ClientManager.GetRooms which now accepts pagination options and returns response data that includes pagination for next page of data.
  • create room no longer fails if there is no free task in the lobby's pool. This is no longer consider as an error in the SDK. The BigScreenManager will continue to poll for rmb bus info indefinitely until it receives proper bus info. Therefore, the game should destroy the room if it does not want to continue to wait for bus info.

[5.1.0-4] - 2023-05-05

Changed

  • change the return type of the actor info endpoint to a class that has default for better discoverability

[5.1.0-3] - 2023-04-26

  • Added logic to send live notifications
  • Added Social Service env paths

[5.1.0-2] - 2023-04-27

  • Support products with multiple costs
  • Added CostItemID parameter to Inventory Purchase methods to specify which cost to be used for purchase
  • Leaving CostItemID blank will default to use the first cost listed in the product definition

[5.0.0-8] - 2023-04-04

  • update sample code

[5.0.0-7] - 2023-04-04

  • rename LoginToTwitch to AuthTwitchForGame
  • rename LoginToTwitchWithDeepLinkCallback to AuthTwitchForGameWithDeepLinkCallback

[5.0.0-6] - 2023-04-04

  • initialize debugger data without need for debugger window to be enabled

[5.0.0-5] - 2023-04-03

  • stop auth wait loop when exiting play mode
  • fix stg/test token-store url

[5.0.0-4] - 2023-03-27

  • change BigScreenManager.OnDestroy to only clean up session so that it doesn't trigger app quit when the component is destroyed

[5.0.0-3] - 2023-03-24

  • fix documentation

[5.0.0-2] - 2023-03-24

  • Restructure the SDk to use top-down approach instead of static class
  • Namespace StreamSIX renamed to STREAMSIX
  • Each feature in SDK use its own UnityEngine.Logger which developers can configure to selective disable logs in SDK (see LogHelper.cs)

BigScreen and Client

  • all login functions in AuthController moved to UserManager
  • AuthController.Init() is removed. Initialize is done by BigScreenManager.Init() and ClientManager.Init()
  • BigScreenManager and ClientManager are the main class where all features can be access, including: UserManager, TwitchController, AppleController, Entity, Leaderboard, Inventory
  • EntityManager is broken up into GameData and UserData
  • InventoryManager is broken up into InventoryDefinition, UserInventory, and ShareInventory
  • LeaderboardManager is broken up into CustomLeaderboard and PointsLeaderboard
  • StreamSIX.Entity.Entity renamed to STREAMSIX.Entity.EntityDef
  • AuthDeepLink is no longer a MonoBehaviour, deeplink scheme is defined in BigScreen/Client config asset file: BigScreenConfig.DeepLinkApplicationScheme and ClientConfig.DeepLinkApplicationScheme
  • Remove EntityManagerConfig, InventoryServiceConfig, LeaderboardManagerConfig
  • LocalRMBConfig is no longer a ScriptableObject and developers no longer need to create this asset
  • Created STREAMSIX Debugger window in Unity Editor to configure target environment, target rmb (remote/local) when running in Editor PlayMode
  • Events from SDK can be registered in BigScreenManager.EventCallback and ClientManager.EventCallback class. This allows callback setup before initialization

Actor

  • Version 5 introduce actor as a Unity project (for both rmb and lambda actor)
  • Extend your mothership/satellite/lambda actor using BaseMothership, BaseSatellite, BaseLambda, which contains access to all features: TwitchManager, Entity, Leaderboard, Inventory, etc
  • rmb.mothership.Handler renamed to STREAMSIX.Actor.Mothership.MothershipSender
  • rmb.shared.MothershipHandler renamed to STREAMSIX.Actor.MothershipReceiver
  • rmb.satellite.Handler renamed to STREAMSIX.Actor.Satellite.SatelliteSender
  • rmb.shared.SatelliteHandler renamed to STREAMSIX.Actor.SatelliteReceiver
  • Util.log is replaced by UnityEngine.Debug
  • STREAMSIX Debugger window in Unity Editor to launch local rmb for debugging locally
  • Debugger can build actor and upload to the platform (similar to DevPortal)

Upgrade guide for existing bigscreen/client

  1. Remove all SDK packages from project
  2. Change registry scope to "com.streamsix"
  3. Update streamsix-sdk to v5
  4. Remove unity Version control package (this cause conflict with SDK's dependency library)
  5. Restart unity to resolve lib dependency

[4.7.0-4] - 2023-06-23

  • Added HighScore/LowScore enums

[4.7.0-3] - 2023-06-05

  • A "Debug" named parameter in CreateSession and CreateSessionAsync that will trigger the debug option in lobby-service (false by default) was added

[4.7.0-2] - 2023-03-24

Fixes

  • Fix Application.wantsToQuit handler sometimes not quitting application after first attempt

[4.6.0-6] - 2022-12-22

  • Added BigScreenManager.OnEndSession and ClientManager.OnEndSession which triggers when the session ends. SDK will attempts to connect to RMB 5 times, after which this callback is triggered. This can be used on both the BigScreen and Client side to know when the session is gone. This callback is also triggered when BigScreen end the session explicitly with BigScreenManager.EndSessionAsync.

[4.6.0-5] - 2022-12-12

  • add GetRooms in ClientManager to retrieve other users' running session
  • remove change log from SDK

[4.6.0-4] - 2022-11-14

  • fix sample code, add more comment

[4.6.0-3] - 2022-11-14

  • update entity client that include functions to ban players
  • add sample code in QuickStart scene under BanPlayer

[4.6.0-2] - 2022-11-10

  • add RMB service message to allow BigScreen to push player scores to leaderboard through RMB
  • update leaderboard client which include function to query points leaderboard
  • add sample code in QuickStart scene under UpdateLeaderboardScore

[4.5.0-2] - 2022-10-07

  • Remove duplicate exceptions originally from entity-client
  • catch exception in keep alive loop
  • add using clause for reading http response

[4.4.0-2] - 2022-07-14

  • add inventory manager to setup inventory client

[4.4.0-1] - 2022-06-22

  • add inventory service config

[4.3.3-1] - 2022-05-19

  • add actor info to Room data

[4.3.2-1] - 2022-05-10

  • change MessageBus.SendPlayerInfo to internal, auto calls after client connects to rmb

[4.3.1-6] - 2022-04-29

  • add user/device info to create room and player join request

[4.3.1-5] - 2022-04-27

  • avoid setting custom target again once session is created, use cached custom target until session is closed

[4.3.1-4] - 2022-04-25

  • add bigscreen user info when connecting to mothership
  • remove userId param from JoinRoom function, userId is retreated from UserManager object

[4.3.1-3] - 2022-04-15

  • add distribution info to create session

[4.3.1-2] - 2022-04-13

  • bump auth package version

[4.3.1-1] - 2022-04-11

  • fix get room by filter so it also handles config setup

[4.3.0-5] - 2022-03-25

  • add leaderboard client

[4.3.0-4] - 2022-03-22

  • bump auth package version

[4.3.0-3] - 2022-03-21

  • bump auth package version, add test config for prod environment

[4.3.0-2] - 2022-03-11

  • add function to get player count from rmb

[4.3.0-1] - 2022-03-08

  • add function to resume session, clean up Session class to only get/set/clear session cached in player pref
  • reenable get player count functions

[4.2.1-3] - 2022-03-01

  • Update authentication package to fix json deserialization in android build

[4.2.1-2] - 2022-03-01

  • Update entity client to perserve all types in assembly in android build

[4.2.1-1] - 2022-02-25

  • Fix compiler issue in standalone mode.
  • Update authentication package to 1.1.3-1

[4.2.0-4] - 2022-02-15

  • fix dependency not match

[4.2.0-3] - 2022-02-15

  • update comment in quick start

[4.2.0-2] - 2022-02-10

  • update auth package, update basic rmb tag, example now only set auth environment instead of delete all player pref

[4.2.0-1] - 2022-02-04

  • SDK now handles setting actor peer type on client side. No need to handle message ID 100 on the client anymore. Instead, listen for mManager.MessageBus.RMBOnClientCustomTarget.

[4.1.0-2] - 2022-02-02

  • Use EntityClient package

[4.1.0-1] - 2022-01-24

  • Add EntityManager
  • Support custom actor with ActorType/ActorName in request when creating room

[4.0.0-8] - 2021-12-14

  • update auth sdk to use latest logging standard headers
  • update sample
  • integrate auth sdk

[4.0.0-7] - 2021-12-01

Changed

  • Calls AssignToPlayerID() in SendPlayerInfo()

[4.0.0-6] - 2021-12-01

Changed

  • Add logging headers
  • Fix parsing of player info from message bus
  • Update test case to verify player data from rmb

[4.0.0-4] - 2021-11-30

Changed

  • Fix client rmb connect as room
  • SDK no longer spawn local rmb, only use LocalRMBConfig to connect
  • Convert message bus request to async
  • Deserialize player info return from message bus, handles most of the custom target broadcast

[4.0.0-3] - 2021-11-26

Changed

  • Remove Setup() from BigScreenManager and ClientManager, arguments are added to CreateSession/JoinRoom functions

[4.0.0-2] - 2021-11-25

Changed

  • Add c# actor config in LocalRMBConfig
  • Rremove routing parameter from SetCustomTarget, now tracked internally, add custom target handling in example
  • Change functions that are only used by SDK to internal
  • Add client manager EndSession
  • Rename GameManager to BigScreenManager-
  • BigScreenManager and ClientManager no longer singleton

[4.0.0-1] - 2021-11-23

Added

  • Merge client-sdk with gs-sdk
  • Most functions have async counterpart which is the preferred usage
  • Option to spawn local RMB
  • EndSession() for ClientManager

Changed

  • InitService() renamed to CreateSession()
  • Convert configs to ScriptableObject
  • Rename namespace to StreamSIX
  • Convert Messenger events to UnityEvent events. Messenger is removed.
  • Since EventNames.OnJoinCode no longer exists, get the join code from RoomService.RoomData return from BigScreenManager.CreateSessionAsync
  • Update logging format
  • Update documentation, format for docfx

[3.1.0] - 2021-06-20

Added

  • Converted the gameserver SDK to a upm package.