Construct 3 icon

Construct 3

Documentation

Xbox Live

Published 18 Sep, 2017
1,411 words
~6-9 mins

Paid plans only The Xbox Live plugin allows access to Xbox Live services for Xbox One and Windows 10 games. These games must be published using the Universal Windows Platform (UWP) export option, which is named Windows & Xbox One (UWP) in Construct.

Using Xbox Live is a requirement to publish games to the Xbox One, either with the Xbox Live Creators Program, or with .xobXvwk@DI

Setting up Xbox Live services

For a guide on how to set up Xbox Live services, see the tutorial Using Xbox Live in UWP apps. This manual entry assumes you have already configured Xbox Live services.

Xbox Live properties

Title ID

The title ID for this game. The title must be created on the dashboard, which will then give you a value to use.

SCID

The Service Configuration ID (SCID) for this game. As with the title ID, this should be copied from the dashboard.

Xbox Live Creators Title

Enable this if you intend to publish via the Xbox Live Creators Program. Otherwise if you are publishing via ID@Xbox, disable this option.

Xbox Live conditions

On achievement list loaded

On achievement list error

Triggered after Get achievement list depending on whether it completed successfully or not. If successful, the achievement list expressions can be used.

On achievement update error

On achievement update success

Triggered after Update achievement depending on whether it updated successfully or not.

On leaderboard retrieved

Triggered after Get leaderboard when the leaderboard was successfully retrieved. The leaderboard-related expressions can be used to display the leaderboard information.

Is signed in

True if the user is currently signed in, i.e. a successful sign in has completed.

Is Xbox Live available

True if the Xbox Live features are available on the current platform. If this is not true, none of the plugin's features will work. This condition is only true in UWP exports on Windows 10 or Xbox One.

On local user added

Triggered shortly after a successful sign-in when the local user is now available. This means the Request profile info action can now be used.

On presence error

On presence success

Triggered after the Set presence action depending on whether it completed successfully or not.

On profile error

On profile success

Triggered after the Request profile info action depending on whether information was received successfully or not. If successful, the profile-related expressions can be used.

On sign in error

On sign in success

Triggered after the Sign in action depending on whether signing in completed successfully or not.

On silent sign in error

On silent sign in success

Triggered after the Sign in silently action depending on whether signing in completed successfully or not. Typically if this fails you should fall back to using Sign in (i.e. the non-silent version).

Xbox Live actions

Get achievement list

Get a list of available achievements. If Which is all, the returned list includes achievements the player has not yet unlocked; otherwise it only returns unlocked achievements. If there are a large number of achievements, you can specify Skip and Max items to return a page of achievements. Triggers On achievement list loaded when complete.

Update achievement

Update the progress of an achievement, or unlock the achievement by setting its progress to 100. Triggers On achievement update success/error depending on the outcome. Note that updating an achievement that has already been unlocked will trigger On achievement update error.

Get leaderboard

Get the results listing on a leaderboard. The relevant statistic must have first been created on the dashboard,

and for this to list anything at least one user must have set the statistic. Skip to rank and Max items can be used for paginating results. Note the special value -1 can be used for Skip to rank, which causes the results to be centered on the current user's result. The Social group allows scores to be listed from everyone (Global), users marked favorite (Favorite), or anyone the user follows (People).

Request flush

By default, the Xbox Live statistics service syncs data every few minutes. Use this action to request immediate submission. This is useful when about to display a leaderboard after submitting a statistic. The action may be ignored if over-used.

Set statistic

Set the value of a statistic. The statistic ID must be created on the dashboard. Statistics can store integer, float or string data. The data you submit must match the type of the statistic on the dashboard. Leaderboards can be created from statistics, such as a Score statistic.

Request profile info

Request information about the current signed-in user's profile, such as their display name and display picture URI. Triggers On profile success/error depending on the outcome. Note: due to a quirk of the Xbox Live API, this cannot be used immediately in a On sign in success or On silent sign in success trigger. Shortly after a successful sign-in, On local user added will trigger. This action can only be used in that trigger or any time after that trigger has fired.

Set presence

Set the current signed-in user's presence (whether they are in the title or not). Triggers On presence success/error depending on the outcome.

Sign in

Prompt the user to sign in. This can sometimes sign in the user automatically, but can show a login prompt in some cases. The user must be signed in to access most Xbox Live features. Triggers On sign in success/error depending on if the user signs in successfully or not.

Sign in silently

Try to automatically sign in the user without showing a login prompt. This may not be allowed, in which case the silent sign in will fail (triggering On silent sign in error); typically you should then fall back to using the Sign in action, which can show a login prompt. If a silent sign-in is successful (triggering On silent sign in success), the user is now signed in. It is useful to attempt this automatically on startup to avoid having to prompt the user.

Xbox Live expressions

AchievementListCount

In On achievement list loaded, the number of achievements returned.

AchievementIDAt(index)

AchievementNameAt(index)

AchievementLockedDescAt(index)

AchievementUnlockedDescAt(index)

AchievementVisibilityAt(index)

In On achievement list loaded, use these expressions to read information about the achievements that were requested. The index is a zero-based index of the result up to AchievementListCount. These expressions can return the ID, name, locked description, unlocked description, and visibility (either "public" or "secret") for the achievements in the list.

GamerScore

Return the current user's gamerscore. This is only available after On profile success triggers.

UserAppDisplayName

UserGameDisplayName

Return the user's display name for the application UI or game UI respectively. This is only available after On profile success triggers.

UserAppDisplayPictureURI

UserGameDisplayPictureURI

Return a URL to an image of the user's profile picture for the application UI or game UI respectively. This URL can be loaded in to the Sprite object using the Load image from URL action. This is only available after On profile success triggers.

GetStatistic(id)

Get the value of a previously submitted statistic for the current user. Note that this may not be available immediately after signing in, since it can take a moment to load the user statistics.

LeaderboardDisplayName

In On leaderboard retrieved, the name to display for the leaderboard.

LeaderboardResultCount

In On leaderboard retrieved, the number of results returned to be displayed. Note this is different to LeaderboardTotalRows, which returns the total number of rows in the entire leaderboard.

LeaderboardResultGamerTagAt(index)

LeaderboardResultRankAt(index)

LeaderboardResultValueAt(index)

LeaderboardResultXboxUserIdAt(index)

In On leaderboard retrieved, use these expressions to read information about the leaderboard results that were requested. The index is a zero-based index of the result up to LeaderboardResultCount. Each row of the leaderboard has an associated value for the leaderboard statistic (e.g. the score), and the corresponding user's gamertag, rank and Xbox user ID.

LeaderboardTotalRows

In On leaderboard retrieved, the total number of rows on the entire leaderboard. Typically Get leaderboard will only return one page of results, and LeaderboardResultCount determines how many results are in that page. LeaderboardTotalRows can then be used to determine how many pages are available.

ErrorMessage

In an error trigger, this is set to the corresponding error message, if any is available.

AgeGroup

The current user's age group, e.g. "Adult".

GamerTag

The current user's gamertag.

WebAccountId

The current user's web account ID, used for interacting with web services.

XboxUserId

The current user's unique Xbox user ID.