title: Unity game stops while coroutine running
body: <p>Unity(character movement and everything in current game scene) stops while downloading textures from web url.
  I'm using <code>Socket.IO</code> for online multiplayer.</p>
  <ol>
  <li>request 'map info' with socket.emit in <code>void Start()</code></li>
  <li>get 'map info' and create map entities with <code>Instantiate()</code></li>
  <li>get profile images(textures) from url and change texture of map entities</li>
  </ol>
  <pre class="lang-cs prettyprint-override"><code>IEnumerator DownloadImage(string MediaUrl, SpriteRenderer spr) {
      // check if url is malformed
      if (MediaUrl == null || MediaUrl.Contains(&quot;Null&quot;)) {
          yield break;
      }
  
      UnityWebRequest request = UnityWebRequestTexture.GetTexture(MediaUrl);
      yield return request.SendWebRequest();
  
      if (request.result == UnityWebRequest.Result.ConnectionError || request.result == UnityWebRequest.Result.DataProcessingError || request.result == UnityWebRequest.Result.ProtocolError)
          Debug.Log(request.error);
      else {
          Texture2D tex = ((DownloadHandlerTexture)request.downloadHandler).texture;
  
          spr.sprite = Sprite.Create(tex, new Rect(0.0f, 0.0f, tex.width, tex.height), new Vector2(0.5f, 0.5f), tex.width / 2f);
      }
  }
  </code></pre>
  <p>Is there a way to keep game running with user interactions(character movement or button actions) while downloading textures?</p>