********** Changelogs ********** v5.2.0 ====== See the `migration guide `_ for more info about upgrading from a 5.1 version. * Swedish localization (sv_SE) * New ``OnlineMenu`` > ``OnApplicationPause`` available in the Editor to simulate disconnection happening when the game goes in background. * Scalable Server communication protocol has been updated * New Requests: * PlayerIdleProgressRequest * ClockPausedRequest * ClockResumedRequest * Added parameters: * StatusReport.player_user_data_required * StatusReport.idle_players * PlayerTimeoutRequest.IDLE * UserDataUpdateRequiredRequest.pause_time * GameConfiguration.idle_time * GameClock.paused * ``TableView`` component has received several fixes to prevent from reloading all the table when the data model has just added or removed some elements. * ``AvatarManager`` has been improved to limit REST API usage. * Unlocking Steam achievements has been fixed. * New `ToasterController `_ standard panel. * New `Account Validation `_ detection flow. * New `InfrastructureStatusMonitor `_ service that monitor the status of Asmodee.net services, online game servers and all related services. * New suite of `debug tools `_: * `Console `_ * `Online Command Room `_ * `Scalable Server Log `_ * `Analytics Log `_ v5.1.0 ====== * Update Analytics support * CoreApplicationDelegate handles automatically APP_BOOT and HEARTBEAT Analytics events * Update Scalable Server support (AskAnyPlayerInfoRequest) * NetworkParameters (breaking changes): * Support REST API credentials per platform * Keep credentials for both Staging en Production Scalable Server environments * Provide a dynamic Arial font to be used as font fallback * Handle Steam DRM vulnerability by removing steam_appid.txt file in release builds * CommunityHub / User Account: Choosing "Edit my profile" redirects to the connected player's web page * Bug fixes: * Chat: validate a new message by pressing [Enter] key * Chat: keep system automatic messages when receiving a new chat history * Missing localizations 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 `_: * New Asmodee.net skin * Responsive layout * Lighter prefabs * `New instantiation workflow `_ * `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.