Posts

Uploading File using UnityWebRequest

  string filePath = "/aaa/bbb/sample.csv" ; Dictionary < string , string > dataformFields = new Dictionary < string , string >(); dataformField. Add ( "serialnumber" , deviceSN); List < IMultipartFormSection > formData = new List < IMultipartFormSection >(); foreach ( string key in dataformField. Keys ) { formData. Add ( new MultipartFormDataSection (key, dataformField[key])); } if ( ! File . Exists (filePath)) { return ; } else { byte [] dataRaw = File . ReadAllBytes (filePath); formData. Add ( new MultipartFormFileSection (fileFieldName, dataRaw, fileName, null )); UnityWebRequest request = UnityWebRequest . Post (url, formData); yield return request. SendWebRequest (); if (request. isNetworkError ) { Debug . Log (request. error ); } else { Debug . Log (request. downloadHandler . text ); } }

Executing Post with Json

public IEnumerator Post ( string url, System . Object dataObject, Action < UnityWebRequest > callback) { string postData = JsonConvert . SerializeObject (dataObject); byte [] bodyRaw = GetBytes (postData); var request = new UnityWebRequest (url, "POST" ); request. uploadHandler = (UploadHandler) new UploadHandlerRaw (bodyRaw); request. downloadHandler = (DownloadHandler) new DownloadHandlerBuffer (); request. SetRequestHeader ( "Content-Type" , "application/json" ); request. SetRequestHeader ( "X-HTTP-Method-Override" , "POST" ); yield return request. SendWebRequest (); Debug . Log ( "Status Code: " + request. responseCode ); if (request. isNetworkError ) { Debug . Log (request. error ); } else { Debug . Log (request. downloadHandler . text ); } callback ? . Invoke (request); }

Courotines Common Yields

Wait for X Seconds yield return new WaitForSeconds( 5 );  // 5 seconds

Starting a Coroutine

 Inside a MonoBehaviour script call StartCoroutine. Create the Courotine method: private IEnumerator DoSomethingCourotine() {      // Do Something } Call that courotine method, by name:  StartCoroutine("DoSomethingCourotine"); With Parameters, create the Courotine method: IEnumerator DoSomethingCourotine(string doodle)  {      // Do Something } Call that courotine method,:  StartCoroutine(DoSomethingCourotine ("parameter") );