EnumerateDatabases()
Enumerate search databases.
Read time 1 minuteLast updated 12 days ago
Definition
- Type: Method
- Namespace: UnityEditor.Search
- Assembly: UnityEditor
public static IEnumerable<ISearchDatabase> EnumerateDatabases()
Returns
Type | Description |
|---|---|
| IEnumerable<ISearchDatabase> | Search database interfaces. |
Remarks
Most of the search databases are asset and scene indexes.
Examples
static string EnsureDecalPropertyIndexing(){ var materialDb = SearchService.EnumerateDatabases().FirstOrDefault(IsIndexingMaterialProperties); if (materialDb != null) return materialDb.name; if (!EditorUtility.DisplayDialog("Create decal material index", "Your project does not contain an index with decal material properties." + "\n\n" + "Do you want to create one now?", "Yes", "No")) return null; var dbName = "Decals"; SearchService.CreateIndex(dbName, IndexingOptions.Properties | IndexingOptions.Dependencies | IndexingOptions.Types | IndexingOptions.Keep, roots: null, includes: new string[] { ".mat" }, excludes: null, (name, path, finished) => { Debug.Log($"Material index {name} created at {path}"); finished(); }); return dbName;}static bool IsIndexingMaterialProperties(ISearchDatabase db){ if (string.Equals(db.name, "Materials", StringComparison.OrdinalIgnoreCase)) return true; return (db.indexingOptions & IndexingOptions.Properties) == IndexingOptions.Properties && (db.includePatterns.Count == 0 || db.includePatterns.Contains(".mat"));}