Version: 2019.2
  • C#
Experimental: this API is experimental and might be changed or removed in the future.


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 static Experimental.TerrainAPI.PaintContext BeginPaintTexture(Terrain terrain, Rect boundsInTerrainSpace, TerrainLayer inputLayer, int extraBorderPixels);


terrainReference Terrain tile. Defines terrain space and alphamap resolution.
inputLayerSelects the alphamap to paint.
boundsInTerrainSpaceThe region in terrain space to edit.
extraBorderPixelsNumber of extra border pixels required.


PaintContext PaintContext containing the combined alphamap data for the specified region.


Helper function to set up a PaintContext for modifying the alphamap of one or more Terrain tiles.

BeginPaintTexture identifies that alphamap pixels that are within extraBorderPixels of the bounds rectangle. The search is performed across adjacent connected Terrains. The pixels are collected into a temporary render texture and stored in PaintContext.sourceRenderTexture.

After calling this function, you may modify the alphamap by writing the new values into PaintContext.destinationRenderTexture. Then, you may complete the modification by calling TerrainPaintUtility.EndPaintHeightmap to copy the modified data back to the Terrains. Alteratively, you may cancel the modification by calling TerrainPaintUtility.ReleaseContextResources to release the RenderTexture resources.

See Also: TerrainPaintUtility.EndPaintTexture and PaintContext.