From a458bde8fe58c32266da48914f4665ecd71b1b95 Mon Sep 17 00:00:00 2001 From: Anonymous2585 Date: Tue, 28 Apr 2026 16:55:02 +0200 Subject: [PATCH] fix: materials variants component initialization (#47) --- .../Editor/Scripts/MaterialsVariantsComponentInspector.cs | 4 ++-- .../Scripts/MaterialsVariants/MaterialsVariantsControl.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Packages/com.unity.cloud.gltfast/Editor/Scripts/MaterialsVariantsComponentInspector.cs b/Packages/com.unity.cloud.gltfast/Editor/Scripts/MaterialsVariantsComponentInspector.cs index dbf02239c..33c7d8cc2 100644 --- a/Packages/com.unity.cloud.gltfast/Editor/Scripts/MaterialsVariantsComponentInspector.cs +++ b/Packages/com.unity.cloud.gltfast/Editor/Scripts/MaterialsVariantsComponentInspector.cs @@ -18,9 +18,9 @@ class MaterialsVariantsComponentInspector : UnityEditor.Editor public override VisualElement CreateInspectorGUI() { + var control = (target as MaterialsVariantsComponent)?.Control; if (m_VariantNames == null) { - var control = (target as MaterialsVariantsComponent)?.Control; if (control != null) { var count = control.MaterialsVariantsCount; @@ -45,7 +45,7 @@ public override VisualElement CreateInspectorGUI() else { m_Dropdown.choices = m_VariantNames; - m_Dropdown.index = 0; + m_Dropdown.index = control != null ? control.CurrentVariantIndex + 1: 0; m_Dropdown.RegisterValueChangedCallback(OnMaterialsVariantChanged); myInspector.Add(m_Dropdown); } diff --git a/Packages/com.unity.cloud.gltfast/Runtime/Scripts/MaterialsVariants/MaterialsVariantsControl.cs b/Packages/com.unity.cloud.gltfast/Runtime/Scripts/MaterialsVariants/MaterialsVariantsControl.cs index 49c0f8563..cd88b2681 100644 --- a/Packages/com.unity.cloud.gltfast/Runtime/Scripts/MaterialsVariants/MaterialsVariantsControl.cs +++ b/Packages/com.unity.cloud.gltfast/Runtime/Scripts/MaterialsVariants/MaterialsVariantsControl.cs @@ -18,7 +18,7 @@ public class MaterialsVariantsControl : IMaterialsVariantsProvider IMaterialProvider m_MaterialProvider; IReadOnlyCollection m_Slots; - int m_CurrentVariantIndex; + public int CurrentVariantIndex { get; private set; } = -1; internal MaterialsVariantsControl(IMaterialProvider materialProvider, IReadOnlyCollection slots) { @@ -42,7 +42,7 @@ public async Task ApplyMaterialsVariantAsync(int variantIndex, CancellationToken } await Task.WhenAll(tasks); - m_CurrentVariantIndex = variantIndex; + CurrentVariantIndex = variantIndex; } ///