Unity - Scripting API: VFX.VisualEffectAsset.GetExposedProperties
Success!
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
Submission failed
For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
Declaration
public void GetExposedProperties(List<VFXExposedProperty> exposedProperties);
Parameters
| Parameter | Description |
|---|---|
| exposedProperties | The List that this function populates with exposed properties. |
Description
Gets the name and type of every exposed property.
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."); } } }