SDKs for Unity / Authentication via application launcher
 Back to Docs

SDKs for Unity

  • Integration guide

  • Demo project

  • Authentication

  • Catalog

  • Subscriptions

  • Promotions

  • Item purchase

  • Player inventory

  • User account and attributes

  • Application build guides

  • Troubleshooting


  • Authentication via application launcher

    If you use Xsolla Launcher or Steam to deliver your application to users, you can automatically authenticate the user using the launcher's credentials.

    How-tos

    Learn about advanced setups from our how-tos.

    How to set up authorization in application via Launcher

    You can use Xsolla Launcher to deliver your application to users and update it. The Launcher contains a built-in authorization tool. To avoid the need to re-enter username and password, set up authorization in your application via the Launcher.

    Notice
    To use the Launcher, you need to configure Login. Using a different authorization system is not supported.

    Set up SDK and Launcher to work together

    1. Set up Launcher in your Publisher Account.

    Note
    In the config.json file, it is enough to change the values for the following objects:
    • launcher_project_id — specify Launcher ID found in Publisher Account > Launcher > General settings > General info
    • login_project_id — specify Login ID found in Publisher Account > Launcher > General settings > Authentication

    1. Customize the launcher UI.

    Notice
    SDKs integration with Xsolla servers uses Commerce API calls, so the Launcher store is not supported.

    1. Implement the Launcher authorization logic in your application.
    2. Generate a launcher installation file and a build archive.
    3. Create an application build.
    4. Upload the application build to the Xsolla update server.

    Implement logic for authorization via Launcher

    The flow for authorization in the application via Launcher is as follows:

    1. The user is authorized in Launcher.
    2. The user installs and runs the application.
    3. Launcher runs the application and passes user parameters via the command line. The authorization token is passed in the xsolla-login-token parameter.
    4. The application processes command line parameters and obtains a token. An example of a token processing script can be viewed in the demo project.
    5. The application validates the received token. An example of a token validation script can be viewed in the demo project.
    6. The application automatically authorizes the user without displaying an authorization page. An example of a user authorization script can be viewed in the demo project.

    Note
    The obtained token is used by SDK methods to open an in-game store, make a payment, etc. Pass the token to the Token.Instance property.

    Create an application build

    1. Go to your Unity project.
    2. Click Window > Xsolla > Edit Settings in the main menu. In the Inspector panel:
      1. In the Project ID field, specify the Project ID found in Publisher Account > Project settings > Project ID.
      2. In the Login ID field, specify the Login ID found in Publisher Account > Launcher > General settings > Authentication.

    1. Run the user authorization scene, where the token is processed.
    2. Click File > Build settings in the main menu and then click Add Open Scenes. Make sure the authorization scene is added first in the list.
    3. Click Build.
    4. In the pop-up window, specify the path to the directory where the finished build will be placed.

    Was this article helpful?
    Thank you!
    Is there anything we can improve? Message
    We’re sorry to hear that
    Please explain why this article wasn’t helpful to you. Message
    Thank you for your feedback!
    We’ll review your message and use it to help us improve your experience.
    Hide

    How to set up native authentication via Steam

    Notice
    Use this how-to guide if you included the demo project in your Unity project.

    Native authentication allows players to enter your application via the installed Steam application.

    To set up native authentication:

    1. Set up silent authentication via Steam in Publisher Account.
    2. Configure your Unity project.
    3. Configure processing of events.
    4. Ensure authentication via Steam.

    Configure your Unity project

    1. Create a steam_appid.txt file and enter your application ID in Steam there. Then, place this file in the Assets/Plugins/Steamworks.NET/redist/ catalog of your project.

    Note
    If you downloaded the SDK from GitHub, you can find the steam_appid.txt file in the Assets/Plugins/Steamworks.NET/redist/ catalog. This file includes the application ID in Steam for a demo project.

    1. Open your Unity project.
    2. In the main menu, go to Window > Xsolla > Demo Settings.
    3. In the Inspector panel:
      1. Check the Use Steam authorization box.
      2. In the Steam App ID field, specify your application ID in Steam. The value should be the same as the value in the steam_appid.txt file.

    Configure processing of events

    To authenticate users via Steam, you should pass a session ticket to the SilentAuth method. For an example, see the SteamAuth.cs class of the demo project.

    Ensure authentication via Steam

    1. Create the build of your Unity project for a stand-alone platform or start a scene.
    2. Launch Steam and log in.
    3. Launch your application. If everything is correct, you will be logged into the applictaion automatically.

    Was this article helpful?
    Thank you!
    Is there anything we can improve? Message
    We’re sorry to hear that
    Please explain why this article wasn’t helpful to you. Message
    Thank you for your feedback!
    We’ll review your message and use it to help us improve your experience.
    Hide
    Last updated: August 1, 2022

    Found a typo or other text error? Select the text and press Ctrl+Enter.

    Report a problem
    We always review our content. Your feedback helps us improve it.
    Provide an email so we can follow up
    Thank you for your feedback!