Legacy Documentation: Version 2018.2 (Go to current version)
  • C#


Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.



public void WarmUp();


Fully load shaders in ShaderVariantCollection.

Often graphics drivers do not actually prepare shaders until they are first needed. However when some object is first rendered with a previously unused shader, there can be a hiccup because the driver is compiling/optimizing the shader. This can be quite noticeable, especially on mobile platforms.

Calling this function will perform dummy one-invisible-triangle rendering for the shaders and their variants in this ShaderVariantCollection. You can setup to do that automatically during game load time (in Graphics Settings), or manually call this function at appropriate times (e.g. when loading a new level).

Calling WarmUp on a ShaderVariantCollection that is already warmed up will do nothing.