uri | The URI of the image to download. |
nonReadable | If true, the texture's raw data will not be accessible to script. This can conserve memory. Default: false . |
UnityWebRequest A UnityWebRequest properly configured to download an image and convert it to a Texture.
Create a UnityWebRequest intended to download an image via HTTP GET and create a Texture based on the retrieved data.
This method creates a UnityWebRequest and sets the target URL to the string uri
argument. This method sets no other flags or custom headers.
This method attaches a DownloadHandlerTexture object to the UnityWebRequest. DownloadHandlerTexture is a specialized DownloadHandler which is optimized for storing images which are to be used as textures in the Unity Engine. Using this class significantly reduces memory reallocation compared to downloading raw bytes and creating a texture manually in script. In addition, texture conversion will be performed on a worker thread.
This method attaches no UploadHandler to the UnityWebRequest.
Please note that the texture will be created as if it stores color data (Additional resources: TextureImporter.sRGBTexture).
Note: Only JPG and PNG formats are supported.
using UnityEngine; using UnityEngine.Networking; using System.Collections;
public class MyBehaviour : MonoBehaviour { void Start() { StartCoroutine(GetText()); }
IEnumerator GetText() { using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture("https://www.my-server.com/myimage.png")) { yield return uwr.SendWebRequest();
if (uwr.result != UnityWebRequest.Result.Success) { Debug.Log(uwr.error); } else { // Get downloaded asset bundle var texture = DownloadHandlerTexture.GetContent(uwr); } } } }
uri | The URI of the image to download. |
parameters | Parameters specifying various properties of texture that will be created. |
UnityWebRequest A UnityWebRequest properly configured to download an image and convert it to a Texture.
Create a UnityWebRequest intended to download an image via HTTP GET and create a Texture based on the retrieved data.
Same as an overload with only uri
parameter, except that it allows more control over the properties of texture that will be created. For example, using this overload you can disable creation of mipmaps or use linear color space.
using System.Collections; using UnityEngine; using UnityEngine.Networking;
public class NewMonoBehaviourScript : MonoBehaviour { void Start() { StartCoroutine(GetText()); }
IEnumerator GetText() { // Use linear color space and reduce memory usage by disabling mipmaps and ability to read pixels var parameters = DownloadedTextureParams.Default; parameters.readable = false; parameters.mipmapChain = false; parameters.linearColorSpace = true; using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture("https://www.my-server.com/myimage.png", parameters)) { yield return uwr.SendWebRequest();
if (uwr.result != UnityWebRequest.Result.Success) { Debug.Log(uwr.error); } else { // Get downloaded asset bundle var texture = DownloadHandlerTexture.GetContent(uwr); } } } }