# WarmUpProgressively(int)

> Prewarms the given number of shader variants in this shader variant collection.

## Definition

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

```csharp
public bool WarmUpProgressively(int variantCount)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The maximum number of variants to warm up.

### Returns

| Type                                                          | Description                                                                                  |
| ------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True if all variants in this shader variant collection have been warmed up, false otherwise. |

### Remarks

For information on shader loading and prewarming, including a list of different prewarming techniques, see [Shader loading](/engine/6000.0/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 perform work if the vertex layout or the render target setup is different from the data used to prewarm it. This can result in wasted work and GPU memory, and leave visible stalls in your application. [ShaderWarmup](/engine/6000.0/script-reference/unityengine/experimental/rendering/shaderwarmup.md) is supported on all graphics APIs.

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