A JavaScript ecosystem for making games

Write in JS, deploy everywhere via Unity.

QuickstartDiscordAsset Store

DropBall.tsxfrom the Quickstart
import { render, Button } from "onejs-react"
import {
    GameObject, PrimitiveType, Random, Rigidbody, Vector3
} from "UnityEngine"

function dropBall() {
    const ball = GameObject.CreatePrimitive(PrimitiveType.Sphere)
    ball.transform.position = new Vector3(Random.Range(-2, 2), 6, 0)
    ball.AddComponent(Rigidbody)
}

render(<Button text="Drop Ball" onClick={dropBall} />, __root)

TutorialsDocs

What we maintainGitHub

OJPlay alphaAll games

  • Fortnite HUD on OJPlayFortnite HUDA Fortnite style HUD: shield and health bars, an inventory bar, and a panning minimap.
  • Overwatch HUD on OJPlayOverwatch HUDAn Overwatch style HUD: a segmented health bar, an ultimate meter that crackles when full, and abilities on cooldown.

On JuiceboxMore

  1. Sand-racer: real-time sand simulation & terramechanics in WebGPU (three.js r187 + TSL) discourse.threejs.org
  2. Optimizing CPU-side Rendering Code godotengine.org
  3. TalkFlow: Structured Latent Flow Matching for Speech Driven Holistic Motion Generation arxiv.org
  4. Dynamic Skinning: Kinematics-Driven Cartoon Effects for Articulated Characters arxiv.org
  5. Learn To Model Link’s Shield Step By Step blendernation.com