Do not download random caches from the internet — they often cause crashes or contain outdated data.
Step-by-step to build a perfect cache:
Pro tip: The cache only grows when shaders are compiled. If you skip a boss fight, that boss’s shaders won’t be cached until you fight it.
In recent years, Yuzu moved beyond simple shader caching to Pipeline Caching. yuzu shader cache work
Modern games don't just send individual shaders; they send "pipelines"—a combination of shaders, blending modes, and vertex attributes. Compiling a pipeline is even more expensive than compiling a single shader.
Yuzu’s modern implementation caches these entire pipeline states. By predicting which pipelines a game will need (often utilizing a technique called "Async Shader Compilation" in the background), Yuzu can build the cache while you are in the menu, ensuring that by the time you jump into gameplay, the heavy lifting is already done.
Build your own cache manually. It takes 2-3 hours of gameplay to complete 90% of a game's shaders. Here is the professional workflow: Do not download random caches from the internet
After ~3 hours of play, the game will be 99% stutter-free permanently.
You might remember the early days of emulation where shader caches were simple binary dumps. For the Switch, however, the situation is vastly more complex.
The Switch allows developers to write shaders that are incredibly specific to the hardware. Furthermore, Yuzu uses a technique called Guest Shader Decompilation. Instead of simply translating the machine code directly, Yuzu decompiles the Switch shader into a high-level representation (GLSL or SPIR-V) and then recompiles it for your specific driver. Play the game normally
This creates a unique challenge: Invalidation.
If a game updates, or if the developers change how Yuzu handles shader logic in a new emulator update, the old cached files become invalid. If the cache isn't handled correctly, you end up with graphical glitches—missing textures, weird colors, or crashes.
Yuzu’s engineering team built a robust system to handle this. The cache is split into two main components: