diff --git a/Packages/systems.speckle.speckle-unity/ConverterUnity.Geometry.cs b/Packages/systems.speckle.speckle-unity/ConverterUnity.Geometry.cs index 4bb566e..c35cc22 100644 --- a/Packages/systems.speckle.speckle-unity/ConverterUnity.Geometry.cs +++ b/Packages/systems.speckle.speckle-unity/ConverterUnity.Geometry.cs @@ -1,6 +1,7 @@ using System; using Objects.Geometry; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Reflection; using Objects.Other; @@ -510,10 +511,13 @@ namespace Objects.Converter.Unity #if UNITY_EDITOR if (StreamManager.GenerateMaterials) { + string name = mat.name.Trim(Path.GetInvalidFileNameChars()); if (!AssetDatabase.IsValidFolder("Assets/Resources")) AssetDatabase.CreateFolder("Assets", "Resources"); if (!AssetDatabase.IsValidFolder("Assets/Resources/Materials")) AssetDatabase.CreateFolder("Assets/Resources", "Materials"); if (!AssetDatabase.IsValidFolder("Assets/Resources/Materials/Speckle Generated")) AssetDatabase.CreateFolder("Assets/Resources/Materials", "Speckle Generated"); - if (AssetDatabase.LoadAllAssetsAtPath("Assets/Resources/Materials/Speckle Generated/" + mat.name + ".mat").Length == 0) AssetDatabase.CreateAsset(mat, "Assets/Resources/Materials/Speckle Generated/" + mat.name + ".mat"); + + if (AssetDatabase.LoadAllAssetsAtPath("Assets/Resources/Materials/Speckle Generated/" + name + ".mat").Length == 0) AssetDatabase.CreateAsset(mat, "Assets/Resources/Materials/Speckle Generated/" + name + ".mat"); + } #endif diff --git a/Packages/systems.speckle.speckle-unity/RecursiveConverter.cs b/Packages/systems.speckle.speckle-unity/RecursiveConverter.cs index 4223ec2..9c2d571 100644 --- a/Packages/systems.speckle.speckle-unity/RecursiveConverter.cs +++ b/Packages/systems.speckle.speckle-unity/RecursiveConverter.cs @@ -131,7 +131,7 @@ namespace Speckle.ConnectorUnity //using the ApplicationPlaceholderObject to pass materials //available in Assets/Materials to the converters var materials = Resources.LoadAll("", typeof(Material)).Cast().ToArray(); - if (materials.Length == 0) Debug.Log("To automatically assign materials to recieved meshes, materials have to be in the \'Assets/Resources\' folder!"); + if (materials.Length == 0) Debug.Log("To automatically assign materials to received meshes, materials have to be in the \'Assets/Resources\' folder!"); var placeholderObjects = materials.Select(x => new ApplicationPlaceholderObject { NativeObject = x }).ToList(); ConverterInstance.SetContextObjects(placeholderObjects); }