From 2b6717a4c1ecc069e3f1b3f6c2916b342c4423fd Mon Sep 17 00:00:00 2001 From: Baran Kahyaoglu Date: Thu, 19 Mar 2026 15:19:18 +0300 Subject: [PATCH 1/2] add OnBeforeDisposeVolatileData virtual method add OnBeforeDisposeVolatileData virtual method to support extensibility in gltfimport subclasses --- .../Runtime/Scripts/GltfImport.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Packages/com.unity.cloud.gltfast/Runtime/Scripts/GltfImport.cs b/Packages/com.unity.cloud.gltfast/Runtime/Scripts/GltfImport.cs index 9205c7967..42f0d03a0 100755 --- a/Packages/com.unity.cloud.gltfast/Runtime/Scripts/GltfImport.cs +++ b/Packages/com.unity.cloud.gltfast/Runtime/Scripts/GltfImport.cs @@ -3086,11 +3086,20 @@ static string GetUniqueNodeName(RootBase gltf, uint index, ICollection e return name; } + /// + /// Called at the beginning of before buffers are freed. + /// Override to process import addon instances while data is still accessible. + /// + /// The import addon instances dictionary, may be null. + protected virtual void OnBeforeDisposeVolatileData(Dictionary importInstances) { } + /// /// Free up volatile loading resources /// async Task DisposeVolatileData() { + OnBeforeDisposeVolatileData(m_ImportInstances); + m_Buffers = null; m_BinChunks = null; From 1e8293428006542908c8b5f664099f04c9399851 Mon Sep 17 00:00:00 2001 From: Baran Kahyaoglu Date: Thu, 19 Mar 2026 16:30:49 +0300 Subject: [PATCH 2/2] remove dictionary parameter remove dictionary parameter OnBeforeDisposeVolatileData as subclasses can get addons using GetImportAddonInstance method --- .../com.unity.cloud.gltfast/Runtime/Scripts/GltfImport.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Packages/com.unity.cloud.gltfast/Runtime/Scripts/GltfImport.cs b/Packages/com.unity.cloud.gltfast/Runtime/Scripts/GltfImport.cs index 42f0d03a0..5b8b0187b 100755 --- a/Packages/com.unity.cloud.gltfast/Runtime/Scripts/GltfImport.cs +++ b/Packages/com.unity.cloud.gltfast/Runtime/Scripts/GltfImport.cs @@ -3088,17 +3088,16 @@ static string GetUniqueNodeName(RootBase gltf, uint index, ICollection e /// /// Called at the beginning of before buffers are freed. - /// Override to process import addon instances while data is still accessible. + /// Override to process data while it is still accessible. /// - /// The import addon instances dictionary, may be null. - protected virtual void OnBeforeDisposeVolatileData(Dictionary importInstances) { } + protected virtual void OnBeforeDisposeVolatileData() { } /// /// Free up volatile loading resources /// async Task DisposeVolatileData() { - OnBeforeDisposeVolatileData(m_ImportInstances); + OnBeforeDisposeVolatileData(); m_Buffers = null; m_BinChunks = null;