# WarmUp()

> Prewarms all shader variants in this shader variant collection.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.7/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public void WarmUp()
```

### Remarks

For information on shader loading and prewarming, including a list of different prewarming techniques, see [Shader loading](/engine/6000.7/manual/materials-and-shaders/shaders/shader-troubleshooting/shader-reduce-stalling/shader-loading.md).

**Warning:** This method is fully supported on DX11 and OpenGL. On DX12, Vulkan, and Metal, the graphics driver might still need to perform work if the vertex layout and/or the render target setup is different from the data used to prewarm it. This can result in wasted work and GPU memory, and still leave visible stalls in your application. [ShaderWarmup](/engine/6000.7/script-reference/unityengine/experimental/rendering/shaderwarmup.md) is supported on all graphics APIs.

Additional Resources: [ShaderWarmup](/engine/6000.7/script-reference/unityengine/experimental/rendering/shaderwarmup.md), [Shader.WarmupAllShaders](/engine/6000.7/script-reference/unityengine/shader/warmupallshaders.md), [Shader loading](/engine/6000.7/manual/materials-and-shaders/shaders/shader-troubleshooting/shader-reduce-stalling/shader-loading.md)
