Version: 2020.3
LanguageEnglish
  • C#
Method group is Obsolete

WWW.texture

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

Obsolete Use UnityWebRequest, a fully featured replacement which is more efficient and has additional features. public Texture2D texture;

Description

Returns a Texture2D generated from the downloaded data (Read Only).

The data must be an image in JPG or PNG format. If the data is not a valid image, the generated texture will be a small image of a question mark. It is recommended to use power-of-two size for each dimension of the image; arbitrary sizes will also work but can load slightly slower and take up a bit more memory. Each invocation of texture property allocates a new Texture2D. If you continously download textures you must use LoadImageIntoTexture or Destroy the previously created texture.

For PNG files, gamma correction is applied to the texture if PNG file contains gamma information. Display gamma for correction is assumed to be 2.0. If file does not contain gamma information, no color correction will be performed.

JPG files are loaded into RGB24 format, PNG files are loaded into ARGB32 format. If you want to DXT-compress the downloaded image, use LoadImageIntoTexture instead.

If the object has not finished downloading the data a dummy image will be returned. Use isDone or yield to see if the data is available.

using UnityEngine;
using System.Collections;

// Get the latest webcam shot from outside "Friday's" in Times Square public class ExampleClass : MonoBehaviour { public string url = "https://images.earthcam.com/ec_metros/ourcams/fridays.jpg";

IEnumerator Start() { // Start a download of the given URL using (WWW www = new WWW(url)) { // Wait for download to complete yield return www;

// assign texture Renderer renderer = GetComponent<Renderer>(); renderer.material.mainTexture = www.texture; } } }

Note: The WWW.texture property allocates a new Texture2D every time it is called. Therefore, it is important to always assign the result to a local variable so that it can later be freed using Destroy().

The call to www.texture allocates a new texture, but the texture is never deallocated because no local reference to it exists.

Alternatively, use WWW.LoadImageIntoTexture.