Switch Layout Editor - Create/Edit Themes and Games

Hello everyone, exelix and I are finally releasing the Switch Layout Editor. Please note that this is still in beta.

Brief Description:

The Switch Layout Editor enables you to edit and preview BFLYT and BFLAN files which are used in the Switch interfaces and games.
With this tool you can easily create and edit themes.


Main Features:

  • Layout loading, editing and saving
  • Rendering the bounding boxes of the components
  • SZS editing
  • Drag and drop
  • Simultaneous file editing
  • Import/Export JSON patch (Compatible with Switch themes)
How to use:

You can check the Wiki on the Github page for a more in depth tutorial.

Extract the zip file and open "Switch Layout Editor.exe". You can now open a SZS, BFLYT or BFLAN file.
BFLYT files are commonly found in SZS archives, when opening a SZS file you can double click on the files in the list to edit them (if they're supported).

If you're making a theme:
Once you're done editing, you can either:
- Save your changes to the SZS and use it. (illegal to share publicly)
- Export your theme as a JSON patch that you can use with the Switch Theme Injector to create a nxtheme (legal to share)

Discord Server / Support:
You can make an issue on github if you encounter a problem or you can join the discord.
This discord server is used for all my projects.


Release:

Updates:

- Adding and removing texture references in a bflyt file
- Editing materials (partial)
- Fix crashes or corrupted files for big endian bflyts (for Wii U titles)
Download here.

- Animations editor (.bflan files)
- Group (grp panes) editing for bflyt files
- Fix for some crashes and some minor improvements
Download here.

- You can now update the SwitchLayoutEditor directly from within the tool. No need to check Github anymore, just click on the Update button.
- Support for usd1 panes + custom usd1 panes.
- Search box in the SZS editor.
Download here.
Hotfix for a bug causing a black screen. Download here

Screenshots:
MainMenu.png

Layout Example:
Example.png

Support:
You can join the Qcean discord server for any help related to themes.

Credits:
  • FuryBaguette - Development
  • exelix - Base of the editor & Continuous development
  • Abood - Sarc Tool
  • Syroot - BinaryData
MainMenu.png
 
Last edited by FuryBaguette,

Foundforgood89

Member
Newcomer
Joined
Nov 19, 2017
Messages
24
Trophies
0
Age
33
XP
137
Country
United States
Great work. Much appreciated
Just out of curiosity, does this allow any management of the order applications are in (rather than the default "most recent" generated order the device normally uses)
 

FuryBaguette

Well-Known Member
OP
Newcomer
Joined
Jan 6, 2019
Messages
57
Trophies
0
Age
25
XP
515
Country
France
Great work. Much appreciated
Just out of curiosity, does this allow any management of the order applications are in (rather than the default "most recent" generated order the device normally uses)
Thank you! You can change the games position but the switch will still decide the order
 

SG911

Well-Known Member
Member
Joined
Dec 20, 2017
Messages
366
Trophies
0
Location
Bronx, NY
XP
894
Country
United States
Awesome! Will be using this for sure, as soon as i figure out how to obtain the file(s) i need to edit with this editor of yours. Nice job! :D

EDIT: Nvm i think your wiki page explains how & what not. Lol
 

FuryBaguette

Well-Known Member
OP
Newcomer
Joined
Jan 6, 2019
Messages
57
Trophies
0
Age
25
XP
515
Country
France
Awesome! Will be using this for sure, as soon as i figure out how to obtain the file(s) i need to edit with this editor of yours. Nice job! :D

EDIT: Nvm i think your wiki page explains how & what not. Lol
Yes it's all on the wiki and another guide linked in the wiki
 
  • Like
Reactions: SG911

LightBeam

Well-Known Member
Member
Joined
Oct 1, 2018
Messages
579
Trophies
0
XP
1,581
Country
France
Can we make the buttons transparent with this ? I really hate the ugly dark colors around the buttons and would like to get rid of this, just like a few themes already did, but I don't know how to do that
 

exelix11

Developer
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
2,910
Country
Italy
Can we make the buttons transparent with this ? I really hate the ugly dark colors around the buttons and would like to get rid of this, just like a few themes already did, but I don't know how to do that
Yes, irrc the background pane of each button can be hidden. You could check how the other themes do it by looking into the json
 
  • Like
Reactions: LightBeam

Dichotomy754

Well-Known Member
Member
Joined
Nov 11, 2018
Messages
154
Trophies
0
Age
31
XP
651
Country
United States
There is one thing I can't figure out how to get rid of, and it's this annoying white line. Anyone know what it might be labeled as?

Edit: Well never mind. Through pure luck I found a post by Exelix11 explaining it was located in common.szs and upon further digging I found it. "LineFooter.bflyt"

Now ur not.jpg
 

Attachments

  • Ur in the way.jpg
    Ur in the way.jpg
    330.7 KB · Views: 712
Last edited by Dichotomy754,

qurao

Member
Newcomer
Joined
Aug 9, 2018
Messages
16
Trophies
0
Age
30
XP
395
Country
Denmark
There is one thing I can't figure out how to get rid of, and it's this annoying white line. Anyone know what it might be labeled as?

Edit: Well never mind. Through pure luck I found a post by Exelix11 explaining it was located in common.szs and upon further digging I found it. "LineFooter.bflyt"

View attachment 155827
Thanks for posting this. I finally got rid of that stupid line as well.
 
  • Like
Reactions: Gigaboy

HoTsHoTz79

GIC-Developer
Member
Joined
May 9, 2018
Messages
322
Trophies
0
Age
37
XP
895
Country
Canada
Not sure what i am doing wrong or if i'm skipping a step... but the changes im making is not applying to .nxtheme (i'm on 6.2)
  • Opened orig ResidentMenu.szs in Switch Layout Editor
  • Opened blyt/RdtBase.bflyt
  • Changed position for N_Icon_00 & N_Icon_01
  • Save to SZS - Close
  • Save As ... test.szs
  • Tools > Layout Diff - Selected Original ResidentMenu.szs and Edited test.szs
  • Generate diff - test.json
  • Went to https://exelix11.github.io/SwitchThemeInjector/ site
  • Inject & Patch tab > Open test.szs - Detected home menu 6.X
  • Set BG image .dds
  • Custom Layout - set to Dont Patch
  • Build NXTheme
  • Used GoldLeaf to install theme
  • Reboot > only background changed... positions of icons did not change
