private static UdonSharpDataLocator InitializeUdonSharpData() { if (!AssetDatabase.IsValidFolder(Path.GetDirectoryName(DEFAULT_DATA_PATH))) { AssetDatabase.CreateFolder("Assets", "UdonSharp"); } UdonSharpDataLocator locator = CreateInstance <UdonSharpDataLocator>(); AssetDatabase.CreateAsset(locator, DEFAULT_DATA_PATH); string utilsTargetPath = GetUtilitiesPath(locator); string utilsSourcePath = Path.Combine(UdonSharpLocator.SamplesPath, "Utilities"); if (Directory.Exists(utilsSourcePath)) { DeepCopyDirectory(utilsSourcePath, utilsTargetPath); } else { Debug.LogWarning("No utilities directory found to copy from for UdonSharp utility scripts"); } Debug.Log("Created UdonSharp data directory", locator); AssetDatabase.Refresh(); return(locator); }
private static string GetUtilitiesPath(UdonSharpDataLocator locator) { string locatorPath = AssetDatabase.GetAssetPath(locator); return(Path.Combine(Path.GetDirectoryName(locatorPath), "UtilityScripts")); }