【Unity】애셋을 즐겨찾기 등록하는 에디터 확장

소개



Unity에서 작업할 때 자산 폴더를 오가는 경우가 많다고 생각합니다.
개인 제작이라면 거기까지 신경이 쓰이지 않는다고 생각합니다만, 복수인으로의 개발을 하는 경우는 자산 폴더 안이 에그 일이 됩니다.
그것은 기업 등도 마찬가지이며, 뭔가 대책을 하지 않으면 심각해집니다.
사람에 따라서는, 최근에 사용하는 자산을 타블록으로 닫지 않게 대책할 것입니다.
이 방법으로도 좋을지도 모르지만, 오가는 자산이 늘어나면 효율이 나빠집니다.

그래서 만들자!

「어라? Project 뷰에 마음에 드는 기능이잖아」
네요.
이것은 검색 내용을 저장하는 것뿐입니다. . .

만든





일로 만들었습니다.
다음 링크에서 얻을 수 있습니다.
htps : // 기주 b. 코 m / 하자 b / 우니 ty와 ls

애초에 이미 존재



네. 있습니다.
코가네 블로그 씨에서도 소개되고 있네요.
【Unity】즐겨찾기(북마크) 기능에 관한 기사 정리

그래서 선인들이 만든 기능의 좋은 곳을 가져옵니다.
우선 이하의 즐겨찾기 등록 기능을 참고로 하고 있습니다.
  • Favorites Tab[s]
  • Favorites Window
  • Kris' Favorite Assets
  • Bookmark Everything
  • 【Unity 확장】 자산을 북마크 관리하는 창을 만들어 보니 편리했다
  • 【Unity】 즐겨찾기 에셋을 등록하는 약간의 에디터 확장
  • 자주 사용하는 장면 등을 등록하고 편리하게 ...

  • 필요한 기능


  • 자산 등록, 열기, 취소 기본 처리
  • 드래그 앤 드롭으로 등록
  • 정렬 처리
  • 즐겨 찾기 그룹
  • 설정
  • 가져오기, 내보내기 기능

  • 저장 방법



    즐겨찾기 등록한 내용을 프로젝트를 닫아도 남기려면 저장해야 합니다.
    저장 수단은 다음 두 가지입니다.
  • EditorPrefs 사용
  • 파일에 쓰기

  • 자신은 파일 쓰기를 선택합니다.

    저장할 때 주의가 필요한 것


  • 여러 사람이 작업하는 경우 즐겨 찾기가 공유되는 것은 좋지 않습니다
  • EditorPrefs는 모든 프로젝트 공통 저장 위치에 쓰므로 불편

  • 여러 사람이 작업하는 것을 가정하면 버전 관리 도구의 커밋 대상에서 제외하는 것이 좋습니다.
    그래서 Library 폴더에 저장합니다.
    캐시를 저장하는 폴더와 같은 것이므로 커밋 대상에서 벗어나야합니다.

    EditorPrefs에 관해서는 아래의 기사를 봐 주세요.
  • 프로젝트 전반에 데이터 저장 EditorPrefs

  • 즐겨찾기 기능을 만드는 데 필요한 처리



    등록할 자산의 정보는 다음 코드로 얻을 수 있습니다.
    using System.IO;
    using UnityEditor;
    using UnityEditor.SceneManagement;
    
    // ドラッグ中のアセットのパスを取得する
    string[] assetPaths = DragAndDrop.paths;
    
    // アセットのパスからGUIDを取得する
    var guid = AssetDatabase.AssetPathToGUID("アセットのパス");
    
    // アセットのパスからアセットを取得する
    // アセット名や、アセットの種類情報が取得できる
    var asset = AssetDatabase.LoadAssetAtPath<Object>("アセットのパス");
    
    // アセットをPingする
    EditorGUIUtility.PingObject(asset);
    
    // アセットを開く
    AssetDatabase.OpenAsset(asset);
    
    // シーンアセットを開く場合
    if (Path.GetExtension("アセットのパス").Equals(".unity")) {
        // シーンの保存を促す
        if (EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo()) {
            // 保存をしたので開く
            EditorSceneManager.OpenScene("アセットのパス", OpenSceneMode.Single);
        }
    }
    

    사이고에게



    만드는 방법에 대한 자세한 설명은 없습니다.
    선인들의 코드를 읽어 가면 어느 정도 이해할 수 있다고 생각합니다.

    이미 존재하는 기능의 무료판의 내용과 동작은 확인했습니다만, 아무도 가려운 곳에 손이 닿지 않았기 때문에 만든 느낌입니다.
    최근에는 리모트 워크도 늘어나고 있으므로, 임의의 장소에 export 할 수 있도록 한 것이 혁신적이네요.
    업무에서 매우 도움이됩니다.

    좋은 웹페이지 즐겨찾기