# DetailPrototype

> Detail prototype used by the Terrain GameObject.

## Definition

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

```csharp
public sealed class DetailPrototype
```

## Properties

| Property                                                                                              | Description                                                                                                                                                                                          |
| ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [alignToGround](/engine/6000.6/script-reference/unityengine/detailprototype/aligntoground.md)         | Rotate detail axis parallel to the ground's normal direction, so that the detail is perpendicular to the ground.                                                                                     |
| [density](/engine/6000.6/script-reference/unityengine/detailprototype/density.md)                     | Controls detail density for this detail prototype, relative to it's size.                                                                                                                            |
| [dryColor](/engine/6000.6/script-reference/unityengine/detailprototype/drycolor.md)                   | Color when the DetailPrototypes are "dry".                                                                                                                                                           |
| [healthyColor](/engine/6000.6/script-reference/unityengine/detailprototype/healthycolor.md)           | Color when the DetailPrototypes are "healthy".                                                                                                                                                       |
| [holeEdgePadding](/engine/6000.6/script-reference/unityengine/detailprototype/holeedgepadding.md)     | Controls how far away detail objects are from the edge of the hole area.                                                                                                                             |
| [maxHeight](/engine/6000.6/script-reference/unityengine/detailprototype/maxheight.md)                 | Maximum height of the grass billboards (if render mode is GrassBillboard).                                                                                                                           |
| [maxWidth](/engine/6000.6/script-reference/unityengine/detailprototype/maxwidth.md)                   | Maximum width of the grass billboards (if render mode is GrassBillboard).                                                                                                                            |
| [minHeight](/engine/6000.6/script-reference/unityengine/detailprototype/minheight.md)                 | Minimum height of the grass billboards (if render mode is GrassBillboard).                                                                                                                           |
| [minWidth](/engine/6000.6/script-reference/unityengine/detailprototype/minwidth.md)                   | Minimum width of the grass billboards (if render mode is GrassBillboard).                                                                                                                            |
| [noiseSeed](/engine/6000.6/script-reference/unityengine/detailprototype/noiseseed.md)                 | Specifies the random seed value for detail object placement.                                                                                                                                         |
| [noiseSpread](/engine/6000.6/script-reference/unityengine/detailprototype/noisespread.md)             | Controls the spatial frequency of the noise pattern used to vary the scale and color of the detail objects.                                                                                          |
| [positionJitter](/engine/6000.6/script-reference/unityengine/detailprototype/positionjitter.md)       | Controls how Unity generates the detail positions.                                                                                                                                                   |
| [prototype](/engine/6000.6/script-reference/unityengine/detailprototype/prototype.md)                 | GameObject used by the DetailPrototype.                                                                                                                                                              |
| [prototypeTexture](/engine/6000.6/script-reference/unityengine/detailprototype/prototypetexture.md)   | Texture used by the DetailPrototype.                                                                                                                                                                 |
| [renderMode](/engine/6000.6/script-reference/unityengine/detailprototype/rendermode.md)               | Render mode for the DetailPrototype.                                                                                                                                                                 |
| [targetCoverage](/engine/6000.6/script-reference/unityengine/detailprototype/targetcoverage.md)       | Controls the detail's target coverage.                                                                                                                                                               |
| [useDensityScaling](/engine/6000.6/script-reference/unityengine/detailprototype/usedensityscaling.md) | Indicates the global density scale set in the terrain settings affects this detail prototype.                                                                                                        |
| [useInstancing](/engine/6000.6/script-reference/unityengine/detailprototype/useinstancing.md)         | Indicates whether this detail prototype uses [ GPU Instancing](/engine/6000.6/manual/analysis/graphics-performance-profiling/reduce-draw-calls/gpuinstancing/gpuinstancing.md) for rendering.        |
| [usePrototypeMesh](/engine/6000.6/script-reference/unityengine/detailprototype/useprototypemesh.md)   | Indicates whether this detail prototype uses the Mesh object from the GameObject specified by [DetailPrototype.prototype](/engine/6000.6/script-reference/unityengine/detailprototype/prototype.md). |

## Methods

| Method                                                                              | Description                                                                    |
| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| [Validate](/engine/6000.6/script-reference/unityengine/detailprototype/validate.md) | Returns `true` if the detail prototype is valid and the Terrain can accept it. |
