Tutorial  Updated

How to develop homebrew for the Xbox One (Part 1)

This tutorial will be a multi part series. It will assume no prior knowledge of programming or prior development. It will cover getting all of the necessary tools, Working with C#/XAML and the Visual Designer, Creating APPX Packages that you can distribute over the internet for others to use your software easily, and more. This tutorial is for everyone interested in making their own homebrew software for Xbox One.

homebrew.jpg


In the past few weeks we have witnessed a large amount of homebrew become available for the Xbox One. Yet while there is a growing amount of homebrew becoming available there is very little to no good documentation on how to create homebrew for the Xbox One. This series intends to change that. Buckle up your seatbelt this is gonna be a long ride. :)


Part 1 Section A: Getting Started -

47b1a183c4ccf704ab0b456942a45a4a.jpg


Before you can start making homebrew for the Xbox One you are going to need a few things. You will need an Xbox One (Duh Right?) Windows 10 PC with developer mode activated, and Visual Studio 2017.

First Download Visual Studio 2017 Community Edition here
https://www.visualstudio.com/downloads/

Once you have it downloaded you will see an Installer that looks like this.
cfSH7g8.png


Of course yours won't have anything selected just yet. The only thing you will need is Universal Windows Development at the top left. Feel free to include other workloads as well.

We will now activate developer mode on your Windows 10 PC. You need Developer mode activated in order to deploy homebrew to your Xbox One.

Go to Settings -> Update and Security -> For Developers

You will now see a menu that looks like this

NJ3i3ly.png


Select Developer Mode to enable it. It's that simple :)


Once finished with that we are now going to proceed to the next step. Go ahead and open up Visual Studio. Once opened click

File -> New -> Project

You will now see a menu that looks like this

ZYMzolE.png


Make sure that you choose "Windows Universal" under Visual C#. You will then select to create a blank application.


Part 1 Section B: Commence countdown to fun and awesome times :D

635948897719772651-2089263064_635924533253493445-107854477_6nRSw8M0sKiCu8Fe4gOBjiiU0b-QT66tAwxnoHY03VxDoH3rCHwC5qpz_wkXNnMX-U_E_PYQDpe0hKAZhFatI9ZEOrtGNCIMe_PsumF18p9nTzDMvjkHqCz7IeaBTjyWq4kr-PFO.gif



The first thing you are going to want to is to enable your Computer to talk to your Xbox One. To do this on the top menu select

Debug -> Properties (At the Bottom)

