Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


TerrainChangedFlags

Indicate the types of changes to the terrain in OnTerrainChanged callback.
Read time 1 minuteLast updated 6 days ago

Definition

  • Type: Enum
  • Namespace: UnityEngine
  • Assembly: UnityEngine.TerrainModule
[Flags]public enum TerrainChangedFlags

Remarks

Use bitwise AND to detect multiple changes.
using UnityEngine;[ExecuteInEditMode]public class DetectTerrainChanges : MonoBehaviour{ void OnTerrainChanged(TerrainChangedFlags flags) { if ((flags & TerrainChangedFlags.Heightmap) != 0) { Debug.Log("Heightmap changes"); } if ((flags & TerrainChangedFlags.DelayedHeightmapUpdate) != 0) { Debug.Log("Heightmap painting"); } if ((flags & TerrainChangedFlags.TreeInstances) != 0) { Debug.Log("Tree changes"); } }}
The above example shows how you can detect terrain changes by using OnTerrainChanged callback and TerrainChangedFlags enum.

Fields

Value

Description

DelayedHeightmapUpdateIndicates a change to the heightmap data without computing LOD.
DelayedHolesUpdateIndicates a change to the Terrain holes data, which doesn't include LOD calculations and tree/vegetation updates.
FlushEverythingImmediatelyIndicates that a change was made to the terrain that was so significant that the internal rendering data need to be flushed and recreated.
HeightmapIndicates a change to the heightmap data.
HeightmapResolutionIndicates a change to the heightmap resolution.
HolesIndicates a change to the Terrain holes data.
RemoveDirtyDetailsImmediatelyIndicates a change to the detail data.
TreeInstancesIndicates a change to the tree data.
WillBeDestroyedIndicates that the TerrainData object is about to be destroyed.