# Normal

> The direction perpendicular to the surface at the vertex position.

## Definition

* **Type:** Field
* **Namespace:** [UnityEngine.Rendering](/engine/6000.5/script-reference/unityengine/rendering.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
Normal = 1
```

### Remarks

This attribute is optional but plays an important role, for example, in lighting calculations.

Normals are commonly represented using the [Vector3](/engine/6000.5/script-reference/unityengine/vector3.md) format, which consists of three 32-bit floating-point values, resulting in 12 bytes per vertex. If [vertex compression](/engine/6000.5/manual/analysis/graphics-performance-profiling/compressing-mesh-data-optimization/configure-vertex-compression.md) is applied to this attribute, each component is compressed to 16-bit floating point values, reducing the total to 6 bytes per vertex.

This attribute corresponds to the `NORMAL` semantic in the HLSL shading language.

You can access vertex normals using methods such as [Mesh.GetNormals](/engine/6000.5/script-reference/unityengine/mesh/getnormals.md) and [Mesh.SetNormals](/engine/6000.5/script-reference/unityengine/mesh/setnormals.md).

For more information, refer to [mesh vertex data](/engine/6000.5/manual/assets-and-media/asset-types/mesh/get-started-with-meshes/anatomyofa/vertex-data.md).