Make sure that your Xbox One is in developer mode. (If you need info on setting that up just look here
https://gbatemp.net/threads/how-to-activate-and-share-dev-mode-on-xbox-one-up-to-3-devices.468161/

Take Note of the I.P. Address at the top of your screen on the Xbox One. It will look something like 192.168.3.44

Once you are at the Properties Menu it should look like this

qzuQPqC.png


Enter in your Xbox One I.P. Address in the "Remote Machine" Field.
Once done make sure "Universal Unencrypted Protocol" is selected on Authentication Mode.
Go ahead and close out of the properties window.

You are now ready to build and deploy your very first homebrew application to the Xbox One
Congrats you have made it this far. :toot:

On the right hand side you should see a file called mainpage.xaml go ahead and double click it.
Visual Studio will now load the designer. It should look like this

cBpVKI2.png


For now don't worry about all of the code in the middle. That's all XAML stuff and we'll get to it later on.
First at the top where it says "Phone" and scale go ahead and click that and navigate down the list to "Xbox" 1920x1080.

Note: If you need to zoom in there is a tiny box on the middle of the screen towards the left that will say 7.25%. Change that to 25 or 33% for a better view

Once done go to the left hand side where it says "All XAML Controls" and you will see a drop down list of all the various Widgets and Items that you can place into your Homebrew Application.
You are looking for the one that says "Textblock" go ahead and drag and drop that into the application.

It should now look like this

3jt9DzV.png


Remember how a moment ago I said just ignore the code stuff in the middle we will get to it later. Well now is later.

If you examine the XAML Code you will notice that when you dragged and dropped the Textblock into the designer you had code in XAML that got created automatically for you. There now exists a Textblock segement of code in XAML. Upon Closer examination you can see all of the atrributes of that textblock listed just like this.

p2Ng2h8.png


Notice we have the height and the width defined as well as the Text that is contained within. Go ahead and change the Text= " " to whatever you like.

You are now ready to launch your very first Xbox One homebrew Application. Once finished go ahead and save your project. Now go up to the top and set it to x64 and Release/Debug (Up to you on that one but either will do) Now select Debug and start with or without debugging.

If you have followed all of the steps correctly you will now see your project build and deploy on your Xbox One Console. Congrats on building your first homebrew for the Xbox. :D


That's the end of Part 1. There is still much more to come. In Part 2 we will be covering how to apply Backgrounds, Colors, Fonts, we will be going over XAML more and we may even get into C# a little. If you have any questions at all comment below or message me.

 
Last edited by wiired24,

CeeDee

fuckin dork
Member
Joined
May 4, 2014
Messages
5,357
Trophies
2
XP
9,870
Country
United States
It isn't homebrew, though. It's just developing an application.

There's nothing really "homebrew" about it. That's like saying apps not on a phone's appstore are homebrew.
 

wiired24

Developer
OP
Developer
Joined
Sep 3, 2013
Messages
1,118
Trophies
1
Age
29
Location
Dev_Home
XP
3,448
Country
United States
It isn't homebrew, though. It's just developing an application.

There's nothing really "homebrew" about it. That's like saying apps not on a phone's appstore are homebrew.

It falls right under the definition

"Homebrew is a term frequently applied to video games or other software produced by consumers to target proprietary hardware platforms (usually with hardware restrictions) not typically user-programmable or that use proprietary storage methods."

I get that there exists this mindset that a device has to be "Hacked" for it to be considered "legitmate homebrew" but that's complete BS. If you make it from home and it's unofficial software then its home brew. Hence the name HOME-BREW

So I contend to respectfully disagree but you have the right to your own opinion
 
Last edited by wiired24,

DavidRO99

Average Ryzen user.
Member
Joined
Jun 11, 2016
Messages
1,018
Trophies
0
Age
26
Location
your back-door
XP
948
Country
Korea, North
Now if only I had imagination to make an app xD, thats the problem with me, I have the tools and the knawledge(I know I spelt it wrong) but I dont have creativity
 
  • Like
Reactions: wiired24

wiired24

Developer
OP
Developer
Joined
Sep 3, 2013
Messages
1,118
Trophies
1
Age
29
Location
Dev_Home
XP
3,448
Country
United States
It actually is. Running unsigned code on a device is by definition homebrew.

Exactly! Saying it's not homebrew just because it's not running on top of an exploit is like saying Open Source software really isn't open source If it's running on a proprietary machine. You can only take purism to a certain extent. We still call a bird a bird regardless of what color it is.
 
Last edited by wiired24,

dominater01

Well-Known Member
Member
Joined
Mar 13, 2009
Messages
1,278
Trophies
1
Age
33
XP
2,881
Country
United States
i got visual studio 2017 installed and have successfully deployed a uwp app to my xbox one but now im wondering how do i get the appx file?
 

wiired24

Developer
OP
Developer
Joined
Sep 3, 2013
Messages
1,118
Trophies
1
Age
29
Location
Dev_Home
XP
3,448
Country
United States
I'm sure there's a "compile" or "build into distributable package" option somewhere but let @wiired24 confirm

That's actually a whole nother tutorial honestly. I will be covering that in a future part of the series. There is a tool you need to download. It's the same tool I use

You can get the tool here.

Just follow the instructions. If you have questions just comment or P.M. me. Again I'll cover this in depth in a later tutorial in the Homebrew Series.

 
Last edited by wiired24,

dominater01

Well-Known Member
Member
Joined
Mar 13, 2009
Messages
1,278
Trophies
1
Age
33
XP
2,881
Country
United States
have you tried to create a appx with visual studio? i goto store then create app package then it asks if yes or no pick no then hit next pick the info you want then hit create the problem im having tho is

1>------ Build started: Project: Space Invaders, Configuration: Debug x64 ------
1>C:\Users\Dominater01\Desktop\Space-Invaders-Mobile-master\Space Invaders\obj\x64\Debug\MainPage.g.cs(29,26,29,30): error CS1061: 'MainPage' does not contain a definition for 'grid' and no extension method 'grid' accepting a first argument of type 'MainPage' could be found (are you missing a using directive or an assembly reference?)
1>C:\Users\Dominater01\Desktop\Space-Invaders-Mobile-master\Space Invaders\obj\x64\Debug\MainPage.g.cs(34,26,34,32): error CS1061: 'MainPage' does not contain a definition for 'canvas' and no extension method 'canvas' accepting a first argument of type 'MainPage' could be found (are you missing a using directive or an assembly reference?)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Package: 0 succeeded, 1 failed ===========

if this still doesnt help nevermind i tried to help
 

Enovale

Hey. I exist. Woo
Member
Joined
Jul 12, 2016
Messages
833
Trophies
0
Location
Narnia
XP
946
Country
United States
have you tried to create a appx with visual studio? i goto store then create app package then it asks if yes or no pick no then hit next pick the info you want then hit create the problem im having tho is

1>------ Build started: Project: Space Invaders, Configuration: Debug x64 ------
1>C:\Users\Dominater01\Desktop\Space-Invaders-Mobile-master\Space Invaders\obj\x64\Debug\MainPage.g.cs(29,26,29,30): error CS1061: 'MainPage' does not contain a definition for 'grid' and no extension method 'grid' accepting a first argument of type 'MainPage' could be found (are you missing a using directive or an assembly reference?)
1>C:\Users\Dominater01\Desktop\Space-Invaders-Mobile-master\Space Invaders\obj\x64\Debug\MainPage.g.cs(34,26,34,32): error CS1061: 'MainPage' does not contain a definition for 'canvas' and no extension method 'canvas' accepting a first argument of type 'MainPage' could be found (are you missing a using directive or an assembly reference?)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Package: 0 succeeded, 1 failed ===========

if this still doesnt help nevermind i tried to help
Seems like a problem with the code, not how your doing it. You'd have to fix the main page files to fix it.
 

wiired24

Developer
OP
Developer
Joined
Sep 3, 2013
Messages
1,118
Trophies
1
Age
29
Location
Dev_Home
XP
3,448
Country
United States
well i figured if you didnt know about it i might as well show you what i found

also do you know whats wrong in the error posted?

Thanks for letting everyone know :)
Also, Not sure tbh. I'll have to check it out when I get back on to my computer. On my phone and not home atm.
 

