IEnumerator isDownloading(string url){
// Start a download of the given URL
var www = new WWW(url);
// wait until the download is done
yield return www;
// Create a texture in DXT1 format
Texture2D texture = new Texture2D(www.texture.width, www.texture.height, TextureFormat.DXT1, false);
// assign the downloaded image to sprite
www.LoadImageIntoTexture(texture);
Rect rec = new Rect(0, 0, texture.width, texture.height);
Sprite spriteToUse = Sprite.Create(texture,rec,new Vector2(0.5f,0.5f),100);
imageToDisplay.sprite = spriteToUse;
www.Dispose();
www = null;
}
Now in 2021 Unity recommend this code that is more efficient and also worked perfectly.
//PlayGamesPlatform.Instance.GetUserImageUrl() Used to get player Image from Google Play Games
using UnityEngine.Networking;
private IEnumerator GetPlayerImage(string url)
{
UnityWebRequest www = UnityWebRequestTexture.GetTexture(url);
yield return www.SendWebRequest();
Texture2D myTexture = DownloadHandlerTexture.GetContent(www);
Rect rec = new Rect(0, 0, myTexture.width, myTexture.height);
Sprite spriteToUse = Sprite.Create(myTexture, rec, new Vector2(0.5f, 0.5f), 100);
playerImage = spriteToUse;
}