private IEnumerator loadNotificationPrefab() { PrefabContentKey prefabLocation = notificationData.PrefabLocation; if (prefabLocation == null || string.IsNullOrEmpty(prefabLocation.Key)) { prefabLocation = TrayNotificationManager.NonDisruptiveNotificationContentKey; } AssetRequest <GameObject> asset = Content.LoadAsync(prefabLocation); yield return(asset); GameObject loadedGameObject = UnityEngine.Object.Instantiate(asset.Asset); loadedGameObject.transform.SetParent(notificationParentTransform, worldPositionStays: false); notification = loadedGameObject.GetComponent <TrayNotification>(); if (notification == null) { throw new NullReferenceException("Unable to retrieve TrayNotification component in asset. Please check path: " + notificationData.PrefabLocation); } TrayNotification trayNotification = notification; trayNotification.ENotificationCompleted = (Action <NotificationCompleteEnum>)Delegate.Combine(trayNotification.ENotificationCompleted, new Action <NotificationCompleteEnum>(notificationTrayComplete)); notification.Show(notificationData); if (NotificationCreated != null) { NotificationCreated(notification); } }