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

exelix11 Sep 24, 2018.

  1. exelix11
    OP

    exelix11 Developer

    pip Developer
    9
    Feb 25, 2015
    Italy
    C:\users\exelix11\
    Note that we still don't know if custom themes can cause bans, you should not be connected to the internet or use a dns while in cfw (even if you don't use themes).

    V4.3 Update : Fixed lockscreen on 9.0, more options for custom layouts

    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 this thread and the r/NXThemes subreddit.

    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 keep in touch with us, know about updates and more information join qcean's discord server: https://discord.gg/p27kEST
    Also follow this thread if you want to get notified about updates.
     
    Last edited by exelix11, Sep 21, 2019
  2. ernieshmitz

    ernieshmitz Member

    Newcomer
    1
    Jun 11, 2018
    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
     
  3. exelix11
    OP

    exelix11 Developer

    pip Developer
    9
    Feb 25, 2015
    Italy
    C:\users\exelix11\
    0100000000001000 Is the titleid of the home menu, you have to create it
     
    Bushido1992 likes this.
  4. 8BitWonder

    8BitWonder Small Homebrew Dev

    Member
    11
    Jan 23, 2016
    United States
    47 4F 54 20 45 45 4D
    Very nice write-up. :)

    If I find the time later I'll try this on 2.2.0.
    I'll report back whether it was successful or not.

    Edit: Turns out layeredFS doesn't work on 2.X.0. Can't test it. :wink:
     
    Last edited by 8BitWonder, Sep 25, 2018
  5. Great work!
     
  6. CobraX83

    CobraX83 Advanced Member

    Newcomer
    1
    Sep 13, 2015
    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!
     
  7. exelix11
    OP

    exelix11 Developer

    pip Developer
    9
    Feb 25, 2015
    Italy
    C:\users\exelix11\
    yes, totally a typo, thanks
     
    CobraX83 likes this.
  8. CobraX83

    CobraX83 Advanced Member

    Newcomer
    1
    Sep 13, 2015
    United States
    No worries...the tool cuts down on some of the work for sure and works very well. Just tested it out and made a Zelda BOTW theme and it looks amazing. Thank you again!
     
  9. x0x0

    x0x0 GBAtemp Fan

    Member
    7
    Nov 15, 2017
    Poland
    Inside the code
    Not working SX OS 2.0.
     
  10. exelix11
    OP

    exelix11 Developer

    pip Developer
    9
    Feb 25, 2015
    Italy
    C:\users\exelix11\
    Sx os is known to not work with themes, it's about layered fs for system titles, there's nothing we can do about it
     
  11. OkazakiTheOtaku

    OkazakiTheOtaku no thanks, I don't want a custom title

    Member
    9
    Jul 20, 2016
    Japan
    127.0.0.1
    Does this work on firmware 4.1 or is it for 5.x only?
     
  12. x0x0

    x0x0 GBAtemp Fan

    Member
    7
    Nov 15, 2017
    Poland
    Inside the code
    They working 2.0 has updated layeredFS, but with this method not..
     
  13. exelix11
    OP

    exelix11 Developer

    pip Developer
    9
    Feb 25, 2015
    Italy
    C:\users\exelix11\
    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)

    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/
     
  14. Rasa39

    Rasa39 LovesCuteShiz

    Member
    6
    Aug 16, 2015
    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.
     
  15. exelix11
    OP

    exelix11 Developer

    pip Developer
    9
    Feb 25, 2015
    Italy
    C:\users\exelix11\
    it works for me :/
    Try this other one : https://discord.gg/GrKPJZt
     
  16. Rasa39

    Rasa39 LovesCuteShiz

    Member
    6
    Aug 16, 2015
    United Kingdom
    Got it, don't know why the op one didn't work for me, thanks.
     
  17. CatmanFan

    CatmanFan Anxious and regretful

    Member
    8
    Aug 14, 2016
    Morocco
    Does this work on Hekate CFW w/ LayeredFS?
     
  18. SG911

    SG911 GBAtemp Fan

    Member
    5
    Dec 20, 2017
    United States
    Bronx, NY
    How do you get your hands on the Common.szs file?


    EDIT: Nevermind. Looked above & used discord link.

    EDIT 2: I'm on 5.1.0 using SX OS 2.0. My themed worked!

    EDIT 3: Here's my theme. I'll make myself a nicer one in the future. https://i.imgur.com/vOff9Pi.jpg
     
    Last edited by SG911, Sep 25, 2018
  19. Naked_Snake

    Naked_Snake Constant Miscreant

    Member
    8
    Oct 6, 2013
    Australia
    Hyrule Field
    A an I use this tool to edit lock screen text on a theme for 6.0?
     
  20. jakkal

    jakkal GBAtemp Addict

    Member
    13
    Apr 27, 2018
    United States
    works for me on sx os 2.0 with fw 5.1
     
Quick Reply
Draft saved Draft deleted
Loading...