Unity Search는 각종 파일(씬, 어셋, 리소스)과 오브젝트, 다양한 것들을 (설정, 메뉴, 패키지, 정적 API, 프리셋) 쉽게 찾을 수 있는 도구이다.

(Unity 21.1부터 에디터에서 기본으로 제공, 이전 버전에선 Quick Search 패키지 형태로 제공)

| Search Window

우선 검색을 실행하려면 아래 방법 중 하나를 통해 검색 Window를 활성화할 수 있다.

  • 에디터 상단 메뉴 > Windows > Search > New Window
  • 에디터 상단 메뉴 > Edit > Search All
  • Ctrl + K 단축키
  • Hierarchy / Project 윈도우 > 검색 버튼

 

A
검색 필드
여기에 검색 쿼리를 입력 또는 검색 토글을 추가
B
저장된 검색
검색 쿼리 및 컬럼을 어셋 형태로 저장할 수 있고, 검색 아이콘 을 클릭하여, 창을 표시 또는 숨길 수 있다. 검색 내용을 저장하려면 검색 필드 오른쪽 Save 아이콘을 클릭
C
검색 결과
검색 쿼리에 해당하는 검색 결과가 표시
D
결과 탭
 
E
인스펙터
선택한 오브젝트의 인스펙터가 제공됨 (인스펙터 아이콘 을 클릭)
F
뷰 및 환경설정
검색 결과 뷰를 변경할 수 있고, 설정 창을 열 수 있다. (리스트 / 그리드 / 테이블 뷰)

 

| 검색 쿼리

대표사진 삭제

검색 쿼리는 기존Hierarchy / Project 에디터의 그것과 유사한 문법을 가진다.

(e.g. t: 어셋타입명, b: 번들 라벨명)

 

 

각각 Project, Hierarchy의 검색 필터 목록

물론 훨씬 더 다양한 형태의 필터를 제공한다.

  • 컴포넌트 타입 포함 여부
  • 번들 라벨
  • 이름 / 파일 수정일자 / 디렉토리 / 확장자 / 파일 사이즈
  • 하이라키 필터 (Visible / Hidden, Root / Leaf, Static, Prefab 등등)
  • 라벨
  • 프리팹 (Variant, Modified, Root 등등)
  • 태그 및 레이어
  • Missing 프리팹 / 어셋 / 스크립트 등
  • 참조 (어셋, 오브젝트)
  • 특정 컴포넌트의 프로퍼티

 

| 인덱스 매니저

기본적으로 Assets로 명명된 기본 인덱스를 가진다.

기본적으로 어셋, 오브젝트, 키워드 등의 엘리먼트를 모두 포함하는 형태이기 때문에 대용량의 대규모의 프로젝트의 경우에 검색에 필요한 별도 인덱스를 생성 및 빌드해서 사용하는 것이 좋아 보인다.

 

| 활용 예

 

배경 씬 검색

  • Scenes 인덱스 내에서 검색
  • Unity Scene File을 검색
  • bg_ 키워드를 포함하는 경우

 

Raycast Target가 참인, Graphic 컴포넌트 검색

 

Hierarchy 내에서 검색
  • Raycast Target 참인 경우
  • TextMeshProUGUI / TMP_Sub Mesh UI 컴포넌트를 제외

 

Localize

  • Hierarchy 내에서 검색
  • GameText 컴포넌트를 가진 경우
  • Localize Key 프로퍼티를 검색 결과에 추가

 

Texture 포맷

  • Project 내에서 검색
  • 텍스쳐 파일 검색
  • 디렉토리 지정
  • 압축 포맷 및 텍스쳐 사이즈를 검색결과에 추가

 

Missing Script / Prefab / Asset 검색

  • Hierarchy 내에서 검색
  • 필터 Any (Script, Prefab, Asset) 검색

 

| 결론

 

Unity Search(QuickSearchModule)는 사용이 간편하면서도 강력한 기능을 제공하는 모듈이라 할 수 있다.

기존에는 특정 객체의 검증이나 특정 케이스의 객체를 목록화하려면 개별 오브젝트의 인스펙터를 확인하거나 직접 스크립트를 작성해야 했다.

 

하지만, Unity Search의 경우엔 간단한 설정만으로도 특정 어셋을 찾고, 메뉴 커맨드를 실행할 수 있다.

R&D 및 활용예를 만들면서 포맷이 잘못 설정된 파일을 쉽게 찾을 수 있었다.

 

검색은 기존의 Hierarchy와 Project Window 툴바에서 제공되던 검색 필터와 유사한 방식으로 사용 가능하며, (ex) t:prefab t:scene 등) 좀 더 강화된 검색 표현식(LISP의 S-expression과 유사)을 추가적으로 제공하고 있다. 또한 검색 쿼리 작성 없이 다양한 GUI 검색 필터를 제공하고 있어 사용이 매우 용이했다.

 

기본적으로 제공되는 여러 Search Provider(File, Log, Package, Scene, Adb, Asset, Settings, Menu 등) 외에도 커스마이즈 또한 가능한데, 관련 클래스 및 Attribute, delegate의 정의 만으로 커스텀 Search Provider를 제작할 수 있다.

 

이를 통해 별도의 커스텀 검색과 액션을 지정할 수 있다.

이러한 기능들을 잘 활용한다면 프로젝트 관리와 작업 효율성을 크게 향상시킬 수 있으리라 생각이 든다.

 

| 참고

 

메뉴얼

기본 Search Provider

 

UnityCsReference/Modules/QuickSearch/Editor/Providers at master · Unity-Technologies/UnityCsReference

Unity C# reference source code. Contribute to Unity-Technologies/UnityCsReference development by creating an account on GitHub.

github.com

 

 

반응형

+ Recent posts