Overview
Dynamic Input Textures allow texture packs to automatically display correct button prompts based on the user’s actual input device - showing keyboard keys, Xbox buttons, PlayStation buttons, or other controller types as appropriate.How It Works
The system replaces rectangular regions in game textures with input-specific button images. When you press ‘A’ on a Wiimote mapped to ‘X’ on an Xbox controller, the game will display an Xbox ‘X’ button instead of a generic ‘A’ prompt.Setup
Directory Structure
Game ID Naming
Folder names can be:- Complete Game ID:
SMNE01(New Super Mario Bros. Wii NTSC) - Region-agnostic ID:
SMN(New Super Mario Bros. Wii, all regions) - Any name with empty
GAMEID.txtfile underneath
Enable Custom Textures
Enable “Load Custom Textures” in Graphics Settings > Advanced tab for dynamic input textures to work.
JSON Configuration
Required Fields
Base texture PNG file containing regions to replace
Map of emulated devices to button regions
Map of host devices to button images (required if
default_host_controls not set)Global Fields
Output folder name (default:
<gameid>_Generated)Maintain button image aspect ratios (default:
true)Default device-to-image mappings applied to all textures
Complete Examples
Basic Configuration
Understanding Regions
Regions define rectangular areas in the base image to replace with button icons. Each region is an array of four coordinates:Multiple Regions
One button can replace multiple regions in the same texture:Emulated Device Names
GameCube Controllers
GCPad1,GCPad2,GCPad3,GCPad4
Wiimotes
Wiimote1,Wiimote2,Wiimote3,Wiimote4
Button Path Examples
Wiimote Buttons
Wiimote Buttons
GameCube Buttons
GameCube Buttons
D-Pad
D-Pad
Analog Sticks
Analog Sticks
Host Device Strings
Keyboard
Xbox Controllers
Wildcard (Any Device)
Gamepad button names use backticks:
`Button A`, `Button X`, etc.Image Requirements
Base Texture
- PNG format required
- Should be the game texture you’re modifying
- Can be upscaled or redrawn versions
Button Images
- PNG format required
- Transparent backgrounds recommended
- Will be scaled to fit regions (unless
preserve_aspect_ratio: true)
Creating a Pack
Dump Game Textures
Enable “Dump Textures” in Graphics Settings and play the game to capture textures with button prompts
Create Button Assets
Design PNG images for each button on each input device type you want to support
Identify Regions
Open base textures in an image editor and note the pixel coordinates of button prompt locations
Write Configuration
Create JSON file mapping emulated controls to regions and host controls to images
Troubleshooting
Textures Not Appearing
Textures Not Appearing
- Verify “Load Custom Textures” is enabled
- Check folder is named correctly (matching Game ID)
- Ensure JSON has no syntax errors
- Verify
output_textureskeys match actual game texture filenames
Wrong Buttons Showing
Wrong Buttons Showing
Images Stretched or Distorted
Images Stretched or Distorted
- Set
"preserve_aspect_ratio": true - Adjust region dimensions to match button image aspect ratios
- Ensure button PNGs are the correct resolution
Related Topics
Resource Packs
Package custom textures for distribution
Graphics Mods
Modify rendering behavior and effects