Search Unity

AssetPreview.GetAssetPreview always returns null.

Discussion in 'Editor & General Support' started by charlie-peter, Feb 28, 2017.

  1. charlie-peter

    charlie-peter

    Joined:
    Dec 14, 2015
    Posts:
    9
    Hey All

    I'm working in Unity 5.5 and am trying to use AssetPreview.GetAssetPreview to retrieve thumbnails of my prefab objects that can be used in a menu.
    I know that AssetPreview.GetAssetPreview works asynchronously so I added the loop but it constantly gets stuck in a infinite loop. Never returning any of the Texture2Ds.

    Code (CSharp):
    1. void GetThumbnails()
    2. {
    3.         Object[] myPrefabs = Resources.LoadAll("Prefabs");
    4.  
    5.         AssetPreview.SetPreviewTextureCacheSize(myPrefabs.Length);
    6.  
    7.         for(int i = 0; i < myPrefabs.Length; ++i)
    8.         {
    9.             Texture2D ThumbnailTexture = AssetPreview.GetAssetPreview(myPrefabs[i]);
    10.  
    11.             bool breakout = false;
    12.  
    13.             while (AssetPreview.IsLoadingAssetPreview(myPrefabs[i].GetInstanceID()))
    14.             {
    15.                 Debug.Log("Loading Asset Preview");
    16.                 if (breakout)
    17.                     break;
    18.             }
    19.             Sprite tempSprite = Sprite.Create(ThumbnailTexture, new Rect(0, 0, ThumbnailTexture.width,                                                                                  ThumbnailTexture.height), new Vector2(0, 0), 100);
    20.             ThumbnailImages.Add(tempSprite);
    21. }
    P.S. Breakout is in there so when I'm debugging I don't have to Crtl-S***-Esc unity everytime it gets stuck in a loop.
     
    Last edited: Feb 28, 2017