From 1e888db53a1b5f7716a8443818e18d93a329f0c3 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Thu, 22 Apr 2021 11:45:58 +0200 Subject: [PATCH] [unity] Prevent null reference exception when using `Advanced - Fix Draw Order` and disabling the renderer and/or GameObject. --- .../Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs index fc29fab9e..424f78212 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs @@ -690,6 +690,9 @@ namespace Spine.Unity { } for (int i = 0; i < meshRenderer.sharedMaterials.Length; ++i) { + if (!meshRenderer.sharedMaterials[i]) + continue; + if (!hasPerRendererBlock) meshRenderer.GetPropertyBlock(reusedPropertyBlock, i); // Note: this parameter shall not exist at any shader, then Unity will create separate // material instances (not in terms of memory cost or leakage).