using System; using UnityEngine; namespace Unity.Services.Lobbies.Scheduler { /// /// A convenience class for creating GameObjects for the SdkCore. /// /// As this uses the Unity API it is not thread-safe and must be called /// from the main thread. /// public static class GameObjectFactory { /// /// Creates a CoreSdk game object, which will contain all components required /// by the SDK. /// /// The CoreSdk game object. public static GameObject CreateCoreSdkGameObject() { var random = new System.Random(); string objectName = "_SdkCore-" + random.Next(0, Int32.MaxValue); var gameObject = new GameObject(objectName); #if UNITY_WEBGL gameObject.AddComponent(); #else gameObject.AddComponent(); #endif UnityEngine.Object.DontDestroyOnLoad(gameObject); return gameObject; } } }