From aa69e18d8fe6f923784bcb18af58afa3e3bbfdc4 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 10 Mar 2026 22:39:07 +0000 Subject: [PATCH 1/2] FIX: Standardised lowercase VFX extension import --- .../Editor/GraphView/Elements/VFXDataAnchor.cs | 3 ++- .../Editor/Inspector/VFXAssetEditor.cs | 6 +++--- .../Editor/TemplateWindow/VFXTemplateHelperInternal.cs | 2 +- Packages/com.unity.visualeffectgraph/Editor/VFXAnalytics.cs | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Packages/com.unity.visualeffectgraph/Editor/GraphView/Elements/VFXDataAnchor.cs b/Packages/com.unity.visualeffectgraph/Editor/GraphView/Elements/VFXDataAnchor.cs index 7c4ba30341a..668d1ef49a9 100644 --- a/Packages/com.unity.visualeffectgraph/Editor/GraphView/Elements/VFXDataAnchor.cs +++ b/Packages/com.unity.visualeffectgraph/Editor/GraphView/Elements/VFXDataAnchor.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Linq; @@ -401,7 +402,7 @@ bool ProviderFilter(IVFXModelDescriptor descriptor) if (descriptor.modelType == typeof(VisualEffectSubgraphOperator)) { var path = (string)descriptor.variant.settings.Single(x => x.Key == "path").Value; - if (!path.StartsWith(VisualEffectAssetEditorUtility.templatePath) && path.EndsWith(VisualEffectSubgraphOperator.Extension)) + if (!path.StartsWith(VisualEffectAssetEditorUtility.templatePath) && path.EndsWith(VisualEffectSubgraphOperator.Extension, StringComparison.OrdinalIgnoreCase)) { var subGraph = AssetDatabase.LoadAssetAtPath(path); if (subGraph != null && (!controller.viewController.model.isSubgraph || !subGraph.GetResource().GetOrCreateGraph().subgraphDependencies.Contains(controller.viewController.model.subgraph) && subGraph.GetResource() != controller.viewController.model)) diff --git a/Packages/com.unity.visualeffectgraph/Editor/Inspector/VFXAssetEditor.cs b/Packages/com.unity.visualeffectgraph/Editor/Inspector/VFXAssetEditor.cs index d1b5f093475..c3c9759ff8e 100644 --- a/Packages/com.unity.visualeffectgraph/Editor/Inspector/VFXAssetEditor.cs +++ b/Packages/com.unity.visualeffectgraph/Editor/Inspector/VFXAssetEditor.cs @@ -25,7 +25,7 @@ void OnPreprocessAsset() { if (!allowExternalization) return; - bool isVFX = assetPath.EndsWith(VisualEffectResource.Extension); + bool isVFX = assetPath.EndsWith(VisualEffectResource.Extension, StringComparison.OrdinalIgnoreCase); if (isVFX) { string vfxName = Path.GetFileNameWithoutExtension(assetPath); @@ -49,7 +49,7 @@ void OnPreprocessAsset() foreach (var shaderPath in Directory.GetFiles(shaderDirectory)) { - if (shaderPath.EndsWith(k_ShaderExt)) + if (shaderPath.EndsWith(k_ShaderExt, StringComparison.OrdinalIgnoreCase)) { System.IO.StreamReader file = new System.IO.StreamReader(shaderPath); @@ -144,7 +144,7 @@ public static bool OnOpenVFX(EntityId entityId, int line) else if (obj is Material || obj is Shader || obj is ComputeShader) { var path = AssetDatabase.GetAssetPath(entityId); - if (path.EndsWith(VisualEffectResource.Extension)) + if (path.EndsWith(VisualEffectResource.Extension, StringComparison.OrdinalIgnoreCase)) { var resource = VisualEffectResource.GetResourceAtPath(path); if (resource != null) diff --git a/Packages/com.unity.visualeffectgraph/Editor/TemplateWindow/VFXTemplateHelperInternal.cs b/Packages/com.unity.visualeffectgraph/Editor/TemplateWindow/VFXTemplateHelperInternal.cs index f11efdf2912..aa5554afd0a 100644 --- a/Packages/com.unity.visualeffectgraph/Editor/TemplateWindow/VFXTemplateHelperInternal.cs +++ b/Packages/com.unity.visualeffectgraph/Editor/TemplateWindow/VFXTemplateHelperInternal.cs @@ -124,7 +124,7 @@ public void RaiseTemplateUsed(GraphViewTemplateDescriptor usedTemplate) internal static bool TryGetTemplateStatic(string vfxPath, out GraphViewTemplateDescriptor graphViewTemplate) { // Can happen because the search engine sometimes finds prefabs - if (!vfxPath.EndsWith(VisualEffectResource.Extension)) + if (!vfxPath.EndsWith(VisualEffectResource.Extension, StringComparison.OrdinalIgnoreCase)) { graphViewTemplate = default; return false; diff --git a/Packages/com.unity.visualeffectgraph/Editor/VFXAnalytics.cs b/Packages/com.unity.visualeffectgraph/Editor/VFXAnalytics.cs index cf6e64f08b9..29594435bd6 100644 --- a/Packages/com.unity.visualeffectgraph/Editor/VFXAnalytics.cs +++ b/Packages/com.unity.visualeffectgraph/Editor/VFXAnalytics.cs @@ -340,7 +340,7 @@ private void OnPostprocessBuildInternal(IBuildReport report) var assetsCount = 0; foreach (var sourceAssetPath in report.packedAssetsInfoPath.Distinct()) { - if (sourceAssetPath.EndsWith(".vfx", StringComparison.OrdinalIgnoreCase)) + if (sourceAssetPath.EndsWith(VisualEffectResource.Extension, StringComparison.OrdinalIgnoreCase)) { assetsCount++; } From 8b4efa9c7be6338b125d68c9e2d697ff1dd2d777 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 10 Mar 2026 22:58:39 +0000 Subject: [PATCH 2/2] Updated changelog --- Packages/com.unity.visualeffectgraph/CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Packages/com.unity.visualeffectgraph/CHANGELOG.md b/Packages/com.unity.visualeffectgraph/CHANGELOG.md index d790b4c69ba..1bb89b98d71 100644 --- a/Packages/com.unity.visualeffectgraph/CHANGELOG.md +++ b/Packages/com.unity.visualeffectgraph/CHANGELOG.md @@ -14,6 +14,9 @@ The version number for this package has increased due to a version update of a r This version is compatible with Unity 6000.6.0a7. +## Fixed +- Fixed case sensitivity for VFX Graph asset file extensions. + For the release notes, refer to the [Unity download archive](https://unity.com/releases/editor/archive). ## [17.4.0] - 2025-10-22