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. Why Embark had to “pull the handbrake” on Arc Raiders | Full Interview thegamebusiness.com
  2. AppMagic: Non-gaming apps have beaten mobile games in IAP revenue since 2016 gamesindustry.biz
  3. NO LAW: Crafting a living, breathing cyber-noir world with UE5 unrealengine.com
  4. Update on Account Bans, Alt Detection, and Appeals devforum.roblox.com
  5. Remedy Q3 revenue triples to €39.6m following launch of Control Resonant gamesindustry.biz