Ну ладно, попытаюсь вешать все ScriptableObject на один ассет.
Создаю этот ассет из объекта List(:ScriptableObject), все нормально.
List list = ScriptableObject.CreateInstance<List>();
list.name = "New List";
AssetDatabase.CreateAsset(list, "Assets/New List.asset");
Затем добавляю к нему другие объекты ScriptableObject.
AssetDatabase.AddObjectToAsset(newObject, list);
И получается с иерархией полный бред.
Мой New List перемещается вглубь иерархии, а рутовым остается какая-то пустышка с тем же именем New List.
Почему так?