Search Unity

Feature Request Multiple App IDs for Steam Integration

Discussion in 'Authentication' started by dchipman, Sep 1, 2022.

  1. dchipman

    dchipman

    Joined:
    Jan 4, 2015
    Posts:
    39
    When utilizing Steam's Playtest feature, a child app is generated with a separate app ID. As far as I can tell, only a single Steam app ID can be assigned to a UGS project at a time, and I haven't seen a way in the Authentication SDK to customize it at runtime. This means auth can only work for the base app or the playtest app, but not both at the same time and must be manually changed back and forth.

    Is there an existing way to resolving this? If not, please add a path to allow assigning multiple app IDs to a single project, or the ability to pass it as part of SignInWithSteamAsync. Thanks!
     
    justintc217 likes this.
  2. SebT_Unity

    SebT_Unity

    Unity Technologies

    Joined:
    Jun 21, 2021
    Posts:
    282
    Hi dchipman,
    Thanks for posting on the forums.

    At the moment there isn't a way to solve this. However the team is interested in learning more about this use case.
    This would only be for testing purposes?

    I look forward to your response.
     
  3. dchipman

    dchipman

    Joined:
    Jan 4, 2015
    Posts:
    39
    Hi Seb, It could be for both marketing (demos) and testing purposes, both internal and external facing. Some external facing use cases would be:
    • Launching a demo app on Steam
    • Launching a playtest app on Steam
    • Supporting a parallel PTR (public test realm) app on Steam for a live game
    I believe in all of these cases a new app ID is assigned to each child app on Steam, which means auth will break due to the mismatch. For cases where only one will be accessible at a time the current method is usable albeit cumbersome to switch between which app is currently needed in use, but as soon as someone needs two in parallel (such as a demo or PTR), this will not be possible to do while using Steam integrated Unity auth unless multiple app IDs are supported.

    For internal testing purposes, I've previously worked at studios which used multiple Steam apps for testing multiple builds in parallel instead of branches so that QA could have both builds installed at the same time, which would be another use case.
     
    Last edited: Oct 9, 2022
    SebT_Unity likes this.
  4. dchipman

    dchipman

    Joined:
    Jan 4, 2015
    Posts:
    39
    @SebT_Unity any updates on this? Not being able to run auth against a Steam demo app and main app at the same time is starting to be an issue.
     
  5. SebT_Unity

    SebT_Unity

    Unity Technologies

    Joined:
    Jun 21, 2021
    Posts:
    282
    @dchipman Hey, no new updates on this feature request.
    I have a few more questions for you since re-reading the post and getting re-acquainted with it.
    As a potential workaround. Would it be possible for you to have 3 projects on the Unity Dashboard?
    • Demo
    • PlayTest
    • Live Game
    This would give you a steam app id for each project linked and will save you some time when building.
     
  6. dchipman

    dchipman

    Joined:
    Jan 4, 2015
    Posts:
    39
    @SebT_Unity wouldn't that require me to manually recreate and keep in sync any configuration setup between the projects per UGS product? For example, uploading server builds to Multiplay, Queue configurations, Analytics event defintions, etc?
     
  7. SebT_Unity

    SebT_Unity

    Unity Technologies

    Joined:
    Jun 21, 2021
    Posts:
    282
    Yes, You are right. Depending on services the configuration would have to be replicated through each environment.
    I will raise this concern with the developers and see if we can find alternative solutions.

    I assume the same applies for a single UGS Id across multiple Steam games. This scenario would cause cross contamination of player id and skewing player counts across the board?
     
  8. dchipman

    dchipman

    Joined:
    Jan 4, 2015
    Posts:
    39
    Environments can solve segregating data between Demo vs Main App etc (which as of today unfortunately also require some manual replication of configuration since not all of UGS is onboarded onto the CLI tool yet, but that's a separate feature request already in progress).

    Would it be possible to add an "OverrideAppID" or similar field to the SignInOptions passed to SignInWithSteamAsync? This would empower developers to customize this as necessary, and the App ID is already available on the client anyways for initializing the local Steam client SDK. Steam web API keys are tied to a Steamworks group, so the one configured in the Unity Editor already automatically supports any child apps (demos, playtests, etc).
     
  9. pascalc23

    pascalc23

    Joined:
    Jan 31, 2022
    Posts:
    2
    Is there any updates on this? This is really a huge problem.
    I was trying to release a Demo version of the game on Steam and now either can't use Steam Sign-in or any of Unity's services for the Demo build. And my game is built on using both.
    Not mentioning all the code/build exceptions I will have to weave into the project just to make this work.
     
  10. chengg_unity

    chengg_unity

    Unity Technologies

    Joined:
    May 15, 2022
    Posts:
    69
    Hello everyone,
    I want to provide an update regarding the Multiple App ID Support for Steam. We are currently working on it and aim to release this feature toward the end of November or the beginning of December. Thank you!
     
  11. chengg_unity

    chengg_unity

    Unity Technologies

    Joined:
    May 15, 2022
    Posts:
    69
    Hello everyone, Multiple Steam App IDs Support is now available as part of Authentication 3.2.0!
     
    dchipman likes this.
  12. dchipman

    dchipman

    Joined:
    Jan 4, 2015
    Posts:
    39
    Excellent news, thank you for your team's work in picking up this request!
     
    chengg_unity likes this.
  13. Jeryl

    Jeryl

    Joined:
    Sep 18, 2015
    Posts:
    45
    @chengg_unity
    Hey,
    Is it only for Steam or other providers as well?
    Here is my setup :
    I have a collection of apps : 1 contains all of my games in one app and 4 are for each of the games.
    I can login to them using Facebook (through Authentication), but it is only working for one game if the player chooses Google Play Games or Apple sign-in (since they are tied to the package id).
    Since all games are built from the same Unity project (I have a little custom editor script to automatically change package manager, icons, content to build, etc.) and that the Authentication providers seem to be fetched from the config in the dashboard, I can't change the ID / secrets programmatically. (Unless there is a way to do just that and I have missed it)
    Thanks