Please save me from going crazy.
No matter how many times I google, I always end up with (usually deprecated) versions of the following code:
IEnumerator setImage(string url) {
Texture2D texture = profileImage.canvasRenderer.GetMaterial().mainTexture as Texture2D;
WWW www = new WWW(url);
yield return www;
Debug.Log("Why on earh is this never called?");
www.LoadImageIntoTexture(texture);
www.Dispose();
www = null;
}
I'm using Unity 5 not 4. The URL I'm trying to load exists. Please shine some light on me.
How do I load an image over HTTP and display it in a UnityEngine.UI.Image?
Thanks to the question asked by Umair M, I figured out that this method needs to be called using unity's
StartCoroutine
.quick clarification: https://docs.unity3d.com/ScriptReference/MonoBehaviour.StartCoroutine.html
When you want to go async:
Usage example:
For Unity 2018+ use
UnityWebRequest
which replaces theWWW
class.