Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


DownloadHandlerTexture

A DownloadHandler subclass specialized for downloading images for use as Texture objects.
Read time 2 minutesLast updated 7 days ago

Definition

public sealed class DownloadHandlerTexture : DownloadHandler, IDisposable

Remarks

DownloadHandlerTexture
stores received data in a pre-allocated Unity Texture object. It's optimized for downloading images from web servers, and performs image decompression and decoding on a worker thread.
This download handler stores received data in a buffer and on download completion decodes the data into valid Unity Texture objects. If the texture is destroyed, it can be created again by the same
DownloadHandlerTexture
object.
The handler performs buffering, decompression and texture creation in native code. Additionally, decompression and texture creation are performed on a worker thread instead of the main thread, which can improve frame time when loading large textures.
DownloadHandlerTexture
only allocates managed memory when finally creating the Texture itself, which eliminates the garbage collection overhead associated with performing the byte-to-texture conversion in script.
For use cases where you wish to download an image via HTTP and use it as a Texture within Unity, usage of this class is strongly recommended.

Examples

using UnityEngine;using UnityEngine.UI;using UnityEngine.Networking;using System.Collections;[RequireComponent(typeof(Image))]public class ImageDownloader : MonoBehaviour { Image _img; void Start () { _img = GetComponent<UnityEngine.UI.Image>(); Download("https://www.mysite.com/myimage.png"); } public void Download(string url) { StartCoroutine(LoadFromWeb(url)); } IEnumerator LoadFromWeb(string url) { UnityWebRequest wr = new UnityWebRequest(url); DownloadHandlerTexture texDl = new DownloadHandlerTexture(true); wr.downloadHandler = texDl; yield return wr.SendWebRequest(); if (wr.result == UnityWebRequest.Result.Success) { Texture2D t = texDl.texture; Sprite s = Sprite.Create(t, new Rect(0, 0, t.width, t.height), Vector2.zero, 1f); _img.sprite = s; } }}

Constructors

Constructor

Description

DownloadHandlerTexture()Default constructor.
DownloadHandlerTexture(System.Boolean)Constructor, allows _isReadable property to be set.
DownloadHandlerTexture(UnityEngine.Networking.DownloadedTextureParams)Constructor that allows you to specify the full set of supported properties when creating a texture from a downloaded image.

Properties

Property

Description

textureReturns the downloaded Texture, or
null
. (Read Only)

Static Methods

Method

Description

GetContentReturns the downloaded Texture, or
null
.

Inheritance