Changelogs

v5.0.0

  • Full and Lite SDKs are now merged in a single package.
  • The previous Dice Game example is not provided anymore. Contact us if you need specific code snippets.
  • Scalable Server:
    The Scalable Server communication stack has been completely rewritten from scratch. You will not have to generate a specific message serializer in a separated DTO.dll anymore. We are now based on Protobuf C# and all transfer protocol is declared in *.proto files.
  • Network Parameters:
    Network Parameters automatically contains PinPublicKeys for Staging environment.
  • REST API:
    • GameStatus enum has become a flag
    • News endpoints are available
    • Some endpoints have been renamed to follow the REST API documentation
  • CoreApplication:
    CoreApplication offers new services and accepts new application level parameters.
  • Steam:
    Facepunch is not required anymore you can plug your preferred library.
  • Community Hub
    • New standard panel: players lists (connected players, buddies, ignores)
    • New standard panel: chat
  • Utils:
    • AsmoLogger handles a LogLevel per thread
    • NotificationCenter is a new component implementing observer pattern

v4.2.0

  • This minor update brings two components to help you handle the Safe Area. If your user interface is based on RectTransform it will let you adapt your game to specific screens like the iPhone X easily.
  • Bug fixes:
    • In the Cross Promo, the selected tab is more visible.
    • Fix a bug leading to broken authentication for players registered as Spanish or Italian on Asmodee.net.

v4.1.0

In this update we provide helpers to handle Analytics:

  • Easy to use AnalyticsManager
  • Cross platform implementation: use of Amplitude mobile SDKs and provide a http implementation for other platforms
  • Complete C# API for required Asmodee Digital events

v4.0.0

This updates aims at providing applicative content to the player.

  • Authentication:
    You won’t have to worry about authentication anymore
    • Fully integrated login flow
    • New SSO panel
    • User auto-authentication with a linked Steam account
  • Cross Promo:
  • Community Hub:
    First building blocks (bring them all and in the game bind them)
    • High level features to request a specific connection status (web, REST API, Scalable Server)
    • Login banner
    • User account
  • Localization:
    As we provide some standard panels, we had to find a solution to localize them.
  • Responsive UI:
    We provide helpers to help you design an interface that works well for most devices.
  • UI Navigation:
    We lay the fondation for designing an interface accessible by various kinds of input controllers.
  • Alert Controller:
    • Standard Yes/No panel
    • Easily instantiated
    • Responsive layout
    • Skinnable

v3.0.1

This is a minor update, fixing a bug where the game tiles in the Cross Promotion popups would appear stacked on top of each other when built with recent versions of Unity.

It should stay compatible with Unity 5.5.4, though this has not been tested. This has been tested on 5.6.5f1, 2017.3.1p3 and 2018.1.0b12.

v3.0.0

This update focused mainly on presenting a whole new way to send requests to the REST API and improve auto login with OAuth2 access and refresh tokens.

