# Scatter(Func<ITerrainInfo, RenderTexture>, Material, int, Action<ITerrainInfo>, Action<ITerrainInfo>)

> Applies an edited PaintContext by copying modifications back to user-specified RenderTextures for the source Terrain tiles.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.TerrainTools](/engine/6000.6/script-reference/unityengine/terraintools.md)
* **Assembly:** UnityEngine.TerrainModule

```csharp
public void Scatter(Func<PaintContext.ITerrainInfo, RenderTexture> terrainDest, Material blitMaterial = null, int blitPass = 0, Action<PaintContext.ITerrainInfo> beforeBlit = null, Action<PaintContext.ITerrainInfo> afterBlit = null)
```

### Parameters

**** (\[Func\<ITerrainInfo, RenderTexture>]\(https\://learn.microsoft.com/dotnet/api/system.func-1)): Function returning the RenderTexture to be written for each Terrain.**** (\[Material]\(/engine/6000.6/script-reference/unityengine/material)): The material used to copy the data.  If null, the default blit material is used.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The material pass used to copy the data.  Its default value is 0.**** (\[Action\<ITerrainInfo>]\(https\://learn.microsoft.com/dotnet/api/system.action)): An optional action to call before copying to each Terrain.**** (\[Action\<ITerrainInfo>]\(https\://learn.microsoft.com/dotnet/api/system.action)): An optional action to call after copying to each Terrain.

### Remarks

After the edits to a PaintContext are complete, this function applies the modified data in `destinationRenderTexture` to the data stored for each Terrain. Scatter performs this copy to a set of RenderTextures, which is specified by `terrainDest`.

This function uses the following steps to scatter to each Terrain in the PaintContext:

1. Calls `terrainDest` to retrieve the target RenderTexture.

2. Calls `beforeBlit`.

3. Uses `blitMaterial` and `blitPass` to copy the `destinationRenderTexture` into the target RenderTexture.

4. Calls `afterBlit`.

Additional Resources: [PaintContext](/engine/6000.6/script-reference/unityengine/terraintools/paintcontext.md), [PaintContext.Gather](/engine/6000.6/script-reference/unityengine/terraintools/paintcontext/gather.md).
