Xbox 360 development tools
What you need to get started with Xbox 360 homebrew development
Summary
Most people are advised to download the Xbox 360 SDK, which will also require Visual Studio 2010, to write homebrew in C++. To use C# with XNA, you should also install XNA Game Studio 4.0 Refresh and XNA 4.0 Extensions, which requires Games for Windows Live. Alternatively, a fully open-source C/C++ stack is possible using LibXenon, but the compiled executables are not recognized by Aurora/FreestyleDash and requires booting into Xell to run.
This article explains how to install each of these things and in what order. MD5/SHA256 hashes of trustworthy installers are here, but there are no links provided to the Xbox 360 SDK or XNA 4.0 Extensions because I’m not authorized to redistribute proprietary software that was never supposed to be publicly available.
This article is up to date as of Christmas 2023.
Developing with proprietary software
This article assumes you are running Windows 10. Linux has not been tested, since VS2010 refuses to compile anything on Wine. In theory if you can install the Xbox SDK and get some version of msbuild
to detect it, you could use a different code editor and just compile with msbuild
.
1. Visual Studio 2010 (required)
The Xbox 360 SDK will not install unless you have VS2010. You can install later versions of Visual Studio after you install 2010. VS2015 is known to work according to a user on Se7enSins.
You can download VS2010 Ultimate for free directly from Microsoft at my.visualstudio.com. Log into (or create) your Microsoft account and click the “Downloads” tab. Search for “Visual Studio Ultimate 2010” and click download. Mount the .iso
file and install it.
- Filename:
en_visual_studio_2010_ultimate_x86_dvd_509116.iso
- md5:
1c7436f7289263abf712a70287d75c02
- sha256:
602926c864fa1ddc087fefb1ed952216da4122d4db774050d8e9373d3e4bff98
2. Xbox 360 SDK (required)
Xbox 360 SDK version 21256.3 (afaik) is the latest version. This is widely used in the homebrew community and is easily found with a quick Google search. This will also install Xbox 360 Neighborhood, which will let you copy files over to your Xbox via a LAN connection.
If you only plan to develop in C/C++, you can stop installing stuff after this.
- Filename:
XBOX360_SDK_21256.3.exe
- md5:
b329b79db2804e2989688bffbaf49691
- sha256:
efec946c7b4436d53a6c41bb6bcff8373387ec97557e92f0ef672c85eadc4bc7
Creating and compiling an Xbox 360 game with C++
- Start VS2010 and open the Create Project window with
File → New Project
. - Click
Visual C++ → Xbox 360 Project
. - Enter a project name and path at the bottom and click
Ok
. This opens the Xbox 360 Application Wizard. - Click
Next
, thenFinish
at the Application Settings screen. This opens the code for a new game in the main window.- You can check
☑ Empty project
and get a basic DirectX 9 spinning triangle demo instead of the default Dolphin demo
- You can check
- On the toolbar near the top, click the dropdown that says
Debug
and change it toRelease_LTCG
. This changes the build config to compile a single runnable.xex
file that is runnable from an Xbox 360. - Click
Build → Build solution
from the top menu bar. - Copy
[project_path]\[project_name]\Release_LTCG\[project_name].xex
to your Xbox 360 (via USB or Xbox 360 Neighborhood). - Run the
.xex
file on your Xbox 360. You will see either a dolphin or a spinning rainbow-colored triangle on a success.
3. Games for Windows Live
If you want to program in C# with XNA, you need to install Games for Windows Live (GfWLive) if your version of Windows doesn’t have it preinstalled (e.g. if you use Windows 8+), otherwise XNA Game Studio will not install. It can be downloaded from microsoft.com or xboxlive.com.
- filename:
gfwlivesetup.exe
- md5:
0e20d50b6ad6229520911b203deeef36
- sha256:
c8582a16f4647365e0be04826442a77de257b9bb26bac610fc1fb74319a2548b
If you encounter a network error during installation, before you close the installer do the following:
- Navigate to
%LOCALAPPDATA%\Microsoft\GFWLive\Downloads
. There will be two installer files here. If there aren’t any, you closed the GFWLive installed prematurely and you need to get back to the network error screen. - Run both installers in any order.
- Close the GFWLive installer and GFWLive should be installed.
4. XNA Game Studio 4.0 Refresh
XNA Game Studio (XNAGS) 4.0 Refresh is the last version of XNAGS and can be downloaded from microsoft.com.
- filename:
XNAGS40_setup.exe
- md5:
1980210d04a80865ab2dca9f92a65695
- sha256sum:
e905f67edefb228ebb58277f8d24e1ec3460ead5d0ab57bd544246cb4465154b
Installing XNAGS is technically enough to write a C# Xbox 360 game, but this will compile to a .ccgame
file which cannot be run on an Xbox 360 directly. Normally, an indie game developer only had access to XNAGS and VS2010 and needed to sign up for the now defunct XNA Creator’s Club and deploy it via a convoluted process that requires you to always be online. Since we want our homebrew to be available offline, we should install XNA 4.0 Extensions.
5. XNA 4.0 Extensions
XNA 4.0 Extensions allows us to compile C# games into .xex
files that can be run from Aurora or FreestyleDash. Installing this will add XNA Game Studio 4.0 XDK Extensions
to the Visual C# section of the New Project menu in VS2010. I can’t provide a download link, and unfortunately this is less well known in the homebrew community.
- filename:
xdk-xna-extensions.msi
- md5:
d55fc409100ce97d0d9791a9d896a0c9
- sha256:
ba80a0518062dbf649df7e2775f0dba59d2e85c0e576523585346da9b5227786
Creating and compiling an Xbox 360 game with C#
- Start VS2010 and open the Create Project window with
File → New Project
. - Click
Visual C# → XNA Game Studio 4.0 XDK Extensions → XBLA Game Title (XDK)
. - Enter a project name and path at the bottom and click
Ok
. This opens the code for a new game in the main window. - In the Solution Explorer, open
LiveFiles\Title.gameconfig
. - Replace the title ID of
titleId="0x00000000"
in the<GameConfigProject ...>
tag to any other 8-digit hexidecimal number (e.g.0x12345678
).- You should choose a title ID that’s not used by any existing Xbox titles by checking a title database like XboxDB.
- Click
Cancel
on theConnect to Team Project
dialog. (Unless you really want to use TFS for version control, but why would you?) - On the toolbar near the top, click the dropdown that says
Debug
and change it to theRelease
build config. - Click
Build → Build solution
from the top menu bar. - Copy the entire contents of
[project_path]\[project_name]\[project_name]\bin\XDK\Release\
to a new folder in your Xbox 360 (via USB or Xbox 360 Neighborhood).- Since LTCG isn’t available for C#, your homebrew’s resources are not compiled into a single
.xex
, so the other files are necessary for it to run.
- Since LTCG isn’t available for C#, your homebrew’s resources are not compiled into a single
- Run
default.xex
on your Xbox 360. Your screen should turn a solid light blue (specifically cornflower blue) on a success.
Developing with open source software
See https://free60.org/Development/LibXenon/ for instructions.
I haven’t actually tried this because my interest kinda dropped off after I made a homebrew the “normal” way, but the instructions on there look approachable enough.