Documentation for Unreal Engine plugins by metyatech
Search Materials, Material Functions, and Material Instances across open assets and project-owned content, then open matching assets and navigate directly to matching graph expressions.
Find in Materials is an editor plugin for searching Materials, Material Functions, and Material Instances without opening assets one by one. Unreal’s built-in Material Editor search is useful within the Material already open; Find in Materials searches across project-owned Materials, Material Functions, and Material Instances, or just currently open supported assets.
Search expression types and names, parameter names and values, texture and Material Function references, comments, and asset paths. Results are grouped by asset and show the matching expressions or overrides.
The Find in Materials Fab Additional File FindInMaterialsDemo_UE5.8.zip contains a known-data example project for Unreal Engine 5.8. The plugin supports Unreal Engine 5.6, 5.7, and 5.8; this demo project specifically uses 5.8.
FindInMaterialsDemo_UE5.8.zip from Fab’s Additional Files.FindInMaterialsDemo.uproject with Unreal Engine 5.8.comment:"surface roughness".M_SearchableSurface appears as a matching asset and its child match contains the comment match.M_SearchableSurface Material Editor opens and the corresponding expression is focused and selected.M_SearchableSurface appears in the results with a child match for the surface roughness comment. Double-clicking the child opens the M_SearchableSurface Material Editor and focuses/selects the matching expression.
Use this procedure when the Fab Additional File is unavailable. It creates a known Material in your own project:
M_FIM_Verification under /Game/FIM_Verification.FIM_Verify_Param.parameter:FIM_Verify_Param and click Search.M_FIM_Verification appears as a matching asset and has one child match for FIM_Verify_Param.Searches currently open Materials, Material Functions, and Material Instances in the Editor.
Searches project-owned content under /Game and content in enabled plugins loaded from the project that contain content. It intentionally excludes /Engine and Engine plugin content. “Entire Project” means project-owned content, not engine content.
Searches a folder under /Game or /Game/.... Enter a path or use Browse… to choose a Content Browser folder. Folder scope does not accept /Engine paths.
Plain-text terms are case-insensitive substring matches. Multiple terms are combined with AND: every term must match. Use quotation marks to keep a phrase containing spaces together.
| Filter | Searches |
|---|---|
type: |
Expression or match type |
name: |
Node, display, or object name |
parameter: |
Parameter name |
value: |
Searchable, default, or reference value |
texture: |
Texture references |
function: |
Material Function references |
comment: |
Node comments |
path: |
Asset package path |
These query examples are templates. Replace each uppercase placeholder with a name or value from your own project:
SEARCH_TEXT
texture:YOUR_TEXTURE_NAME
parameter:YOUR_PARAMETER_NAME
function:YOUR_MATERIAL_FUNCTION_NAME
comment:"YOUR_COMMENT_TEXT"
parameter:YOUR_PARAMETER_NAME texture:YOUR_TEXTURE_NAME
type:YOUR_EXPRESSION_TYPE
name:YOUR_NODE_OR_DISPLAY_NAME
value:YOUR_VALUE
path:/Game/YOUR_FOLDER
The combined template parameter:YOUR_PARAMETER_NAME texture:YOUR_TEXTURE_NAME returns matches that satisfy both filters. Replace both uppercase placeholders with values from your project.
Results are grouped by asset; child rows represent individual matches. The footer reports the number of assets scanned, matching assets, and matches. Results and progress update as assets are processed.
Double-click a Material match to open the Material Editor and focus/select the exact matching expression. A Material Function match opens its editor and focuses/selects the matching expression. A Material Instance match opens the Material Instance Editor; it does not jump to a graph node because a Material Instance does not own an editable material graph expression.
If the matching expression cannot be resolved or focused, the asset may still open and the panel reports “Could not focus the matching node. The asset was opened.”
Select a Texture or Material Function in the Content Browser, right-click it, and choose Find Usages in Materials. For a Texture, the search uses its texture reference; for a Material Function, it uses its function reference. Find in Materials opens, switches to Entire Project, and immediately runs the corresponding texture: or function: query.
Assets load asynchronously in bounded batches. Results and progress update incrementally, and you can cancel a search. Extracted metadata is cached for the current Editor session to speed up repeated searches; modifying relevant assets invalidates cached metadata. The first large Entire Project search may take longer while assets are loaded and metadata is collected.
Searching is read-only: it does not modify, dirty, or save assets. The session cache is not a persistent search index.
Find in Materials performs a local, read-only search in the Unreal Editor. The plugin includes no telemetry, analytics, cloud service, custom networking, or AI API or functionality.
Version 1.0.0 has these limits:
Check that the plugin is enabled under Edit > Plugins. Restart the Editor if it requested a restart.
Verify the selected scope and query or filters. Entire Project searches project-owned content only. For Folder scope, check that the path is under /Game.
There are no supported assets in the selected scope. Create or add a Material, Material Function, or Material Instance there, or choose another scope.
The search completed successfully, but no searchable expression or value matched the query. Check the query and selected scope, or try a broader query.
Enter a query before starting a search.
Folder scope accepts only /Game or /Game/... paths. Use Browse… to choose a project content folder.
Exact graph navigation applies to Material and Material Function expressions, and the matching expression must still resolve in the editor. The asset may open with a status message if it cannot be focused. Material Instance results behave differently by design; see Material Instance does not jump to a graph node.
This is expected. A Material Instance opens in the MI Editor. Its overrides are searchable, but it does not own editable graph expressions.
This is expected. Engine content and Engine plugin content are intentionally excluded.
The first search loads assets and extracts metadata. Repeated searches may use the Editor-session cache. Progress is shown and the search can be cancelled.
Initial release with: