Version: 2020.3
  • 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 DirtyHeightmapRegion(RectInt region, TerrainHeightmapSyncControl syncControl);


region The rectangular region to mark as dirty.
syncControl Controls how CPU synchronization is performed.


Marks the specified part of the heightmap as dirty.

Use this function only after you manually change the GPU part of the heightmap texture by rendering into it, or by using Graphics.CopyTexture. Use the syncControl parameter to control how you want Unity to perform CPU synchronization. Unity queues the reading back of unsynchronized data (height data, LOD data, or both) until the next call to SyncHeightmap.

If the current active RenderTexture contains your changes, and you want to copy a part of it into the heightmap texture, use CopyActiveRenderTextureToHeightmap instead.

This function sends out the OnTerrainChanged message with TerrainChangedFlags.Heightmap if you pass TerrainHeightmapSyncControl.HeightAndLod to the syncControl parameter. If you pass TerrainHeightmapSyncControl.Height to the syncControl parameter, it sends out the OnTerrainChanged message with TerrainChangedFlags.DelayedHeightmapUpdate.