Unity Webgl in Angular giving object null reference error while using coroutine

Viewed 101

I have implemented Unity Webgl in Angular 11 (Followed this steps). I use SendMessage to communicate between Angular and Unity. I have coroutine function for wwwForm post. This works okay in Unity and simple webgl implementation but it gives error "NullReferenceException Object Reference not set to an instance of an object" immediate after calling coroutine(Angular build). Object is active in Unity where this script is attached.

Angular side code

        sample_btn.addEventListener('click', function () {
          var floor_num = 6;
          var building_name = 'Bldg';
          window.floor_num = floor_num;
          window.building_name = building_name;

          formData = new FormData();  
          formData.append('building_name', building_name);
          formData.append('floor_number', floor_num);
          unityInstance.SendMessage("Main Camera", "fetchFloorDesksData");
})
  

C#

    {      
       StartCoroutine(GetRequest());
//Getting error here
    }

    IEnumerator GetRequest()
    {
        WWWForm form = new WWWForm();
        form.AddField("building_name", buildingName);
        form.AddField("floor_number", floorNumber);
        //Debug.Log("Called Here");
        UnityWebRequest webRequest = UnityWebRequest.Post(url, form);
        yield return webRequest.SendWebRequest();
        Debug.Log(webRequest.downloadHandler.text);
        if (webRequest.isNetworkError || webRequest.isHttpError)
        {
            Debug.Log(webRequest.error);
        }
        else
        {
            desks = JsonUtility.FromJson<desks>("{\"data\":" + webRequest.downloadHandler.text + "}");
           startPlacement();
        }
    }```
1 Answers

I got this solved by using ngAfterViewInit() instead of ngOnInit().

Related