none
ID@Xbox game not detecting DLC license RRS feed

  • Question

  • I'm trying to get DLC working with my released ID@Xbox game.  The issue is that my game code never finds any licenses for the add on, even though test users are able to download and install it from the Store.

    The game is StickType, which is an ID@Xbox Unity UWP game for PC and Xbox consoles.  The DLC is called StickLady, and it's a durable with an empty package (as I was told bitless UWP DLCs don't work).  The DLC has successfully been published to the Microsoft Store for testing (currently only visible to people with the link).

    The Store page of the DLC shows that the DLC is related to the proper game:

    Likewise, when I get and install the DLC on my PC, it shows up under the properties for the game:

    However, the license for the DLC (or any other add on) never shows up in the game's queries to the StoreContext APIs even when my test users have gotten and installed the DLC from the Store.  The code I'm using is as follows:

                // Getting a GameSaveProvider requires the Windows user object. It will automatically get the correct provider for the current Xbox Live user.
                var users = await Windows.System.User.FindAllAsync();
    
                if (users.Count > 0)
                {
                    // always get fresh store contexts...
                    var storeContext = StoreContext.GetDefault();
                    StoreAppLicense appLicense = null;
    
                    try
                    {
                        appLicense = await storeContext.GetAppLicenseAsync();
                    }
                    catch (Exception ex)
                    {
                        GlobalLogic.Instance.LogError("LoadLicenses: Can't load app licenses", ex);
                        return false;
                    }
    
    // v------------ AddOnLicenses is always empty ------------v
                    StoreLicense stickladyDLCLicense = null;
                    if (appLicense.AddOnLicenses.TryGetValue(STICKLADYDLC_SKUID, out stickladyDLCLicense) && stickladyDLCLicense.IsActive)
                    {
                        _ownedDLC.Add(DLC.StickLady);
                    }
    
                    return true;
                }
               
    

    I'm also happy to give my appxmanifests for both the game and DLC as well as any Store configuration (I just didn't want to post them because they have all my IDs), but I made sure that the DLC's MainPackageDependency Name value matched that of the game's Identity Name value, and that the same publisher value was used between them, etc.

    • Might there be any obvious issues I'm running into with the code I'm using?
    • Is there other configuration that might be incorrect that could be causing this?
    • Will this only work end to end when everything is published to RETAIL (as I've only been testing in the sandbox, which I was told should still work)?  If so, how do I test before releasing the content publically?
    • Any other suggestions for what might be going wrong?


    Thanks





    Monday, July 13, 2020 1:09 AM