The Xbox Live Unity Plugin provides a way for developers in the Xbox Live Creators Program to quickly and easily integrate Xbox Live functionality into their Unity based game. For more information about the Xbox Live Creators Program go to http://aka.ms/xblcp.
For ID@Xbox developers, this Xbox Live Unity Plugin does not yet support all the features you will need. Instead, read the document Get Stated with Xbox Live for ID and Managed Partners for guidance.
The Unity Plugin is broken into the following parts
-
Assets contains the Unity project content.
- Xbox Live contains the actual plugin assets that are included in the published
.unitypackage
.-
Editor contains scripts that provide the basic Unity configuration UI and processes the projects during build.
-
Examples contains a set of simple scene files that show how to use the various prefabs and connect them together.
-
Images is a small set of images that are used by the prefabs.
-
Libs is where the Xbox Live libraries will be stored. This will only contain
.meta
files when you initially clone the repository. You must build the SDK to pull those files in. -
Prefabs contains various Unity prefab objects that implement Xbox Live functionality. See the prefabs documentation for more information.
-
Scripts contains all of the code files that actually call the Xbox Live APIs from the prefabs. This is a great place to look for examples about how to properly call the Xbox Live APIs. See the scripts documentation for more detail.
Inside this folder, you'll also find a folder called GameSave where you'll see the Game Save (Connected Storage) plugin and its scripts.
-
Tools/AssociationWizard contains the Xbox Live Association Wizard, used to pull down application configuration from DevCenter for use within Unity.
-
- Xbox Live contains the actual plugin assets that are included in the published
-
Build contains scripts to generate the .unitypackage and handle other project setup tasks.
-
CSharpSource contains source for the Xbox Live API that is used by the plugin
-
ProjectSettings contains standard Unity project settings files.
- Windows 10 Anniversary Update
- Unity 5.5
- Currently 5.5 is the minimum supported version, but we are looking into supporting some earlier versions in the future.
- You need to include the following components when installing.
- Microsoft Visual Studio Tools for Unity
- Windows Store .NET Scripting Backend
- Visual Studio 2015
- Any version of Visual Studio should work for this including Community Edition.
- Make sure to select everything under Universal Windows App Development Tools when installing. You can modify the installation to include these features for an existing installation as well.
- Powershell
- If you've never used powershell before make sure that you have enabled powershell scripts to run.
- Xbox Live Platform Extensions SDK
-
Open up a powershell window.
-
Clone the project, and be sure to include and sync all the required submodules.
git clone https://github.com/Microsoft/xbox-live-unity-plugin --recursive cd xbox-live-unity-plugin
-
Run the Setup powershell script to get all of the pre-requisites built and configured.
.\Build\Setup.ps1
Note: Ensure Unity was installed with Windows Store .NET Scripting Backend, and you have the Microsoft Visual Studio Tools for Unity installed.
-
If you want to make any modifications to the scripts or prefabs in the package, open up the project (the
xbox-live-unity-plugin
folder) in Unity and make your changes. -
Generate the
XboxLive.unitypackage
that you can import into any other project:.\Build\BuildPackage.ps1
See the docs at https://docs.microsoft.com/en-us/gaming/xbox-live/get-started/setup-ide/creators/unity-win10/cr-unity-win10_nav
When the .\Build\BuildPackage.ps1
script is run, the XboxLive.unitypackage
is generated. When that unity package is imported into a unity project, the GameSave
folder within the Xbox Live\Assets\Scripts\
folder will contain the GameSave.unitypackage
which contains scripts for integrating with Connected Storage.
For an example of how to use Connected Storage, you'll need to first add Sign In to your game. Afterwards, drag the GameSaveUI.cs
script and drop it on any object in your scene. That will kick-off a simple UI to test your integration to Connected Storage.
Please make sure to check out the best practice and documentation of how to use Connected Storage at: Connected Storage Documenation.