
Thousands of game assets, no fast way to find the one you need — a problem every Unreal dev hits eventually.
Asset packs accumulate faster than anyone can remember what's in them. Finding a specific texture means either remembering the file path or waiting five minutes for Unreal to open. OmniDex is a desktop app that indexes everything locally: search by name, see thumbnails and marketplace ratings, and match your Fab purchases against what's actually on disk, without opening the engine. Built for the kind of personal organization that large projects depend on.

The Hiraeth project had over a thousand assets and no way to glance at them. No thumbnails without opening the engine, no metadata at a glance. I wanted to type a name and see what I had.
Architecture
Index
Tantivy walks the library, builds full-text index with field boosting
Search
0+ typed IPC commands, every keystroke queries in real time
Results
Thumbnails, ratings, and dependency data extracted from .uasset files
Search returns results in under <0ms across 0+ indexed assets — fast enough to run on every keystroke. The Rust backend exposes 0+ typed IPC commands with a 16-variant error system so every failure mode surfaces a specific message, not a panic.
FTS5 Search with BM25 Field Weighting
Every keystroke runs this exact query. FTS5 keeps a trigger-synced index over names, tags, and marketplace metadata; the BM25 weights mean typing "stone wall" surfaces the asset named "stone_wall_diffuse" before a pack that merely mentions it.
Benchmarked at 1,000 iterations per query against a snapshot of the live database: p50 0.36ms, p99 0.97ms across 1,276 assets.
Stack
Desktop
Electron 41, React 19 + React Compiler, TanStack Router/Query, Virtualized Grid
Data
better-sqlite3, SQLite FTS5 + BM25, 28 SQL Migrations
IPC
tRPC v11, Zod Schemas, superjson, Live Progress Subscriptions
Native
Rust napi-rs Addon, UAsset Binary Parser, Thumbnail Extraction
v2.1.0, used daily by the team.
Next case study
