Skip to main content

Prerequisites

You need the Rust toolchain installed before you can build the app. If you already have cargo available, skip to step 2.
1

Install Rust

Install Rust using rustup, the official toolchain installer.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
After installation, restart your terminal and verify the toolchain is available:
cargo --version
2

Clone the repository

Download the source code from GitHub:
git clone https://github.com/FRKFFR/prismic-avatar-search-app.git
cd prismic-avatar-search-app/prismic_avatar_search
If you prefer not to use git, download the ZIP archive from the repository page and extract it, then navigate into the prismic_avatar_search/ subdirectory.
3

Build and run

Compile and launch the app in release mode:
cargo run --release
Cargo automatically downloads all dependencies and compiles the project. The first build takes longer — subsequent builds are significantly faster thanks to Cargo’s incremental compilation.
The first launch also downloads the avatar databases, which can take a few minutes depending on your connection speed. The app displays progress during this step — you do not need to do anything.
4

Complete the first-launch setup

The app guides you through a three-step initialization flow automatically:
  1. Database Downloader — Detects that the avatar databases are missing and downloads them. Downloads all three platform databases (PC, Quest, iOS) and writes the processed output to cache/avatar_entries.ndjson. Progress is shown in the UI.
  2. Login — Once the databases are ready, the app transitions to the login screen. Enter your VRChat credentials. 2FA is supported.
  3. Avatar Browser — After a successful login, the app saves an auth cookie to config.json and opens the avatar browser. You will not need to log in again unless the cookie expires.

What happens on first launch

When the app starts, UnifiedAvatarManager calls determine_initial_state() to check what setup steps remain:
  • If the database cache files are missing, the Database Downloader module starts automatically.
  • If the databases exist but config.json contains no auth_cookie, the Login module starts automatically.
  • If both conditions are satisfied, the app opens directly in the Avatar Browser.
During initialization, the top bar shows Initializing... and module-switching buttons are disabled. Each module transitions to the next one automatically when its task is complete — you do not need to click anything between steps.

After setup: switching modules

Once initialization is complete, the top bar shows three buttons — Database Downloader, Login, and Avatar Browser — that let you switch between modules freely. Use this to re-download databases, re-authenticate, or return to the avatar browser at any time.

Next steps

Installation

Full build instructions, dependency details, and platform-specific setup

Avatar Browser

Search, filter, and equip avatars

Authentication

2FA setup, cookie management, and re-authentication

Database Management

How avatar databases are downloaded and cached

Build docs developers (and LLMs) love