private static void SetupMicroSplatMaterial(DiggerSystem diggerSystem) { var microSplat = diggerSystem.Terrain.GetComponent <MicroSplatTerrain>(); if (!microSplat) { Debug.LogError($"Could not find MicroSplatTerrain on terrain {diggerSystem.Terrain.name}"); return; } var microSplatShader = MicroSplatUtilities.GetDiggerShader(microSplat); if (microSplatShader == null) { Debug.LogError($"Could not find MicroSplat Digger shader"); return; } var material = new Material(microSplatShader); material.CopyPropertiesFromMaterial(microSplat.matInstance); var matPath = Path.Combine(diggerSystem.BasePathData, $"diggerMicroSplat.mat"); material = EditorUtils.CreateOrReplaceAsset(material, matPath); AssetDatabase.ImportAsset(matPath, ImportAssetOptions.ForceUpdate); diggerSystem.Materials[0] = material; }