using System; using UnityEngine; using UnityEngine.SceneManagement; namespace MLAgents { public class Startup: MonoBehaviour { private const string SceneVariableName = "SCENE_NAME"; private void Awake() { var sceneName = Environment.GetEnvironmentVariable(SceneVariableName); SwitchScene(sceneName); } private static void SwitchScene(string sceneName) { if (sceneName == null) { throw new ArgumentException( $"You didn't specified the {SceneVariableName} environment variable"); } if (SceneUtility.GetBuildIndexByScenePath(sceneName) < 0) { throw new ArgumentException( $"The scene {sceneName} doesn't exist within your build. "); } SceneManager.LoadSceneAsync(sceneName); } } }