Skip to main content
Co-Founder & Design Engineer · Umbra Labs · 2025 - Present

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.

ElectronReact 19tRPCSQLite FTS5Rust (napi-rs)
OmniDex desktop application showing a 1,277-asset library sorted by most reviewed, with Ultra Dynamic Sky selected in the inspector

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.

typescriptsrc/search/engine.rs

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