public GameObject Convert(bool applyPatch = true, string tableName = null) { _applyPatch = applyPatch; CreateRootHierarchy(tableName); CreateFileHierarchy(); _tableComponent.LegacyContainer = ScriptableObject.CreateInstance <LegacyContainer>(); ExtractPhysicsMaterials(); ExtractTextures(); ExtractSounds(); SaveData(); SaveLegacyData(); var prefabLookup = InstantiateGameItems(); var componentLookup = UpdateGameItems(prefabLookup); FinalizeGameItems(componentLookup); FreeTextures(); ConfigurePlayer(componentLookup); // patch if (_applyPatch) { _patcher?.PostPatch(_tableGo); } return(_tableGo); }