Tour
A public playground for OneJS. Write TypeScript, Unity renders it, anyone can read the source.
What people make here
- Games
- Arcade, puzzle, multiplayer.
- Physics
- Stress tests, stacking, ragdolls, anything you want to watch fall over.
- VFX
- Particle systems and shader effects, tuned live and shared as a link.
- Procedural
- Noise, meshes, textures, generators.
- Lookdev
- Scratchpads for a look, a palette, a motion curve.
- UI
- HUDs, menus, inventories. Prototype it before it goes in the game.
If it renders, it belongs here. It does not have to be a game and it does not have to be finished.
How it works
- Runs in the browser. Nothing to install, no build step, no editor to open.
- Not a web page. Unity draws it, on the GPU, in a shared WebGL container.
- Every project shows its source. Read it, fork it, take it apart.
- One file is enough. Add more when you want them.
Three pieces
- play.onejs.com
- This site. Runs the projects, hosts the editor, keeps scores and rooms.
oj- The package you write against. Stage, frame loop, input, physics, particles, drawing, audio.
- OneJS
- The Unity package. Same code, your own project, every platform Unity ships to.
Making something
- Open anything in the editor, change it, run it. No account needed.
- Sign in with an email code to bookmark what you want to come back to.
- New starts a fresh one from a small working example.
- On your own game, typing is saved as you go. Publish builds it and makes it live. A failed build changes nothing.
import { View, Text, mount, useFrame } from "oj"
function Thing() {
return <View><Text>hello</Text></View>
}
mount(<Thing />)Accounts
| Play, read source | Edit and run | Bookmark | Create, fork, save | |
|---|---|---|---|---|
| Anyone | yes | yes | ||
| Signed in | yes | yes | yes | |
| With OneJS | yes | yes | yes | yes |
Opening a game in the editor, changing it and running it needs no account: what you change stays in your browser. Signing in keeps a game, so you can find it again. Creating your own project, forking one, and saving changes need a copy of OneJS from the Unity Asset Store, verified once with your invoice number.
Taking it to Unity
- Eject hands you a Unity folder: unzip it inside
Assets/, drag the prefab into a scene, and the game is running. - Your source and assets come with it, ready to edit. Same file, no rewrite, no port.
- Past that point you are using OneJS, and onejs.com is its documentation.
Next
- Open something and read its source. That is the fastest way in.
- Writing a game for the whole surface.
- Rooms and leaderboards if you want other people in it.