Version: 2019.2
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

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

Parameters

uriThe URI of the image to download.
nonReadableIf 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 (See Also: TextureImporter.sRGBTexture). If you need to download linear data use ImageConversion.LoadImage.

Note: Only JPG and PNG formats are supported.
Note: UnityWebRequest.GetTexture is obsolete. Use UnityWebRequestTexture.GetTexture instead.

using UnityEngine;
using UnityEngine.Networking;
using System.Collections;

public class MyBehaviour : MonoBehaviour { void Start() { StartCoroutine(GetText()); }

IEnumerator GetText() { using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture("http://www.my-server.com/myimage.png")) { yield return uwr.SendWebRequest();

if (uwr.isNetworkError || uwr.isHttpError) { Debug.Log(uwr.error); } else { // Get downloaded asset bundle var texture = DownloadHandlerTexture.GetContent(uwr); } } } }