OneJS lets you tap into the full JavaScript ecosystem right inside Unity, so you can build fast, modern UIs with live reload and no browser bloat.
It's free and open-source, but if you're into it and want to support development, consider grabbing the package on the Unity Asset Store. You'll also get lifetime access to our upcoming Game-Ready UI Library.
- 🧬 Native UI, no webviews – bridges straight to UI Toolkit for true in-game performance.
- ⚡ Instant iteration – hit Save, see Unity refresh without domain reloads.
- 🛠️ Web dev tooling – TypeScript, JSX/Preact, Tailwind, ESBuild all pre-wired.
- 📱 Cross-platform – tested on desktop and mobile targets out of the box.
- 🧠 Scriptable – expose C# safely to JavaScript for mods or rapid prototyping.
| Minimum | Notes | |
|---|---|---|
| 🎮 Unity | 2021.3 LTS | 2022.1+ if you need UI Toolkit Vector API |
| 📦 Packages | burst & mathematics | auto-installed |
| 🛠 Tooling | Node ≥ 18 + TypeScript CLI | for build/watch tasks |
OneJS.Getting.Started.mp4
You can use any one of the following three methods:
- Download and import from Asset Store.
- Unity Package Manager → Add package by Git URL
https://github.com/Singtaa/OneJS.git - Clone the repo anywhere on your machine, and use
Install package from diskfrom Package Manager.
Drag the ScriptEngine prefab into an empty scene and press Play App/ working directory.
- Open
{ProjectDir}/Appwith VSCode. - Run
npm run setupin VSCode's terminal. - Use
Ctrl + Shift + BorCmd + Shift + Bto start up all 3 watch tasks:esbuild,tailwind, andtsc.
Edit index.tsx, hit Save, watch Unity live-reload 🔄.
Please visit onejs.com/docs for proper documentation.
Pull requests and issue reports are welcome! Contributing Docs
💬 Discord is where it's at! Join the community to ask questions, share your work, and get help.
Distributed under the MIT License.
