diff --git forkSrcPrefix/Assets/08 Plugins/Stylized Water 3/Runtime/WaveProfile.cs forkDstPrefix/Assets/08 Plugins/Stylized Water 3/Runtime/WaveProfile.cs
index 5a37e4207a3e3fc19171bd2ab817a9b2bbd0f58d..d46bdea20a472669e8f98c4c631daa34aa0150cd 100644
--- forkSrcPrefix/Assets/08 Plugins/Stylized Water 3/Runtime/WaveProfile.cs	
+++ forkDstPrefix/Assets/08 Plugins/Stylized Water 3/Runtime/WaveProfile.cs	
@@ -204,18 +204,13 @@ namespace StylizedWater3
         public void UpdateShaderParameters()
         {
             if (layers.Length == 0) return;
-                
-            shaderParametersLUT = CreateLookUpTable();
-            shaderParametersLUT.hideFlags = HideFlags.NotEditable;
-            shaderParametersLUT.name = this.name + " Shader Parameters";
-            
+
             #if UNITY_EDITOR
             string path = AssetDatabase.GetAssetPath(this);
 
             if (path == string.Empty) return;
             
             Texture2D file = (Texture2D)AssetDatabase.LoadAssetAtPath(path, typeof(Texture2D));
-
             if (file == null)
             {
                 Object mainAsset = (WaveProfile)AssetDatabase.LoadAssetAtPath(path, typeof(WaveProfile));
@@ -229,23 +224,16 @@ namespace StylizedWater3
                 //Reference serialized texture asset
                 shaderParametersLUT = (Texture2D)AssetDatabase.LoadAssetAtPath(path, typeof(Texture2D));
             }
-            else
-            {
-                EditorUtility.CopySerialized(shaderParametersLUT, file);
-                file.name = shaderParametersLUT.name;
-            }
- 
-            //Reference serialized texture asset on disk
-            shaderParametersLUT = file;
+            else 
+                shaderParametersLUT = file;
             #endif
+
+            CreateLookUpTable(shaderParametersLUT);
         }
 
         //Having a total of 8 float4 components, 2 rows are required to store them.
         private const int LUT_ROWS = 2;
 
-        // TERMINUS MODIFICATION: cached LUT texture to avoid allocation every update
-        [NonSerialized] private Texture2D m_cachedLUT;
-
         //Settings for a wave layer, converted for GPU use
         public struct WaveParameters
         {
@@ -258,7 +246,7 @@ namespace StylizedWater3
             public uint enabled;
         };
         
-        private Texture2D CreateLookUpTable()
+        private Texture2D CreateLookUpTable(Texture2D texture = null)
         {
             int layerCount = layers.Length;
 
@@ -268,12 +256,7 @@ namespace StylizedWater3
             }
 
             // TERMINUS MODIFICATION: reuse existing texture when dimensions match
-            Texture2D texture;
-            if (m_cachedLUT != null && m_cachedLUT.width == layerCount && m_cachedLUT.height == LUT_ROWS)
-            {
-                texture = m_cachedLUT;
-            }
-            else
+            if (texture == null)
             {
                 //16-bit precision since values can exceed 1
                 texture = new Texture2D(layerCount, LUT_ROWS, TextureFormat.RGBAHalf, false, true)
@@ -281,7 +264,6 @@ namespace StylizedWater3
                     filterMode = FilterMode.Point,
                     wrapMode = TextureWrapMode.Clamp,
                 };
-                m_cachedLUT = texture;
             }
 
             //The summed steepness must never exceed a value of 1 in the final calculations
@@ -305,7 +287,7 @@ namespace StylizedWater3
                 texture.SetPixel(x, 1, row1);
             }
 
-            texture.Apply();
+            texture.Apply(false);
 
             return texture;
         }
