Tutorial
Updated
Creating Custom Themes for USB Loader GX (With V2 Support)
USB Loader GX Theme Creation Tutorial
Welcome! In this tutorial, I’ll walk you through how you can make themes for USB Loader GX. Hopefully this helps you understand how it works, how to find and edit assets, and how to start making your own.
What You’ll Need
-- 🛠 Setting Up the Theme Creator
-
Exploring the Interface
-
Important Notes & Tips
-
Exploring the Default Theme
-
Imagining a Theme
--
Image Editing Tips
-
Image Reference Guide (A–Z)
-
Performance and Memory Tips
-
Fonts
-
Adding Custom Audio
-
V2 Theme Values and Buttons
-
Installing on the Wii
-
Wrapping Up
What You’ll Need- USBLoaderGX Theme Creator (Windows only — requires Java)
- Default Theme - V2 (v4.0)
You can also find it on GitHub. You will need to know the names of these new buttons for V2 themes. They will be listed below in that section.
- Image Editing Software - An Image Optimizer
Use tools like PNGGauntlet (Windows) or ImageOptim (Mac) to optimize .PNGs
- Free Icons Try Google Icons, Icons8, any icon site or icon packs. You can also create your own or edit others if possible.
- Optional: Fonts Google Fonts or any free font site will do.
- Optional: Audacity For custom sounds. We’ll cover that later.
🛠 Setting Up the Theme Creator
1. Download and extract the Theme Creator to any folder (Desktop works fine).
2. Inside the folder, you’ll find:
- ThemeCreator_USBloaderGX.jar (the main app)
- /Export – stores screenshots and theme ZIPs
- /Themes – where you place your theme folders and .them files
3. Download and extract the default theme into the Themes folder.You should now have:
- a folder called default
- a .them file outside of it
Exploring the InterfaceWhen you open the app:
- You may be presented with a theme selection screen. Choose one.
- The left panel is where you edit values
- The preview window is on the right:
- Hover to see element names
- Right-click + drag to move icons
- Explore all theme menus and screens!
Note: Not everything can be previewed in the Creator.
- Red Tabs: General values
- Green Tabs: Specific view types (e.g., list, grid)
- Green Tabs: Specific view types (e.g., list, grid)
At the top you'll see:
- Arrows: Move all values on the right simultaneously
- Buttons: Copy values between view types
- Arrows: Move all values on the right simultaneously
- Buttons: Copy values between view types
Hover over any interface button to get a tooltip.
Important Notes & TipsSAVE OFTEN!
Save of your `.them` before making changes.
DO NOT open V2 themes in the Creator directly!
It will remove update-specific values. Once you’re done editing, copy the .them somewhere else (like a separate export folder) and manually add those values. We will do this later.
After this new Loader update, many elements seem to align differently vs the Creator!
You will have you rely on screenshots from the Wii itself and use a ruler and math to position your assets correctly.
- You cannot change the border for channels — it’s a solid overlay. Design around it.
- Some values (like "numpad text color") are not shown in the Creator. Edit the `.them` manually.
- After typing values inside the Creator, press Enter to apply.
- The Creator and Loader will look different. Use real Loader screenshots for alignment.
In the Loader: Use a Nunchuk, press C + Z to take a screenshot. These are stored in the root usbloader_gx folder.
- Some text colors cannot be changed — plan your theme around them.
- If you change the font, save and reload the theme to preview it in the Creator.
- If you save the '.them' with a new name, save as a new folder. Trust me.
- Some values (like "numpad text color") are not shown in the Creator. Edit the `.them` manually.
- After typing values inside the Creator, press Enter to apply.
- The Creator and Loader will look different. Use real Loader screenshots for alignment.
In the Loader: Use a Nunchuk, press C + Z to take a screenshot. These are stored in the root usbloader_gx folder.
- Some text colors cannot be changed — plan your theme around them.
- If you change the font, save and reload the theme to preview it in the Creator.
- If you save the '.them' with a new name, save as a new folder. Trust me.
- Examine how images are named and sized
- Every image must be named exactly as in the default
- All images are .PNG, most with transparency
- You don’t need to include every asset — any missing file will default to the original theme’s version
This is all up to you!
Ask yourself:
- What kind of interface do you want?
- Should it be inspired by a game, OS, movie?
- Simple and clean?
- Completely original?
I usually:
- Search around for inspiration
- Ask for suggestions
- Experiment just to see what I can make
Some ideas won't work out — that’s okay. Take breaks, don’t burn out.
🖼 Image Editing Tips
You can use any editor. I use Photopea.
Recommended tools: shapes, selection, direct select and anchors, brush/pencil, eraser, ruler, eyedropper, layers. I also suggest using hex codes for easy copy and paste when designing. The Creator uses RGB values though.
- Save files as .PSD or similar for later edits
- Keep a 13–15px safe border for TVs with overscan
- Use .SVGs for scalable icons — rasterize them before editing
- Flat icons or assets can be recolored easily using color overlays (on rasterized images)
- Saturation and hue will be helpful for recoloring as well. It's much more difficult to get close to your desired result.
- .PNG transparency matters! Export without palettes to avoid image breakage
- Keep canvas size if you want to preserve clickable areas. Change the size of the icon or image instead.
- Use rulers — always align your elements
Alright, so look at this image of my theme Proto on the Wii compared to how it looks in the Creator:
Wii:
Creator:
Do you see the differences?
- The scrollbar is completely out of alignment in the creator. One pixel can't be aligned for example — I made the bottom scrollbar arrow's bottom border in a way that mirrors the top. Download and explore the .PNGs if you would like to see how things are affected and can be designed around
- This is the theme V1 that is supported by the Creator. This is how it will look before you modify your .them
- The text is rendered completely different!
- The little chevron arrow next to the game name is aligned wrong as well
- And much more...
Wii:
Creator:
Do you see the differences?
- The scrollbar is completely out of alignment in the creator. One pixel can't be aligned for example — I made the bottom scrollbar arrow's bottom border in a way that mirrors the top. Download and explore the .PNGs if you would like to see how things are affected and can be designed around
- This is the theme V1 that is supported by the Creator. This is how it will look before you modify your .them
- The text is rendered completely different!
- The little chevron arrow next to the game name is aligned wrong as well
- And much more...
Image Reference Guide (A–Z)Here’s a breakdown of the image files you’ll see in USB Loader GX themes that may be confusing and what each one controls:
- add = Adding a category (category window)
- battery = Battery charge level (home menu)
- bg_browser = File explorer window (paths, etc)
- bg_options_entry = Game/settings selection bar
- button_dialogue_box = This is the general menu button (buttons on the power off menu
- closebutton = Home Menu close button (appears when you press the Home button)
- channel_btn = Homebrew apps menu button (found in Homebrew Browser)
- checkBoxSelection = This is the selection bar found on the category window
- dialogue_box = Most pop-up windows you’ll see (example: power off menu)
- exit_buttons (Top and Bottom) = Panels on the Home Menu screen
- exit_button = Homebrew and Wii menu buttons on the Home screen
- gameinfo = Game information pop-up window
- gxlogo = Screensaver icon
- icon_folder = Folder icon on the explorer window (paths, etc)
- little_star = Rotating star icon in the credits screen
- one = Rename a category
- oneButtonScroll = Hold B on a list to see this appear (like a mouse wheel click)
- remove = Removing a category (category window)
- theme_box = General theme pop-up window
- theme_preview = Theme icon shown in theme_box
- wifi_button = Reinitialize Wi-Fi (Homebrew launcher)
- wiimote = Wii Remote image on the Home Menu
If there’s anything that could be explained better, let me know and I’ll update the guide!
Performance and Memory TipsThe Wii only has around 88MB of RAM, and USB Loader GX uses that memory to load theme assets, covers, music, fonts, and interface data. If you overload it with large or unoptimized files, you may run into:
- Long loading times
- Freezing or crashing
- Broken or missing UI elements
To avoid that, keep your assets optimized and lightweight:
Images
- Use tools like PNGGauntlet (Windows) or ImageOptim (Mac) to optimize .PNGs
- Be cautious: sometimes it might convert transparent images (RGBA) to RGB or paletted .PNGs — which removes transparency.
Fonts
- Stick with small '.ttf' fonts from sources like Google Fonts.
Audio
- Keep background music short (under 2 minutes if possible) and loopable.
- Export music as '.ogg' with 44.1kHz or 48kHz sample rate.
Keeping your theme lightweight will make it faster and more stable!
FontsTwo font files:
- font.ttf – general UI font
- clock.ttf – used for the clock
To change them:
1. Download a font you like
2. Rename it to font.ttf or clock.ttf
3. Place it in your theme folder
Fonts can be hit or miss. Some look great in the Creator but not in Loader. Always test! (and some will be sized completely different for another language)
Adding Custom AudioUse Audacity.
1. Find free music, royalty-free music, etc., or make your own if you know how.
2. Open it in Audacity
3. Trim it down to a good loop (e.g., 1:30)
- Cut a short segment from the end and paste it on a new track — drag it to the beginning
- Highlight both tracks together, the length of the new short segment
- Go to Effects > Fading > Crossfade Tracks. Click okay.
- Export as .ogg with 44.1kHz or 48kHz sample rate
- Highlight both tracks together, the length of the new short segment
- Go to Effects > Fading > Crossfade Tracks. Click okay.
- Export as .ogg with 44.1kHz or 48kHz sample rate
Short sounds can cause audio popping or play twice
To reduce this:
- Add 0.250s to 0.500s of silence at the end
- Export at 32kHz or 44.1kHz
File names:
- button_click and button_click2: used on A/B inputs
- button_over: plays when hovering over a button
To reduce this:
- Add 0.250s to 0.500s of silence at the end
- Export at 32kHz or 44.1kHz
File names:
- button_click and button_click2: used on A/B inputs
- button_over: plays when hovering over a button
V2 Theme Values and ButtonsGet ready for a bit of manual work! These are the new values you’ll need to manually add to your finished .them file.
These are only needed if you are using layout version 2 (v2 themes). The Theme Creator does not support these yet, so they must be added yourself after exporting.
Again! DO NOT open V2 themes in the Creator directly!
It will remove update-specific values. Once you’re done editing, copy the .them somewhere else (like a separate export folder) and manually add these values.
menu_button.png
menu_button_custom.png
menu_button_custom_over.png
menu_button_emunand.png
menu_button_emunand_over.png
menu_button_gc.png
menu_button_gc_over.png
menu_button_nand.png
menu_button_nand_over.png
menu_button_over.png
menu_button_custom.png
menu_button_custom_over.png
menu_button_emunand.png
menu_button_emunand_over.png
menu_button_gc.png
menu_button_gc_over.png
menu_button_nand.png
menu_button_nand_over.png
menu_button_over.png
# -- Theme Version Toggle
"Theme-Layout: 2\n"
# -- Settings (not very important)
msgid "200 - settings option text max width"
msgstr ""
msgid "100 - settings option value max width"
msgstr ""
msgid "240 - settings option value pos x"
msgstr ""
# -- List Layout
msgid "349 - list layout hbc btn pos x widescreen"
msgstr ""
msgid "359 - list layout hbc btn pos x"
msgstr "442"
msgid "367 - list layout hbc btn pos y"
msgstr "377"
msgid "376 - list layout install btn pos x widescreen"
msgstr ""
msgid "393 - list layout install btn pos x"
msgstr ""
msgid "367 - list layout install btn pos y"
msgstr ""
# -- Grid Layout
msgid "202 - game list layout pos x widescreen"
msgstr ""
msgid "349 - grid layout hbc btn pos x widescreen"
msgstr ""
msgid "359 - grid layout hbc btn pos x"
msgstr ""
msgid "367 - grid layout hbc btn pos y"
msgstr ""
msgid "376 - grid layout install btn pos x widescreen"
msgstr ""
msgid "393 - grid layout install btn pos x"
msgstr ""
msgid "367 - grid layout install btn pos y"
msgstr ""
# -- Carousel Layout
msgid "349 - carousel layout hbc btn pos x widescreen"
msgstr ""
msgid "359 - carousel layout hbc btn pos x"
msgstr ""
msgid "367 - carousel layout hbc btn pos y"
msgstr ""
msgid "376 - carousel layout install btn pos x widescreen"
msgstr ""
msgid "393 - carousel layout install btn pos x"
msgstr ""
msgid "367 - carousel layout install btn pos y"
msgstr ""
# -- Banner Grid Layout
msgid "349 - bannergrid layout hbc btn pos x widescreen"
msgstr ""
msgid "359 - bannergrid layout hbc btn pos x"
msgstr ""
msgid "367 - bannergrid layout hbc btn pos y"
msgstr ""
msgid "376 - bannergrid layout install btn pos x widescreen"
msgstr ""
msgid "393 - bannergrid layout install btn pos x"
msgstr ""
msgid "367 - bannergrid layout install btn pos y"
msgstr ""
# -- ID and Region on List view
msgid "52 - gameID btn pos x widescreen"
msgstr ""
msgid "52 - region info text pos x widescreen"
msgstr ""
"Theme-Layout: 2\n"
# -- Settings (not very important)
msgid "200 - settings option text max width"
msgstr ""
msgid "100 - settings option value max width"
msgstr ""
msgid "240 - settings option value pos x"
msgstr ""
# -- List Layout
msgid "349 - list layout hbc btn pos x widescreen"
msgstr ""
msgid "359 - list layout hbc btn pos x"
msgstr "442"
msgid "367 - list layout hbc btn pos y"
msgstr "377"
msgid "376 - list layout install btn pos x widescreen"
msgstr ""
msgid "393 - list layout install btn pos x"
msgstr ""
msgid "367 - list layout install btn pos y"
msgstr ""
# -- Grid Layout
msgid "202 - game list layout pos x widescreen"
msgstr ""
msgid "349 - grid layout hbc btn pos x widescreen"
msgstr ""
msgid "359 - grid layout hbc btn pos x"
msgstr ""
msgid "367 - grid layout hbc btn pos y"
msgstr ""
msgid "376 - grid layout install btn pos x widescreen"
msgstr ""
msgid "393 - grid layout install btn pos x"
msgstr ""
msgid "367 - grid layout install btn pos y"
msgstr ""
# -- Carousel Layout
msgid "349 - carousel layout hbc btn pos x widescreen"
msgstr ""
msgid "359 - carousel layout hbc btn pos x"
msgstr ""
msgid "367 - carousel layout hbc btn pos y"
msgstr ""
msgid "376 - carousel layout install btn pos x widescreen"
msgstr ""
msgid "393 - carousel layout install btn pos x"
msgstr ""
msgid "367 - carousel layout install btn pos y"
msgstr ""
# -- Banner Grid Layout
msgid "349 - bannergrid layout hbc btn pos x widescreen"
msgstr ""
msgid "359 - bannergrid layout hbc btn pos x"
msgstr ""
msgid "367 - bannergrid layout hbc btn pos y"
msgstr ""
msgid "376 - bannergrid layout install btn pos x widescreen"
msgstr ""
msgid "393 - bannergrid layout install btn pos x"
msgstr ""
msgid "367 - bannergrid layout install btn pos y"
msgstr ""
# -- ID and Region on List view
msgid "52 - gameID btn pos x widescreen"
msgstr ""
msgid "52 - region info text pos x widescreen"
msgstr ""
What to Do:
1. Visit the official `.them` file on GitHub and locate where these values exist.
2. Copy and paste them into your custom `.them` in the same section.
3. Use screenshots from the Loader and do some basic math to determine accurate coordinates.
4. Remember:
msgid = default value name
msgstr = your theme’s value
Example:
msgid "359 - bannergrid layout hbc btn pos x"
msgstr "-250"
Installing on the WiiOnce your theme is ready to test, here’s how to install it:
- Insert your SD card or USB drive into your computer
- Navigate to: /apps/usbloader_gx/theme/ (Create the theme folder if it doesn’t exist.)
- Copy your theme folder and .them into this directory
- Eject the SD/USB and put it back in your Wii
- Launch USB Loader GX -> Settings -> Theme Menu
- Select your theme and press Apply
- If something looks off, take a screenshot on the Wii (C+Z on Nunchuk) and open the screenshot in your editor, measure, and adjust your assets or values
Wrapping UpI’ll keep updating this tutorial as I go — more needs to be added, but it does take a while. If you have any suggestions for edits, let me know.
Feel free to ask questions in this thread or send me a message. I’ll reply when I can.
Your first theme might take a couple weeks — that’s normal. With time, you’ll be making themes within just one week! Probably!
Keep practicing and have fun!
Last edited by nully,










