Version: 5.4 (switch to 5.5b)
言語English
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

AssetDatabase.FindAssets

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

マニュアルに切り替える
public static function FindAssets(filter: string): string[];
public static string[] FindAssets(string filter);
public static function FindAssets(filter: string, searchInFolders: string[]): string[];
public static string[] FindAssets(string filter, string[] searchInFolders);

Parameters

filter フィルタリングの文字列には、名称、アセットのラベル、そしてタイプ(クラス名)が使えます。
searchInFolders フォルダーを1つ以上指定すると、検索をそのフォルダーと子フォルダーに限定します(全アセットを検索するよりも早くなります)。

Returns

string[] 検索でヒットしたアセットGUIDの配列

Description

フィルター検索の文字列を使ってアセットデータベースを検索します。

You can search for names, lables and types (classnames).


'name': filter assets by their filename (without extension). Words separated by whitespace are treated as separate name searches. Use quotes for grouping multiple words into a single search.


'labels': Use the keyword 'l'. Filtering by more than one label will return assets if just one asset label is matched (OR'ed)


'types': キーワード `t` を使います。 1 つ以上のタイプを使ってフィルタリングすると、どれか一つと一致するアセットが返ります(OR'ed)。タイプには、 'Texture2D' などあらかじめ用意されているものか、ユーザースクリプトのクラス名のどちらかを指定することができます。アセットすべてが望みなら、 'Object' を使うと、すべてのオブジェクトからアセットが抽出されます。

検索では大文字と小文字は区別されません。 アセットのパスを取得するために、AssetDatabase.GUIDToAssetPath を使い、アセットを読み込む場合などは AssetDatabase.LoadAssetAtPath を使います。

no example available in JavaScript
using UnityEngine;
using UnityEditor;

public class Example {

[MenuItem("Test/FindAssetsUsingSearchFilter")] static void FindAssetsUsingSearchFilter() { // Find all assets labelled with 'concrete' : string[] guids = AssetDatabase.FindAssets ("l:concrete");

foreach (string guid in guids) { Debug.Log (AssetDatabase.GUIDToAssetPath(guid)); }

// Find all Texture2Ds that have 'co' in their filename, that are labelled with 'concrete' or 'architecture' and are placed in 'MyAwesomeProps' folder string[] lookFor = new string[] {"Assets/MyAwesomeProps"}; string[] guids2 = AssetDatabase.FindAssets ("co l:concrete l:architecture t:texture2D", lookFor);

foreach (string guid in guids2) { Debug.Log (AssetDatabase.GUIDToAssetPath(guid)); } } }