ソースコード
using System;
using UnityEditor;
using UnityEngine;
public class SelectLastSavedPrefab
{
private const string SavePrefabKey = "save_prefab_key";
[MenuItem("SavePrefabPath/LoadAsset #&p")]
private static void SelectLastSelectPrefab()
{
try
{
var loadAssetGUID = PlayerPrefs.GetString(SavePrefabKey);
var assetPath = AssetDatabase.GUIDToAssetPath(loadAssetGUID);
var TargetAssets =
AssetDatabase.LoadAssetAtPath<GameObject>(assetPath);
Selection.activeObject = TargetAssets;
}
catch (Exception e)
{
Debug.LogError(e);
}
}
[MenuItem("SavePrefabPath/LoadAsset #&l")]
private static void SaveLastSelectPrefab()
{
try
{
var selection = Selection.assetGUIDs[0];
var assetPath = AssetDatabase.GUIDToAssetPath(selection);
var TargetAssets =
AssetDatabase.LoadAssetAtPath<GameObject>(assetPath);
if (TargetAssets == null)
{
Debug.LogWarning($"{assetPath} is Not GameObject!");
return;
}
PlayerPrefs.SetString(SavePrefabKey, Selection.assetGUIDs[0]);
PlayerPrefs.Save();
}
catch (Exception e)
{
Debug.LogError(e);
}
}
}
使い方
-
プレハブの参照のセーブ
- mac
- Shift + Option + L
- windows
- Shift + Alt + L
- mac
-
プレハブの参照のロード
- mac
- Shift + Option + P
- windows
- Shift + Alt + P
- mac
これを使うシチュエーション
作業をしていてプレハブの更新をした後に、作業していたプレハブに戻るのがちょっとだけ楽になれます