ppo-Pyramids-Training / com.unity.ml-agents /Editor /MLAgentsSettingsBuildProvider.cs
AnnaMats's picture
Second Push
05c9ac2
using System.Linq;
using UnityEngine;
using UnityEditor;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
namespace Unity.MLAgents.Editor
{
internal class MLAgentsSettingsBuildProvider : IPreprocessBuildWithReport, IPostprocessBuildWithReport
{
public int callbackOrder => 0;
public void OnPreprocessBuild(BuildReport report)
{
if (!EditorUtility.IsPersistent(MLAgentsSettingsManager.Settings))
return;
var preloadedAssets = PlayerSettings.GetPreloadedAssets().ToList();
if (!preloadedAssets.Contains(MLAgentsSettingsManager.Settings))
{
preloadedAssets.Add(MLAgentsSettingsManager.Settings);
PlayerSettings.SetPreloadedAssets(preloadedAssets.ToArray());
}
}
public void OnPostprocessBuild(BuildReport report)
{
var preloadedAssets = PlayerSettings.GetPreloadedAssets().ToList();
if (preloadedAssets.Contains(MLAgentsSettingsManager.Settings))
{
preloadedAssets.Remove(MLAgentsSettingsManager.Settings);
PlayerSettings.SetPreloadedAssets(preloadedAssets.ToArray());
}
}
}
}