How search works
Type what you are looking for the way you would describe it to a teammate: “worn leather armchair”, “sci-fi corridor light”, “something to sit on”. Prophouse finds props that look like the description, even when no file name contains your words, and also props whose names and tags match your words. It combines both into a single ranked list.
The same search runs everywhere: the search box in the desktop app and web library, the catalog browser in the Unreal plugin, the REST API (GET /api/v1/entries?q=...) and the search_props tool for AI agents. Search is unlimited on every plan.
Two kinds of matching
Section titled “Two kinds of matching”Every text search runs two searches at once.
By appearance
Section titled “By appearance”Prophouse compares your words with what each prop looks like in its thumbnail. This is what lets “rusty barrel” find a prop named SM_Oil_Drums_NN_01b. A prop with no thumbnail cannot be matched this way; it is still found by name.
By keywords
Section titled “By keywords”Prophouse also matches your words against each prop’s name, its pack name, its category, its tag names and the text of its comments.
- Every word has to match somewhere for a keyword hit, in any order.
- Words match as prefixes, so
chairalso findschairsandchair_01, andlampfindslamppost. - Put words in double quotes to match an exact phrase:
"wooden crate"only matches those two words next to each other. - Punctuation and search operators are ignored, so you do not need to escape anything.
How results are ranked
Section titled “How results are ranked”The two lists are merged with rank fusion: each prop scores by its position in each list, and a prop that ranks well in both rises to the top. A prop near the top of either list scores well, so a search works whether you type a file name or a description.
Ranked results include a score in the API and agent tools. It is a rank-fusion value used only for ordering: small numbers (the best possible is a little over 0.03), not a similarity percentage. Compare scores within one result list, never across searches.
Ranked results stop after 1,000 props. Page through them with the next_cursor the API returns.
Filters apply to both
Section titled “Filters apply to both”Filters (pack, type, triangle count and the rest) narrow the candidates before ranking, so a restrictive filter never hides a good match that a broader search would have found. See Filters and sorting.
Textures and materials in text search
Section titled “Textures and materials in text search”Texture and material thumbnails are flat images or shader balls, and they resemble almost any description. To keep them from crowding out the objects you asked for, the appearance match skips textures and materials unless your search is about a surface. A search counts as being about a surface when it contains one of these words:
texture, textured, material, surface, pattern, tile, tiling, tileable, seamless, decal, trim, trimsheet, albedo, basecolor, pbr, shader (and their plurals).
Filtering to the texture or material type has the same effect. So “rusty metal” returns rusty objects, while “rusty metal texture” or “rusty metal” with the texture type selected returns rusty surfaces.
Data maps such as normal, roughness, ORM or mask textures never match by appearance in a text search. Find them by name instead; see Tips for good searches.
Textures and materials always match by keywords, whatever you type.
When appearance matching is unavailable
Section titled “When appearance matching is unavailable”If appearance matching is briefly unavailable, text search keeps working with keyword matching alone. Similar-prop search and search by image depend on it entirely, so they return an EMBEDDINGS_UNAVAILABLE error until it is back.
