Unity 사용자 매뉴얼 2022.3 (LTS) - 커스텀 검색 공급자 만들기
이 문서에서는 Unity의 커스텀 검색 공급자를 만드는 방법에 대해 설명합니다. 검색 공급자는 사용자 인터페이스에서 특정 항목을 검색하고 필터링하는 데 사용되는 기능입니다. 아래 예제를 통해 커스텀 검색 공급자를 작성하는 방법을 알아보겠습니다.
검색 공급자 등록
새로운 검색 공급자를 추가하기 위해서는 CreateProvider 함수를 작성하고, 이를 SearchItemProvider 속성으로 태그해야 합니다.
코드 예제
다음은 커스텀 검색 공급자를 만드는 코드입니다:
[SearchItemProvider]
internal static SearchProvider CreateProvider()
{
return new SearchProvider(type, displayName)
{
filterId = "me:",
fetchItems = (context, items, provider) =>
{
var itemNames = new List<string>();
var shortcuts = new List<string>();
GetMenuInfo(itemNames, shortcuts);
items.AddRange(itemNames.Where(menuName =>
SearchProvider.MatchSearchGroups(context.searchText, menuName))
.Select(menuName => provider.CreateItem(menuName,
Path.GetFileName(menuName), menuName)));
},
fetchThumbnail = (item, context) => Icons.shortcut
};
}
이 함수는 새로운 SearchProvider 인스턴스를 반환합니다. 각 SearchProvider 인스턴스는 다음을 포함해야 합니다:
- type: 고유한 유형, 예를 들어 에셋, 메뉴, 씬 등
- displayName: 필터 창에서 사용할 이름
- filterId: 선택적이며 텍스트 기반 필터링을 위한 검색 토큰 예:
p:는 자산 검색의 필터 ID입니다.
검색 공급자 단축키 등록
새 공급자에 대한 단축키를 등록하려면 다음과 같이 코드를 작성할 수 있습니다:
[UsedImplicitly, Shortcut("Help/Quick Search/Assets")]
private static void PopQuickSearch()
{
// Open Search with only the "Asset" provider enabled.
QuickSearchTool.OpenWithContextualProvider("asset");
}
단축키 관리자에서 키 또는 키 조합을 단축키에 매핑할 수 있습니다.
활용 및 응용 예제
- 에셋 검색 최적화: 사용자가 자주 사용하는 에셋에 빠르게 접근할 수 있도록 커스텀 검색 공급자를 만들어 에셋의 필터링을 돕습니다.
- 메뉴 항목 검색: 프로젝트 내 다양한 메뉴 항목을 쉽게 검색할 수 있는 기능을 개발합니다.
- 씬 검색 기능 추가: 사용자 정의 씬 검색 공급자를 통해 복잡한 프로젝트의 씬을 신속하게 식별하고 접근할 수 있도록 합니다.
결론
이 문서에서 살펴본 것처럼 Unity에서 커스텀 검색 공급자를 만들고 활용하는 것은 프로젝트 작업의 효율성을 높이는 데 큰 도움이 됩니다. 필요한 기능에 맞춰 검색 공급자를 커스터마이징하여 사용자 경험을 향상시켜 보세요.