According to https://nh-server.github.io/switch-guide/extras/theming/ guide
it says i have to use Nxtheme Builder tab.. but that does not give me option to use my .json or edited .szs
 

exelix11

Developer
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
2,910
Country
Italy
Not sure what i am doing wrong or if i'm skipping a step... but the changes im making is not applying to .nxtheme (i'm on 6.2)
  • Opened orig ResidentMenu.szs in Switch Layout Editor
  • Opened blyt/RdtBase.bflyt
  • Changed position for N_Icon_00 & N_Icon_01
  • Save to SZS - Close
  • Save As ... test.szs
  • Tools > Layout Diff - Selected Original ResidentMenu.szs and Edited test.szs
  • Generate diff - test.json
  • Went to https://exelix11.github.io/SwitchThemeInjector/ site
  • Inject & Patch tab > Open test.szs - Detected home menu 6.X
  • Set BG image .dds
  • Custom Layout - set to Dont Patch
  • Build NXTheme
  • Used GoldLeaf to install theme
  • Reboot > only background changed... positions of icons did not change
According to https://nh-server.github.io/switch-guide/extras/theming/ guide
it says i have to use Nxtheme Builder tab.. but that does not give me option to use my .json or edited .szs
Custom layouts from the szs don't transfer automatically to the nxtheme, that's why you must make a json layout and also the web version of the injector doesn't support uploading layouts.
For json layouts use the pc version of the injector, there's an option in the layouts list to open a json.
That's the biggest mistake you're doing. Still to keep everything compatible with all the firmwares not every change is supported in the json format, if you're not changing just the basic properties (like position, scale, rotation, color and so on) after diffing check that the json actually contains all your changes.
About GoldLeaf idk if xor updated it to the latest version of my lib, if all the changes are in the json try installing the theme with NXThemes Installer.
If you're changing a property that's not supported (aka doesn't appear in the json) but you think it would be useful for making themes pm me either here or on discord.
 
General chit-chat
Help Users
    DEMONGreninjaPG @ DEMONGreninjaPG: what?