# GetTextureDimension

> Gets the TextureDimension of a named exposed Texture.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.VFX](/engine/6000.7/script-reference/unityengine/vfx.md)
* **Assembly:** UnityEngine.VFXModule

## GetTextureDimension(int)

Gets the [TextureDimension](/engine/6000.7/script-reference/unityengine/rendering/texturedimension.md) of a named exposed Texture.

```csharp
public TextureDimension GetTextureDimension(int nameID)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The ID of the property. This is the same ID that [Shader.PropertyToID](/engine/6000.7/script-reference/unityengine/shader/propertytoid.md) returns.

### Returns

| Type                                                                                          | Description |
| --------------------------------------------------------------------------------------------- | ----------- |
| [TextureDimension](/engine/6000.7/script-reference/unityengine/rendering/texturedimension.md) |             |

### Remarks

This example logs detailed information regarding all exposed properties:

Additional Resources: [VisualEffectAsset.GetExposedProperties](/engine/6000.7/script-reference/unityengine/vfx/visualeffectasset/getexposedproperties.md), [VisualEffectAsset.GetExposedSpace](/engine/6000.7/script-reference/unityengine/vfx/visualeffectasset/getexposedspace.md), [VisualEffectAsset.GetTextureDimension](/engine/6000.7/script-reference/unityengine/vfx/visualeffectasset/gettexturedimension.md)

### Examples

```csharp
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.VFX;

[ExecuteInEditMode]
class LogExposedProperties : MonoBehaviour
{
	// Called when the script or GameObject is enabled
    void OnEnable()
    {
        VisualEffect vfx = GetComponent<VisualEffect>();
        if (vfx != null && vfx.visualEffectAsset != null)
        {
            VisualEffectAsset vfxAsset = vfx.visualEffectAsset;
            var exposedProperties = new List<VFXExposedProperty>();

            // Retrieve all exposed properties from the VisualEffectAsset and store them in the list
            vfxAsset.GetExposedProperties(exposedProperties);

            if (exposedProperties.Count == 0)
            {
                Debug.Log($"There are no exposed properties for asset: {vfxAsset}");
            }

            foreach (var exposedProperty in exposedProperties)
            {
                // Retrieve additional details about the exposed property
                VFXSpace space = vfxAsset.GetExposedSpace(exposedProperty.name);
                TextureDimension texDim = vfxAsset.GetTextureDimension(exposedProperty.name);

                string log = $"{exposedProperty.name}, {exposedProperty.type}";
                if (space != VFXSpace.None)
                {
                    log += $", {space}";
                }
                if (texDim != TextureDimension.Unknown)
                {
                    log += $", {texDim}";
                }
                Debug.Log(log);
            }
        }
        else
        {
            Debug.Log("Unable to retrieve VisualEffect component or VisualEffectAsset is null.");
        }
    }
}
```

## GetTextureDimension(string)

Gets the [TextureDimension](/engine/6000.7/script-reference/unityengine/rendering/texturedimension.md) of a named exposed Texture.

```csharp
public TextureDimension GetTextureDimension(string name)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the property.

### Returns

| Type                                                                                          | Description |
| --------------------------------------------------------------------------------------------- | ----------- |
| [TextureDimension](/engine/6000.7/script-reference/unityengine/rendering/texturedimension.md) |             |

### Remarks

This example logs detailed information regarding all exposed properties:

Additional Resources: [VisualEffectAsset.GetExposedProperties](/engine/6000.7/script-reference/unityengine/vfx/visualeffectasset/getexposedproperties.md), [VisualEffectAsset.GetExposedSpace](/engine/6000.7/script-reference/unityengine/vfx/visualeffectasset/getexposedspace.md), [VisualEffectAsset.GetTextureDimension](/engine/6000.7/script-reference/unityengine/vfx/visualeffectasset/gettexturedimension.md)

### Examples

```csharp
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.VFX;

[ExecuteInEditMode]
class LogExposedProperties : MonoBehaviour
{
	// Called when the script or GameObject is enabled
    void OnEnable()
    {
        VisualEffect vfx = GetComponent<VisualEffect>();
        if (vfx != null && vfx.visualEffectAsset != null)
        {
            VisualEffectAsset vfxAsset = vfx.visualEffectAsset;
            var exposedProperties = new List<VFXExposedProperty>();

            // Retrieve all exposed properties from the VisualEffectAsset and store them in the list
            vfxAsset.GetExposedProperties(exposedProperties);

            if (exposedProperties.Count == 0)
            {
                Debug.Log($"There are no exposed properties for asset: {vfxAsset}");
            }

            foreach (var exposedProperty in exposedProperties)
            {
                // Retrieve additional details about the exposed property
                VFXSpace space = vfxAsset.GetExposedSpace(exposedProperty.name);
                TextureDimension texDim = vfxAsset.GetTextureDimension(exposedProperty.name);

                string log = $"{exposedProperty.name}, {exposedProperty.type}";
                if (space != VFXSpace.None)
                {
                    log += $", {space}";
                }
                if (texDim != TextureDimension.Unknown)
                {
                    log += $", {texDim}";
                }
                Debug.Log(log);
            }
        }
        else
        {
            Debug.Log("Unable to retrieve VisualEffect component or VisualEffectAsset is null.");
        }
    }
}
```
