protected GameObject Instantiate(T control, C configuration, Component parent, bool active) { var prefab = configuration.bundleInfo != null ? AssetsController.GetAsset <GameObject>(configuration.bundleInfo, configuration.prefabName) : AssetsController.GetAsset <GameObject>(configuration.bundleId, configuration.prefabName); prefab.SetActive(active); var instance = Object.Instantiate(prefab, parent.transform); instance.name = control.name; return(instance); }