LoadImageIntoTexture on iPhone from the device disk

Hello all,

I am loading a texture from the iphone disk but I am always getting a question mark or black texture. On the editor works perfect. Here is my code:

WWW www = new WWW("file://" + ConfigGame.GetiPhoneDocumentsPath() + "/ExtraLevels/World3/WorldSelectionWorld4.png");
    m_TextureWorld[3] = new Texture2D(256, 256, TextureFormat.RGB24, false);
    www.LoadImageIntoTexture(m_TextureWorld[3]);

What am I doing wrong? The texture is a png and in RGB24 and everything just looks fine!!

1 Answer

1

You need to wait for the download to complete -- even though the file is on your local disk, there is still time involved to access the file system and load the texture, and the WWW class goes through its normal asynchronous operations.

You should run the code fragment above in a coroutine, and "yield www;" to wait for it to finish.

See the docs for more info.

Thanks now it is working! I read in some forum thread that if the www file you are downloading was from a local path we do not need to yield, but we need it!! thanks :)

Glad it worked. Please mark this as the correct answer, thanks!

I know this is very old, but I'm already using the yield command, and it still return me a black texture (only on iOS; on Mac editor it's working fine)...