public void OnPreprocessBuild(BuildReport report) { // Always remember to cleanup preloaded assets after build to make sure we don't // dirty later builds with assets that may not be needed or are out of date. CleanOldSettings(); PlayerIdentityGeneralSettingsPerBuildTarget buildTargetSettings = null; EditorBuildSettings.TryGetConfigObject(PlayerIdentityGeneralSettings.k_SettingsKey, out buildTargetSettings); if (buildTargetSettings == null) { return; } PlayerIdentityGeneralSettings settings = buildTargetSettings.SettingsForBuildTarget(report.summary.platformGroup); if (settings == null) { return; } UnityEngine.Object[] preloadedAssets = PlayerSettings.GetPreloadedAssets(); if (!preloadedAssets.Contains(settings)) { var assets = preloadedAssets.ToList(); assets.Add(settings); PlayerSettings.SetPreloadedAssets(assets.ToArray()); } }
static void PlayModeStateChanged(PlayModeStateChange state) { PlayerIdentityGeneralSettingsPerBuildTarget buildTargetSettings = null; EditorBuildSettings.TryGetConfigObject(PlayerIdentityGeneralSettings.k_SettingsKey, out buildTargetSettings); if (buildTargetSettings == null) { return; } PlayerIdentityGeneralSettings instance = buildTargetSettings.SettingsForBuildTarget(BuildTargetGroup.Standalone); if (instance == null || !instance.InitManagerOnStart) { return; } instance.InternalPlayModeStateChanged(state); }