[AssetDatabase.AddObjectToAsset]层次乱序的问题解决
备忘用
1.目标层级结构
/A.asset
/B.asset
/C.asset
/D.asset
2.实际可能出现的情况
/A.asset ----> 这个是子资源D,但名字变成和主资源一样,且层级显示乱序
/B.asset
/C.asset
/A.asset ----> 这个才是主资源
3.解决方法
// 1.创建主资源
AssetDatabase.Create(A, assetPath)
// 2.添加子资源
AssetDatabase.AddObjectToAsset(B,A);
AssetDatabase.AddObjectToAsset(C,A);
AssetDatabase.AddObjectToAsset(D,A);
// 3.设置主资源
AssetDatabase.SetMainObject(A, assetPath);
// 4.存一下之前的修改
EditorUtility.SetDirty(A); // 标记A为脏数据
AssetDatabase.SaveAssets(); // 保存
AssetDatabase.Refresh(); // 刷新
// 5.Have a good day.