Version: Unity 6.1 Alpha (6000.1)
LanguageEnglish
  • C#

UnityWebRequestTexture.GetTexture

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Declaration

public static Networking.UnityWebRequest GetTexture(string uri);

Declaration

public static Networking.UnityWebRequest GetTexture(Uri uri);

Declaration

public static Networking.UnityWebRequest GetTexture(string uri, bool nonReadable);

Declaration

public static Networking.UnityWebRequest GetTexture(Uri uri, bool nonReadable);

Parameters

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.

Returns

UnityWebRequest A UnityWebRequest properly configured to download an image and convert it to a Texture.

Description

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); } } } }

Declaration

public static Networking.UnityWebRequest GetTexture(string uri, Networking.DownloadedTextureParams parameters);

Declaration

public static Networking.UnityWebRequest GetTexture(Uri uri, Networking.DownloadedTextureParams parameters);

Parameters

uri The URI of the image to download.
parameters Parameters specifying various properties of texture that will be created.

Returns

UnityWebRequest A UnityWebRequest properly configured to download an image and convert it to a Texture.

Description

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); } } } }