This update is incompatible with 2.0.x versions. See the migration guide for more info about upgrading from a 2.0.x version.

  • Unity environment update: the minimum necessary Unity Editor is now 5.5.4
  • Authentication:
    • Security improvements: support for OAuth2 refresh tokens (auto login)
    • The SDK will encrypt/decrypt the refresh token on the disk automatically and retrieve valid access token each time a private token is required.
    • Reminder: passwords and access tokens should NEVER be stored on disk !!
    • Fix access tokens not being re-used.
  • TextMesh Pro: update to the latest (free and .dll) version
    • WARNING: unless you start a whole new project, this will break all your existing TextMesh Pro components.
    • Unfortunately, the author never distributed tools to help convert old projects to the new version of the plugin. The convertion must be done by hand.
  • REST API:
    • Authentication is now handled in OAuthGate and endpoints are each implemented in their own class (see How to use the REST API and the list of endpoints).
    • Improved interface: use of callbacks instead of events.
    • Improved error handling.
    • Most endpoints are now implemented.
  • NetworkParameters:
    • Only NetworkParameters_Sample is distributed now
    • NetworkParameters_Staging has been removed because the staging REST API has very restricted access, and because the access token it generates are incompatible with the Scalable Server anyway.
  • Cross Promotion:
    • There is now a warning popup if there is no internet connectivity and the Cross Promotion popup(s) are not showed.
    • The build-time cache has been removed (runtime cache is still present to avoid wasting bandwith).
    • Fix a bug where google.com was ping-ed every time before downloading any and every asset.
    • Added default tiles/images for broken links or failing image downloads.
  • ServerConnection:
    • The method AuthenticateUser() doesn’t take login and password parameters anymore, but you must have a SSO handler in case no user is logged (see the SSO reference for more info).
  • SDK Example:
    • Use SSO instead of pre-recorded passwords
    • Add navigation between screens
    • AccountManagement is no longer demonstrated in the Lite package, but rather in the Full package.
  • Removals:
    • AccountManager.cs
    • Alice.asset
    • Bob.asset
    • Carol.asset
    • CoroutineManager.cs (Call StartCoroutine() from CoreApplication.Instance instead).
    • CoroutineManagerUnity.cs
    • CrossPromoLogic.cs
    • CrossPromoManager.cs
    • CrossPromoMenu.cs
    • DiceGame/Prefab/MainMenu/Manager.prefab
    • DiceGame/Prefab/MainMenu/PlayerButton.prefab
    • DiceGame/Scenes/1_MainMenu.unity
    • ICoroutineManager.cs
    • MainMenuLogic.cs
    • MainMenuView.cs
    • NetworkParameters_Prod.asset
    • NetworkParameters_Staging.asset
    • ResourceChecker.cs
    • RestApi.cs
  • Renames:
    • AsmodeeDigital.CrossPromo.Plugin.Domain.Product => AsmodeeNet.RestApi.ShowcaseProduct
    • AsmodeeDigital.CrossPromo.Plugin.Domain.Award => AsmodeeNet.RestApi.ShowcaseAward
    • AsmodeeDigital.CrossPromo.Plugin.Domain.MoreGamesFilters => AsmodeeNet.RestApi.GameProductTag
    • Scene 0_Hub => 0_ExampleHub
    • Scene 2_Lobby => 2_ExampleLobby
    • Scene 3_Game => 3_ExampleGame

v2.0.1

For users of the Full SDK only:

This patch fixes a very big bug where the lobby appears empty whereas there are actually many games open. This is happening when lots of players are connected at the same time and when there is a lot of activity in the lobby (chat messages, open games, etc).

v2.0.0

  • We changed the way the SDK is packaged. Say goodbye to headaches as to what package or combination of packages you have to download, now you just have to choose one of the two possible packages. It’s that simple. There a brand new downloads page to reflect that new packaging, with clearer instructions than before.
  • Third party extensions are NO LONGER packaged with the Asmodee.net Unity SDK: this is actually forbidden by the Unity Asset Store. So it’s your responsibility to download these packages and import them. Go to the dependencies page for the complete list of dependencies to download.
  • All files of the SDK are now in AsmodeeNet/ folders. This makes deleting and re-importing the SDK easier.
  • Many presets (Users or NetworkParameters) have been removed or moved with the sample. The recommended solution is to create your own from scratch using backed up info. If you don’t know how to fill the correct info, ask us at Asmodee.net support.
  • Many classes, projects, folder, etc, have been renamed to remove the names PlayReal or AsmodeeDigital in favor or AsmodeeNet. There are still present in namespaces, but eventually, all will be replaced.
  • We fixed two major bugs with the CrossPromo: it will now display correctly even after leaving a screen and come back, on in the same scene as the ScalableServer manager.
  • A collection of files have been renamed. In case you need to fix your code, here’s the list:
Before After
Common/Code/Domain/Data.cs Lite/Common/Code/Domain/ApiResponse.cs
Common/Code/Domain/DataContainer.cs Lite/Common/Code/Domain/ApiResponseContainer.cs
Common/Code/Domain/DataError.cs Lite/Common/Code/Domain/ApiResponseError.cs
Common/Code/Domain/DataUser.cs Lite/Common/Code/Domain/ApiResponseUser.cs
Common/Code/Domain/Data/DoWNetworkParameters.cs Lite/Common/Code/Domain/Data/NetworkParameters.cs
Common/Code/Domain/Data/Players/User.cs Lite/Common/Code/Domain/Data/TestUser.cs
Common/Code/Tests/Mocks/EventManagerTest.cs Lite/Common/Code/Manager/Event/InstantEventManager.cs

Beware that all the Data* classes that are now ApiResponse*, used to belong to the AsmodeeDigital.Common.Plugin.Domain.Data namespace but are now belong to the AsmodeeDigital.Common.Plugin.Domain namespace.