Texture packs
For when original low-res sprites or ugly muddy pixellated textures don't cut it anymore, there are some emulators which allow for texture replacement - so that you can play your old games with shiny HD/4K textures to go with HD rendering. It's nice to play more of the retro games in the style of Super Mario All-Stars, the Ducktales remaster, or the N64 Zelda remakes.
Only problem: It's not as widely supported among emulators. This may be slowly changing, though. You'll need to get (or make) a texture pack in addition to the ROM. Goes without saying the game logic won't be altered. Also, this doesn't actually change the data inside the ROM proper, making this enhancement emulator-specific.
Currently, 2D sprite replacements are not as popular, so much of what's available among replacement packs are quite bland in the same fashion as Final Fantasy 6's iOS "remake" or RPG Maker stuff, but they're meant to be a proof-of-concept, no more. As of 2018, 2D sprite replacements have improved in quality with the release of several excellent 8-bit to 16-bit packs for NES.
Sprite Replacement (2D)
editNES
edit- Mesen has support for HDNes HD packs and has made several improvements to it. Also includes HD Pack Builder that can be used to create new HD packs. Most newer packs only work on Mesen and not on HDNes.
- HDNes an emulator that allows you to overlay custom sprites at 4X resolution over in-game NES sprites. These custom sprites are in true color without any of the palette restrictions inherent to the NES (alpha + 3 colors picked from around 50 possible colors). It can also do music replacement.
Notable sprite replacements packs
edit- Bomberman Remastered
- Castlevania 1 HD / SD / VK
- Contra 80s - HD Pack
- Donkey Kong Jr. Remastered
- Ice Climber Remastered
- Little Nemo Graphic Pack
- Megaman: Super
- Metroid HD Pack
- Ninja Gaiden 1 HD Beta
- Ninja Gaiden 2 HD Graphics Pack
- Shatterhand HD Pack (WIP)
- Twin Bee Remastered
- Zelda: Remastered
SNES
editNo emulator support this at the moment, (yet). Feature request for bsnes-hd: Add custom sprite/texture dumping/injection support
Game Boy
edit- GBE+ Works just like HDNES, with custom resolutions up to x10. Can be used to colorize monochrome GB games this way when used with x1 sprite replacements. Doesn't have a stable release yet.
- GameOBJ Based on the Unity3d GB Emulator code "UnityGB". It replaces GB graphics with 3D objects and the result is... unique, certainly worth it. Video here and here.
Sega Master System
edit- HiSMS - Master System emulator with sprite replacement in HD resolutions.
Texture Replacement (3D)
editTexture replacement for 3D systems is a broad enhancement feature in emulators that allows original game textures to be dumped, modified, and replaced with higher-quality or stylistically altered assets. While basic texture replacement is common, the overall scope and effectiveness of this feature depends on the range of supported subfeatures.
- Texture dumping and loading
Core functionality typically includes:
- Dumping original textures for editing
- Loading custom replacement textures
- Optional dumping of mipmaps
- Optional dumping of video or FMV-related textures
These features form the foundation of texture pack creation and enable visual upgrades to 3D environments, models, and effects.
- Texture loading behavior and performance
To reduce stutter and improve runtime performance, texture replacement systems may include:
- Asynchronous texture loading
- Preloading or precaching of replacement textures
- Texture caching mechanisms
These options are especially important for large texture packs and high-resolution replacements.
- Texture tracking and cache control
Advanced systems may track texture uploads more aggressively in order to:
- Ensure consistent replacement of dynamically reused textures
- Avoid cache invalidation issues
- Improve reliability of replacements in complex rendering scenarios
Tracking can also allow dumping of textures after replacement, aiding debugging and refinement.
- VRAM write dumping and replacement
Some texture replacement systems operate at the VRAM write level rather than only at the texture upload level. This allows dumping and replacing:
- User interface elements
- Menus and HUD graphics
- Fonts and text glyphs
- 2D elements rendered directly into VRAM
Additional controls may include:
- Filtering dumped VRAM writes by size
- Adjusting alpha channel handling
- Selectively dumping only replaceable VRAM writes
VRAM write replacement greatly expands the range of assets that can be modified compared to traditional texture replacement alone.
- Framebuffer and render target dumping
Support for dumping framebuffer or render-to-texture targets allows replacement or enhancement of:
- Post-processing effects
- Rendered UI elements
- Special effects that are not stored as standard textures
This enables texture replacement to affect assets generated at runtime rather than only static resources.
- Texture replacement scope limitations
Without additional supporting systems, texture replacement is often limited by:
- One-to-one hash-based matching
- Redundant texture hashes for visually identical assets
- Difficulty maintaining large texture packs
These limitations can prevent consistent replacement of menus, fonts, title screens, briefings, and other presentation elements.
- Enhancement subfeatures for comprehensive overhauls
To enable large-scale, maintainable texture packs, additional subfeatures may be required:
- Wildcard or pattern-based matching to apply a single replacement across multiple related textures
- Texture manifests or mapping rules to explicitly control replacement behavior
- Hash reduction or normalization to group equivalent textures under a shared identifier
- Texture grouping or categorization to organize assets such as UI, fonts, HUD, and in-game graphics
When these subfeatures are present, texture replacement can expand beyond simple visual upgrades and support full presentation overhauls, including menus, briefings, title screens, fonts, and overlays.
- Emulators support
While many popular and recommended emulators advertise support for texture replacement, the actual feature set varies significantly between implementations. In practice, most emulators only support a subset of the texture replacement capabilities described above. At a minimum, texture replacement typically includes dumping original textures and loading custom replacements using hash-based matching. However, advanced aspects—such as asynchronous loading, aggressive texture tracking, VRAM write replacement, framebuffer dumping, or pattern-based matching—are often missing, incomplete, or experimental.
Because of these limitations:
- Texture replacement is frequently restricted to static 3D textures.
- UI elements, fonts, menus, and runtime-generated visuals may not be consistently replaceable.
- Large texture packs can suffer from performance issues, redundancy, or maintenance difficulties.
- Identical or reused textures may require multiple replacements due to strict one-to-one hash matching.
Nintendo Switch
edit- Ryujinx has a LayeredFS mod system which is found under "Users\<username>\AppData\Roaming\Ryujinx\mods\contents\" followed by the game's ID. This folder can be accessed directly by right-clicking the game title and selecting "Open Mods Directory". Texture packs can be placed in this folder.
- Yuzu has a very similar LayeredFS mod system which is found under "Users\<username>\AppData\Roaming\yuzu\load".
Notable HD texture packs
edit- HD Packs (multiple games)
- The Legend of Zelda: Breath of the Wild
- The Legend of Zelda: Tears of the Kingdom
- Pokémon Scarlet & Violet
- Red Dead Redemption WIP fan project which also works for the Xbox 360 version. The Switch version has slightly more improvements.
- Super Mario Odyssey
- Super Mario RPG
Nintendo 3DS (Citra)
edit- WIP
Notable HD texture packs
edit- Henriko Magnifico (multiple games) Link
- The Legend of Zelda: A Link Between Worlds: Link
- Super Mario 3D Land: Textures
Dedicated forum: Link
Citra Community Posts: Link
Nintendo 64
edit- Project64 - You will need a plugin such as Glide64, Rice, or GLideN64 to replace textures. GLideN64 is the only plugin that can do widescreen hacks and custom textures at the same time, though it has a high system requirement.
- Mupen64Plus (standalone PC version) - Both Glide64 (and GLideN64) and Rice plugins support texture replacements, though not enabled by default. To enable the custom textures, change "LoadHiResTextures" to true and "ghq_hirs" to 1 in your mupen64plus.cfg. Note that the custom texture-related features are removed from the RetroArch port of Mupen64Plus. Custom texture folder location:
- Windows XP and older:
C:\Documents and Settings\<username>\Application Data\Mupen64Plus\hires_texture
- Windows Vista and newer:
C:\Users\<username>\AppData\Mupen64Plus\hires_texture
- Mac, Linux, and others:
~/.local/share/mupen64plus/hires_texture
- Mupen64Plus AE - This Android fork of Mupen64 also has texture replacement, but only on Rice plugin. The setting file does have "ghq_hirs" for Glide64, but changing it to 1 has no noticeable effect. Custom texture folder location:
- Google Play Free Version:
/sdcard/Android/data/paulscode.android.mupen64plus.free/data/hires_texture
- Google Play Donate Version:
/sdcard/Android/data/paulscode.android.mupen64plus/data/hires_texture
Notable texture packs
edit- The Legend of Zelda: Majora's Mask: Cel-Shaded, Realistic, MM Reloaded (accurate UHD textures)
- The Legend of Zelda: Ocarina of Time: Community Retexture Project V7, Cel-Shaded
Dedicated forum: Link.
GameCube/Wii
edit- Dolphin has a game-specific directory somewhere under "Documents\Dolphin Emulator\Load\Textures" with your game's ID (check the ISO properties to what it is) where you can put your custom sprites. Under "Graphics", go to the "Advanced" tab and enable "Load Custom Texture", then set "Texture Cache Accuracy" to "Safe". While running, it will replace that texture when the game loads it with the image files under that directory. Texture packs for Dolphin come as tons of image files to put in that directory.
Notable texture packs
editGameCube
edit- Animal Crossing: Textures
- F-Zero GX: Textures
- The Legend of Zelda: Ocarina of Time & Majora's Mask: Textures
- The Legend of Zelda: The Wind Waker: Textures
- Luigi's Mansion: Textures (Alternate)
- Mario Kart Double Dash: Textures
- Paper Mario: The Thousand-Year Door: Textures
- Skies of Arcadia: Textures
- Super Mario Sunshine: HUD, Textures
- Super Smash Bros Melee: Textures
Wii
edit- The Legend of Zelda: Twilight Princess: Textures
- Mario Kart Wii: Textures
- Mario Party 9: Textures
- New Super Mario Bros. Wii: Textures
- No More Heroes 2: Textures
- Resident Evil 4: Wii Edition: Textures
- Super Mario Galaxy 2: Textures
Dedicated forum: Link
Dreamcast
editNotable HD texture packs
edit- Crazy Taxi
- Daytona USA 2001
- Mortal Kombat Gold
- Power Stone
- Sega Rally 2
- Sonic Adventure 1
- SoulCalibur
- Tony Hawk's Pro Skater 1
PlayStation
editBoth DuckStation's texture-replacement-PR and beetle-psx-hw-libretro (mednafen_psx_hw_libretro) support this feature but it's still work-in-progress/experimental and incompatible with each others implementation.
Notable HD texture packs
edit- Vierockhd (multiple games) Link
- Chrono Cross HD
- NMCM'S WWE Smackdown: Shock Value
- Suikoden II
- Vagrant Story
PlayStation 2
editNotable HD texture packs
edit- Ape Escape 2
- Devil May Cry
- God of War
- God of War II
- Gran Turismo 3
- Grand Theft Auto III
- Grand Theft Auto: San Andreas
- Grand Theft Auto: Vice City
- Ico
- Kingdom Hearts
- Metal Gear Solid 2: Substance
- Metal Gear Solid 3: Subsistence
- Persona 3 FES
- Persona 4
- Ratchet & Clank
- Ratchet & Clank: Going Commando
- Ratchet & Clank: Up Your Arsenal
- Ratchet: Deadlocked
- Shadow of the Colossus
- Sly Cooper and the Thievius Raccoonus
- Sly 2: Band of Thieves
- SOCOM U.S. NAVY SEALs
- SOCOM U.S. NAVY SEALs II
- SOCOM U.S. NAVY SEALs 3
- Tekken Tag Tournament
- Tony Hawk's Underground
- Tony Hawk's Underground 2
- Yakuza
- Yakuza 2
Dedicated forum: Link (This group is to collect HD texture packs for the PCSX2 emulator) Direct MediaFire links originate from this thread (which also contains additional packs): Link
PlayStation Portable
edit- PPSSPP has a game-specific directory under "user\Documents\PPSSPP\PSP\TEXTURES" with your game's ID (check the ISO properties to what it is) where you can install texture packs. Under "Tools", go to the "Developer Tools" and enable "Replace Textures". PPSSPP texture packs consist of textures in .png format, and a textures.ini file.
Notable HD texture packs
edit- Ace Combat X & Ace Combat X2: Joint Assault
- Ao no Kiseki
- Daxter
- Dissidia 012: Duodecim Final Fantasy
- God of War: Chains of Olympus
- Grand Theft Auto: Liberty City & Vice City Stories
- Hatsune Miku: Project DIVA 2nd/2nd#
- I.Q Mania
- Kingdom Hearts: Birth by Sleep - Final Mix
- Metal Gear Solid: Peace Walker
- Monster Hunter Freedom Unite
- Monster Hunter Portable 3rd
- Persona
- Persona 3 Portable
- Ridge Racer 2
- Tekken 6
Dedicated forum: Link
PlayStation Vita
editNotable HD texture packs
editExternal links
edit- r/TexturePacks - A subreddit for sharing texture packs.
- r/GameUpscale - A subreddit for improving older games using machine learning technique.
- An article by the GB Enhanced+ dev about the technical aspects of replacing 2D graphics.
- Akven/List of games with AI upscaled textures List of games with AI upscaled textures.
- A basic and advanced video tutorial that goes into detail about the process and research of texturing.