Skip to content

Commit

Permalink
chore: try to fix test???
Browse files Browse the repository at this point in the history
  • Loading branch information
bdunderscore committed Feb 17, 2025
1 parent b38e49d commit 02168b2
Showing 1 changed file with 21 additions and 4 deletions.
25 changes: 21 additions & 4 deletions Editor/API/Serialization/AssetSaver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ internal AssetSaver(string generatedAssetsRoot, string avatarName, int assetsPer
var rootAssetPath = AssetDatabase.GenerateUniqueAssetPath(rootPath + "/" + avatarName + ".asset");
_rootAsset = ScriptableObject.CreateInstance<GeneratedAssets>();
AssetDatabase.CreateAsset(_rootAsset, rootAssetPath);
_currentSubContainer = CreateAssetContainer();
_currentSubContainer = CreateAssetContainer(inAssetEditing: true);

_assetCount = 0;
}
Expand Down Expand Up @@ -116,12 +116,29 @@ public void SaveAsset(UnityEngine.Object? obj)
_assetCount++;
}

private SubAssetContainer CreateAssetContainer(string name = "assets")
private SubAssetContainer CreateAssetContainer(string name = "assets", bool inAssetEditing = false)
{
var subContainerPath = AssetDatabase.GenerateUniqueAssetPath(subAssetPath + "/" + name + ".asset");
var subContainer = ScriptableObject.CreateInstance<SubAssetContainer>();
AssetDatabase.CreateAsset(subContainer, subContainerPath);

try
{
AssetDatabase.CreateAsset(subContainer, subContainerPath);
}
catch (UnityException e)
{
// Sometimes this fails with "Global asset import parameters have been changed during import.
// Importing is restarted." - in this case, try creating it a second time
Debug.Log("Retrying asset creation due to " + e);

if (inAssetEditing)
{
AssetDatabase.StopAssetEditing();
AssetDatabase.StartAssetEditing();
}

AssetDatabase.CreateAsset(subContainer, subContainerPath);
}

_containers.Add(subContainer);

return subContainer;
Expand Down

0 comments on commit 02168b2

Please sign in to comment.