diff --git a/packages/kilonet/kilonet/Utils/VuplexHelper.cs b/packages/kilonet/kilonet/Utils/VuplexHelper.cs index d50de5dd3..1e4920842 100644 --- a/packages/kilonet/kilonet/Utils/VuplexHelper.cs +++ b/packages/kilonet/kilonet/Utils/VuplexHelper.cs @@ -12,9 +12,8 @@ namespace KBVE.Kilonet.Utils { public class VuplexHelper : MonoBehaviour { - public string CanvasObjectName = "Canvas"; - public string CanvasWebViewPrefabName = "CanvasWebViewPrefab"; - public string CanvasWebViewPrefabViewName = "CanvasWebViewPrefabView"; + public GameObject CanvasObject; + public GameObject CanvasWebViewPrefab; private CanvasWebViewPrefab _canvasWebViewPrefab; @@ -30,7 +29,7 @@ private void Start() { // Use UniTask to manage initialization InitializeWebView().Forget(); // Use UniTask's Forget to run async without awaiting - + InitializeSupabaseClientAsync().Forget(); // Initialize Supabase client asynchronously } catch (Exception ex) @@ -42,45 +41,31 @@ private void Start() private async UniTaskVoid InitializeWebView() { - GameObject canvasObject = GameObject.Find(CanvasObjectName); - if (canvasObject == null) + if (CanvasObject == null) { - Debug.LogError($"No GameObject found with the name {CanvasObjectName}"); + Debug.LogError("CanvasObject is not set in the Unity Editor."); return; } - Transform canvasWebViewPrefabTransform = canvasObject.transform.Find(CanvasWebViewPrefabName); - if (canvasWebViewPrefabTransform == null) + if (CanvasWebViewPrefab == null) { - Debug.LogError( - $"No GameObject found with the name {CanvasWebViewPrefabName} under {CanvasObjectName}." - ); + Debug.LogError("CanvasWebViewPrefab is not set in the Unity Editor."); return; } - Transform canvasWebViewPrefabViewTransform = canvasWebViewPrefabTransform.Find( - CanvasWebViewPrefabViewName - ); - if (canvasWebViewPrefabViewTransform == null) + // Attempt to locate the CanvasWebViewPrefabView inside CanvasWebViewPrefab + Transform prefabViewTransform = CanvasWebViewPrefab.transform.Find("CanvasWebViewPrefabView"); + if (prefabViewTransform == null) { - Debug.LogError( - $"No GameObject found with the name {CanvasWebViewPrefabViewName} under {CanvasWebViewPrefabName}." - ); + Debug.LogError("Failed to locate CanvasWebViewPrefabView inside CanvasWebViewPrefab."); return; } - _canvasWebViewPrefab = canvasWebViewPrefabViewTransform.GetComponent(); + _canvasWebViewPrefab = prefabViewTransform.GetComponent(); if (_canvasWebViewPrefab == null) { - _canvasWebViewPrefab = canvasWebViewPrefabTransform.GetComponent(); - - if (_canvasWebViewPrefab == null) - { - Debug.LogError( - "Failed to locate the CanvasWebViewPrefab component after multiple attempts." - ); - return; - } + Debug.LogError("CanvasWebViewPrefabView does not have a CanvasWebViewPrefab component."); + return; } await _canvasWebViewPrefab.WaitUntilInitialized(); @@ -89,6 +74,7 @@ private async UniTaskVoid InitializeWebView() Debug.Log("Vuplex CanvasWebView successfully initialized and ready to receive messages."); } + private async UniTaskVoid InitializeSupabaseClientAsync() { try