# dimension

> Dimensionality (type) of the render texture.

## Definition

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

```csharp
public override TextureDimension dimension { get; set; }
```

### Remarks

By default render textures are "2D" type, but it is also possible to have Cubemap or 3D render textures by changing dimension before they are created.

[Cubemap](/engine/6000.6/script-reference/unityengine/cubemap.md) render textures are most often used for dynamic cubemap reflections, see [Camera.RenderToCubemap](/engine/6000.6/script-reference/unityengine/camera/rendertocubemap.md). A cubemap render texture must have the same [RenderTexture.width](/engine/6000.6/script-reference/unityengine/rendertexture/width.md) and [RenderTexture.height](/engine/6000.6/script-reference/unityengine/rendertexture/height.md), and must be power of two size.

3D (volumetric) render textures currently only work on compute shader capable platforms (like [UsingDX11GL3Features](/engine/6000.6/manual/platform-specific/cross-platform-features/graphics-apis/using-dx11gl3features.md)). You can render into them using "random access writes" from a pixel shader or a compute shader. Use [RenderTexture.volumeDepth](/engine/6000.6/script-reference/unityengine/rendertexture/volumedepth.md) to set 3D depth, and [RenderTexture.enableRandomWrite](/engine/6000.6/script-reference/unityengine/rendertexture/enablerandomwrite.md) to enable arbitrary writes into it.

Additional Resources: [TextureDimension](/engine/6000.6/script-reference/unityengine/rendering/texturedimension.md).