dominater01

Well-Known Member
Member
Joined
Mar 13, 2009
Messages
1,278
Trophies
1
Age
33
XP
2,881
Country
United States
Thanks for letting everyone know :)
Also, Not sure tbh. I'll have to check it out when I get back on to my computer. On my phone and not home atm.
ok

i only have this problem when creating a appx package with that game, it works fine with the tut posted so i dont get why its picky but maybe if we can fix it i can learn how to fix it in the future

everything worked when i tested it except no controls, is that hard to add? you did it for chip8 but i hope it wasnt that hard or time consuming i just wanted to help if i could
 
Last edited by dominater01,

wiired24

Developer
OP
Developer
Joined
Sep 3, 2013
Messages
1,118
Trophies
1
Age
29
Location
Dev_Home
XP
3,448
Country
United States
ok

i only have this problem when creating a appx package with that game, it works fine with the tut posted so i dont get why its picky but maybe if we can fix it i can learn how to fix it in the future

everything worked when i tested it except no controls, is that hard to add? you did it for chip8 but i hope it wasnt that hard or time consuming i just wanted to help if i could

There is a game pad class in the API. It's something I'll probably cover at length later on. And CHIP8 was weird with how I had to implement controls basically you'd have a switch like this

Switch {

(Case)

Gamepad.LeftThumbstickUp: = 'A'

}

