# Cubemap

> Create a new empty cubemap texture.

## Definition

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

## Cubemap(int, TextureFormat, bool)

Create a new empty cubemap texture.

```csharp
public Cubemap(int width, TextureFormat textureFormat, bool mipChain)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Width/height of a cube face in pixels.**** (\[TextureFormat]\(/engine/6000.3/script-reference/unityengine/textureformat)): Pixel data format to be used for the Cubemap.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Should mipmaps be created?

### Remarks

The texture will be `size` on each side and can be created with or without mipmaps.

Enable `createUninitialized` to make the texture reference uninitialized data (both on the CPU and GPU). When overriding all texels, this can lead to improved performance and reduced memory usage during construction. Note that sampling an uninitialized texture gives unpredictable values.

Usually you will want to set the colors of the texture after creating it, using [Cubemap.SetPixel](/engine/6000.3/script-reference/unityengine/cubemap/setpixel.md) and [Cubemap.Apply](/engine/6000.3/script-reference/unityengine/cubemap/apply.md) functions.

Note that this class does not support Cubemap creation from a script with a Crunch compression [TextureFormat](/engine/6000.3/script-reference/unityengine/textureformat.md).

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    public Cubemap texture;

    void Start()
    {
        // Create a new Cubemap texture.
        texture = new Cubemap(128, TextureFormat.RGBA32, false);
    }
}
```

Additional Resources: [Cubemap.SetPixel](/engine/6000.3/script-reference/unityengine/cubemap/setpixel.md), [Cubemap.Apply](/engine/6000.3/script-reference/unityengine/cubemap/apply.md) functions.

## Cubemap(int, TextureFormat, bool, bool)

Create a new empty cubemap texture.

```csharp
public Cubemap(int width, TextureFormat textureFormat, bool mipChain, bool createUninitialized)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Width/height of a cube face in pixels.**** (\[TextureFormat]\(/engine/6000.3/script-reference/unityengine/textureformat)): Pixel data format to be used for the Cubemap.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Should mipmaps be created?**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Use this flag to create the texture with uninitialized data. When overriding all texels anyway, this can lead to improved performance and reduced memory usage.

### Remarks

The texture will be `size` on each side and can be created with or without mipmaps.

Enable `createUninitialized` to make the texture reference uninitialized data (both on the CPU and GPU). When overriding all texels, this can lead to improved performance and reduced memory usage during construction. Note that sampling an uninitialized texture gives unpredictable values.

Usually you will want to set the colors of the texture after creating it, using [Cubemap.SetPixel](/engine/6000.3/script-reference/unityengine/cubemap/setpixel.md) and [Cubemap.Apply](/engine/6000.3/script-reference/unityengine/cubemap/apply.md) functions.

Note that this class does not support Cubemap creation from a script with a Crunch compression [TextureFormat](/engine/6000.3/script-reference/unityengine/textureformat.md).

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    public Cubemap texture;

    void Start()
    {
        // Create a new Cubemap texture.
        texture = new Cubemap(128, TextureFormat.RGBA32, false);
    }
}
```

Additional Resources: [Cubemap.SetPixel](/engine/6000.3/script-reference/unityengine/cubemap/setpixel.md), [Cubemap.Apply](/engine/6000.3/script-reference/unityengine/cubemap/apply.md) functions.

## Cubemap(int, TextureFormat, int)

Create a new empty cubemap texture.

```csharp
public Cubemap(int width, TextureFormat format, int mipCount)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Width/height of a cube face in pixels.**** (\[TextureFormat]\(/engine/6000.3/script-reference/unityengine/textureformat)): Pixel data format to be used for the Cubemap.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Number of mipmaps to be created. Use TextureCreationFlags.MipChain to generate a full mipchain.

### Remarks

The texture will be `size` on each side and can be created with or without mipmaps.

Enable `createUninitialized` to make the texture reference uninitialized data (both on the CPU and GPU). When overriding all texels, this can lead to improved performance and reduced memory usage during construction. Note that sampling an uninitialized texture gives unpredictable values.

Usually you will want to set the colors of the texture after creating it, using [Cubemap.SetPixel](/engine/6000.3/script-reference/unityengine/cubemap/setpixel.md) and [Cubemap.Apply](/engine/6000.3/script-reference/unityengine/cubemap/apply.md) functions.

Note that this class does not support Cubemap creation from a script with a Crunch compression [TextureFormat](/engine/6000.3/script-reference/unityengine/textureformat.md).

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    public Cubemap texture;

    void Start()
    {
        // Create a new Cubemap texture.
        texture = new Cubemap(128, TextureFormat.RGBA32, false);
    }
}
```

Additional Resources: [Cubemap.SetPixel](/engine/6000.3/script-reference/unityengine/cubemap/setpixel.md), [Cubemap.Apply](/engine/6000.3/script-reference/unityengine/cubemap/apply.md) functions.

## Cubemap(int, TextureFormat, int, bool)

Create a new empty cubemap texture.

```csharp
public Cubemap(int width, TextureFormat format, int mipCount, bool createUninitialized)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Width/height of a cube face in pixels.**** (\[TextureFormat]\(/engine/6000.3/script-reference/unityengine/textureformat)): Pixel data format to be used for the Cubemap.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Number of mipmaps to be created. Use TextureCreationFlags.MipChain to generate a full mipchain.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Use this flag to create the texture with uninitialized data. When overriding all texels anyway, this can lead to improved performance and reduced memory usage.

### Remarks

The texture will be `size` on each side and can be created with or without mipmaps.

Enable `createUninitialized` to make the texture reference uninitialized data (both on the CPU and GPU). When overriding all texels, this can lead to improved performance and reduced memory usage during construction. Note that sampling an uninitialized texture gives unpredictable values.

Usually you will want to set the colors of the texture after creating it, using [Cubemap.SetPixel](/engine/6000.3/script-reference/unityengine/cubemap/setpixel.md) and [Cubemap.Apply](/engine/6000.3/script-reference/unityengine/cubemap/apply.md) functions.

Note that this class does not support Cubemap creation from a script with a Crunch compression [TextureFormat](/engine/6000.3/script-reference/unityengine/textureformat.md).

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    public Cubemap texture;

    void Start()
    {
        // Create a new Cubemap texture.
        texture = new Cubemap(128, TextureFormat.RGBA32, false);
    }
}
```

Additional Resources: [Cubemap.SetPixel](/engine/6000.3/script-reference/unityengine/cubemap/setpixel.md), [Cubemap.Apply](/engine/6000.3/script-reference/unityengine/cubemap/apply.md) functions.
