ROM Hack RELEASE [Release/Tutorial] Switch theme injector : Easily make custom themes

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
914
Trophies
1
Location
C:\users\exelix11\
XP
2,718
Country
Italy
Note while custom themes don't seem to cause bans, when in CFW you should not be connected to the internet or at least you should be using a dns (even if you don't use themes).

V4.6.2 Update : Support for 12.1

What do you need:
- a 720p (read faq to know why) background image
- Switch theme injector windows app (Mirror) or the Web version for non-windows users
- NXThemes Installer homebrew to install the themes on your switch (Mirror, it's also available on the homebrew appstore)

How to make a theme:

1) Open the windows app
2) go to the "nxtheme builder" tab
3) Select the home menu part you want to theme
4) Click on "..." and select your image (Note that the web version only supports JPG files)
5) If you want, select a custom layout
6) Click on "Build nxtheme"
7) Profit !
Note that if you'd like you can also make a theme with just a custom layout without any bg image, just select a layout without opening any image.

About the web version: The process is pretty much the same but it's more limited as it only allows creating basic themes (custom image + layout), if you want more advanced customization options such as custom applet buttons, common.szs layouts or manual szs patching you will have to use the full theme injector, if you use linux you can run the cli version with mono, more info on the readme on github.

Installing your theme:
Download the NXthemes installer homebrew (the nro file) and copy it in the switch folder on your sd card.
Then make a folder called themes in the root of the sd card and copy your szs or nxtheme files in there.
Run from your favorite cfw the installer and use it to install your themes.

Sharing and downloading other people's themes:
Check out Themezer, r/NXThemes subreddit , the Qcean discord server and this thread

About custom layouts:
To make custom layouts you need a tool to edit bflyt files such as The layout editor or Wexos's Toolbox, then you can use Switch theme injector to export your edits as JSON files (windows app only). These JSON patches are totally legal and can be shared, read how to create them here,when sharing you can optionally include a preview jpg file with the same name of the json.
To use a JSON patch you downloaded from the internet open it from the layouts list.

FAQ:

Can a custom theme brick my switch ?
No, custom themes are applied through layered fs, no change is made to your nand

The theme installer crashes on launch or just fails to install themes.
There are two main causes: the archive bit is set for the themes folder and the sd card is corrupted, the former happens mainly if you use a mac but really depends on how you create the themes folder, the latter is often caused by exfat on your sd. Try to delete the themes folder and launch the installer and it will create it again, now just copy the themes and it should work. If it still doesn't work it could be corruption, in this case the best option is to backup the sd contents and format it to FAT32, if you have games installed don't worry as the switch os automatically splits them in <4GB parts so they work on every SD.

I installed a theme and now my switch crashes on boot or I had a custom theme, then I updated my console and now it crashes on boot.

Delete the /titles/0100000000001000 and/or /titles/0100000000000811 folders from the cfw folder on your sdcard, at this point your console will boot up normally, to clean up any leftovers launch the theme installer and select uninstall theme.

Why are nxtheme files better than SZS ?

They're legal, this means they can be freely shared and also they are firmware-independent so they can be installed on any firmware. It is also a more flexible format that can be extended in the future to support more features, such as theme packs.

Why only 720p images, i want to use a 1080p or 4K one !?

two reasons: first, the internal resolution of the home menu is 720p, no matter if docked or not, this means your image will automatically be scaled down to 720p. Second, the home menu memory is very limited, a bigger image is more likely to crash on boot and would allow for less customization

The news applet crashes
You're using the old bflyt patch (read spoiler at the start of the thread), use this tool to fix your themes

Do themes work on firmwares older than 5.1.0 ?
For older firmwares this tool should work but we didn't test. If you want to try you need to use a common.szs from the firmware you want to mod and follow this guide. If your theme works let us know !
Note that if you encounter issues with older firmwares we may not be able to help.
Edit:
Version 4.0.1 works but has some issues (tested by hax4dayz).

Does Switch theme injector app run on linux ?
Yes and no, the UI doesn't work, you can make themes by using the command line interface (more on github)
You will also have to provide images as DDS file because the included converter requires DirectX so it works only on Windows.

To be notified of updates, and more information join my discord server
Also follow this thread if you want to get notified about updates.
 
Last edited by exelix11,

ernieshmitz

Member
Newcomer
Joined
Jun 11, 2018
Messages
12
Trophies
0
Age
28
XP
80
Country
United States
THANKSSS!
question tho. i have rei nx and the 0100000000001000 folder is not in it

i do have a 010000000000100D folder tho, but it doesn't contain a romfs folder
 

CobraX83

Well-Known Member
Newcomer
Joined
Sep 13, 2015
Messages
83
Trophies
0
Age
41
XP
74
Country
United States
Not sure if it is a typo but you have "White1x1_180^3" when it should be "White1x1_180^r" .....at least on my app over here it is. Thank you for the tool as well, much appreciated!
 

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
914
Trophies
1
Location
C:\users\exelix11\
XP
2,718
Country
Italy
Does this work on firmware 4.1 or is it for 5.x only?
I did not test cause my switch is on 5.1, it would be great if you could try it (keep in mind you need to use a common.szs from 4.1's home menu romfs)

They working 2.0 has updated layeredFS, but with this method not..
Home menu is a system application, their layeredFS implementation doesn't support that, it's said here as well : https://gbatemp.net/threads/custom-home-menu-themes-and-edits.518446/
 

Rasa39

Pervert Deluxe
Member
Joined
Aug 16, 2015
Messages
389
Trophies
0
XP
1,653
Country
United Kingdom
Thanks for your effort with this, glad to see you got a release out so quick, congrats.
But is the discord still up? invite is invalid.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    Trash_Bandatcoot @ Trash_Bandatcoot: how are my gamers doing