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 sourceEdit and runBookmarkCreate, fork, save
Anyoneyesyes
Signed inyesyesyes
With OneJSyesyesyesyes

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