Basically I'd have to test the game and see what keyboard keys did what as each keyboard key would trigger a specific call once I found that out it was a matter of mapping the corresponding action with that of the gamepad. So for instance if the w button shoots then I had to set gamepad.buttonB = 'w' CHIP8 would then read in the W char when B Is pressed and would execute the corresponding call just as If you had pressed it on the keyboard
 
Last edited by wiired24,

dominater01

Well-Known Member
Member
Joined
Mar 13, 2009
Messages
1,278
Trophies
1
Age
33
XP
2,881
Country
United States
There is a game pad class in the API. It's something I'll probably cover at length later on. And CHIP8 was weird with how I had to implement controls basically you'd have a switch like this

Switch {

(Case)

Gamepad.LeftThumbstickUp: = 'A'

}

Basically I'd have to test the game and see what keyboard keys did what as each keyboard key would trigger a specific call once I found that out it was a matter of mapping the corresponding action with that of the gamepad. So for instance if the w button shoots then I had to set gamepad.buttonB = 'w' CHIP8 would then read in the W char when B Is pressed and would execute the corresponding call just as If you had pressed it on the keyboard
the game shows the controls and its got left, right and space to shoot
 

wiired24

Developer
OP
Developer
Joined
Sep 3, 2013
Messages
1,118
Trophies
1
Age
29
Location
Dev_Home
XP
3,448
Country
United States
the game shows the controls and its got left, right and space to shoot

I'd have to look over the games code myself to understand the design. Also just by looking at your error it seems like your having a definition error. You may be missing a necessary file for the appx conversion. Generally speaking when you have a definition error it means your missing something as a method or function gets used but there is no declaration of what it is so the compiler gives a definition error.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • SylverReZ @ SylverReZ:
    Communism lol
  • SylverReZ @ SylverReZ:
    OUR products
  • The Real Jdbye @ The Real Jdbye:
    @LeoTCK actually good quality products are dying out because they can't compete with dropshipped chinese crap
    +2
  • BakerMan @ BakerMan:
    @LeoTCK is your partner the sascrotch or smth?
  • Xdqwerty @ Xdqwerty:
    Good morning
  • Xdqwerty @ Xdqwerty:
    Out of nowhere I got several scars on my forearm and part of my arm and it really itches.
  • AdRoz78 @ AdRoz78:
    Hey, I bought a modchip today and it says "New 2040plus" in the top left corner. Is this a legit chip or was I scammed?
  • Veho @ Veho:
    @AdRoz78 start a thread and post a photo of the chip.
    +2
  • Xdqwerty @ Xdqwerty:
    Yawn
  • S @ salazarcosplay:
    and good morning everyone
    +1
  • K3Nv2 @ K3Nv2:
    @BakerMan, his partner is Luke
  • Sicklyboy @ Sicklyboy:
    Sup nerds
    +1
  • Flame @ Flame:
    oh hi, Sickly
  • K3Nv2 @ K3Nv2:
    Oh hi flame
  • S @ salazarcosplay:
    @K3Nv2 what was your ps4 situation
  • S @ salazarcosplay:
    did you always have a ps4 you never updated
  • S @ salazarcosplay:
    or were you able to get new ps4 tracking it \
    as soon as the hack was announced
  • S @ salazarcosplay:
    or did you have to find a used one with the lower firm ware that was not updated
  • K3Nv2 @ K3Nv2:
    I got this ps4 at launch and never updated since 9.0
  • K3Nv2 @ K3Nv2:
    You got a good chance of buying a used one and asking the seller how often they used or even ask for a Pic of fw and telling them not to update
  • RedColoredStars @ RedColoredStars:
    Speaking of PLaystation. I see Evilnat put out a beta for PS3 CFW 4.91.2 on the 22nd.
  • K3Nv2 @ K3Nv2:
    Don't really see the point in updating it tbh
    K3Nv2 @ K3Nv2: Don't really see the point in updating it tbh