A bLAzINg FaSt (hopefully) desktop app built using Tauri and SolidJS. Like the PC Runtime Unity Editor, this is intended to allow for debugging and modifying Unity objects at runtime, but for games built with il2cpp. It also supports arbitrary C# objects, not only those from Unity.
This is not Electron. 🦀 Most of the app is built using TypeScript and Node. Tauri is mostly used as a package format, but the rust backend is used for some plugins.
Currently on the roadmap:
- Connect to Quest
- Reconnection and state
- Wired-only connection
- Unity components list
- Adding components
- Modifying fields
- Modifying properties
- Invoking methods
- Byref support
- Type completion
- Enumerations
- Object finding
- Structure editor
- Creating objects
- Destroying objects
- Finalize protobuf schema
- Streamed unity camera in the app
- Browser-only port
- One-click install of mod
- Some sort of scripting support
Install QPM and the normal quest mod build tools. Install vcpkg, run qpm restore
, and run qpm s qmod
. To copy changes to your quest without a qmod, run qpm s copy
.
Install vcpkg and set the VCPKG_ROOT
environment variable.
Run vcpkg install
in this directory. This will download protobuf and websocketpp for the qmod. It may take a while.
Run pwsh ./make-proto.ps1
to generate the protobuf headers.
Make sure there are no spaces in the paths to vcpkg or the project directory.
If modifying the protobuf schemas, install vcpkg and run make-proto-ts.ps1
instead of make-proto.ps1
.
Run pnpm install
and pnpm tauri dev
. This will start up both the web frontend and the rust backend, and launch the app when both are ready.
To start up the frontend by itself, run pnpm run dev
and open the URL in the browser (usually http://localhost:1420)
Some features may not work without the backend.
As stated in the Tauri docs, run pnpm tauri build --debug
or cargo tauri build --debug
pnpm tauri build
or cargo tauri build