- Home /
How to get Project view's preview icon size?
I found out that I needed to rotate prefab previews, so I digged and found out a bunch of dead threads with no answers or long time gone assets.
RuntimePreviewGenerator is still in the assetstore and working, but there also an existing PreviewRenderUtility
After some fiddling I ended up with this:
 using System;
 using System.Collections;
 using System.Collections.Generic;
 using UnityEditor;
 using UnityEngine;
 
 public class ThumbnailFix : Editor
 {
     static string[] pathsToAlterAssetsIn = { @"Assets/Prefabs/" };
 
     static Dictionary<string, Texture2D> cachedPreviews = new Dictionary<string, Texture2D>();
     static bool enabled;
 
     [MenuItem("Tools/Fix Thumbnails in Resources")]
     private static void FixThumbnail()
     {
         if (!enabled)
         {
             RuntimePreviewGenerator.OrthographicMode = true;
             RuntimePreviewGenerator.PreviewDirection = new Vector3(0,-.3f,1);
 
             EditorApplication.projectWindowItemOnGUI += DrawThumbnail;
             //TODO use default tool for previews: PreviewRenderUtility 
         }
         else
         {
             EditorApplication.projectWindowItemOnGUI -= DrawThumbnail;
         }
         enabled = !enabled;
     }
 
     private static void DrawThumbnail(string guid, Rect selectionRect)
     {
         var filename = AssetDatabase.GUIDToAssetPath(guid);
 
         if (pathsToAlterAssetsIn.FirstOrDefault(s => filename.StartsWith(s)) == null)
             return;
 
         var t = AssetDatabase.GetMainAssetTypeAtPath(filename);
         if (t == typeof(GameObject) &&
             AssetDatabase.LoadMainAssetAtPath(filename) is GameObject prefab &&
             PrefabUtility.IsPartOfPrefabAsset(prefab))
         {
             if (!cachedPreviews.ContainsKey(guid))
                 cachedPreviews.Add(guid, RuntimePreviewGenerator.GenerateModelPreview(prefab.transform));
             GUI.DrawTexture(selectionRect, cachedPreviews[guid]);
         }
     }
 }
It's not finished, but works. The selectionRect though is covering whole icon and name. Where I can get the actual icon size?
               Comment
              
 
               
              Your answer
 
 
             Follow this Question
Related Questions
Change angle of camera in prefab preview 4 Answers
Change angle of camera in prefab preview 1 Answer
Custom Thumbnails for Prefabs 0 Answers
Why do my prefabs not have an Asset Preview? 1 Answer
Getting at the prefab preview window 3 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
               
 
			 
                