Development Workflow
How to run the UI in development mode with hot reload.
The UI and C++ backend are developed independently, which means you can iterate on the React frontend in real time without rebuilding the C++ project every time you make a change.
How it Works
The C++ backend is the server — it needs to be running first. Once it's attached to the target process and the IPC server is up, the Tauri UI can connect to it at any time. This means you can leave the C++ process running and restart or hot reload the UI as many times as you want without touching the backend.
Running in Development Mode
1. Build and Run the C++ Backend
Build the C++ project using either the x64-debug or x64-release preset and run the executable:
src-cheat/out/x64-release/bin/web-overlay.exeMake sure your target process (e.g. Paint) is open before running it, otherwise the backend will exit immediately since it can't find the process to attach to.
2. Start the UI in Dev Mode
Open a terminal in the project root and run:
bun run tauri devThe UI will launch and connect to the already-running C++ backend automatically. From this point any changes you make to the React code will hot reload instantly in the UI window — no rebuilding, no restarting the C++ process.
When You Need to Rebuild C++
Hot reload only applies to the React frontend. You need to rebuild and rerun the C++ backend whenever you:
- Register a new config struct
- Add or modify an IPC handler
- Change any C++ source code
- Change overlay behaviour or rendering
After rebuilding, just rerun the executable and the UI will reconnect automatically.
Recommended Workflow
For day to day development the typical flow is:
- Open your target process
- Build and run the C++ backend once
- Run
bun run tauri dev - Make changes to the React UI and see them update in real time
- Only rebuild C++ when you change backend code