Embed Shiny Gen games on your website

A Shiny Gen game can run natively on any web page (your portfolio, blog, or game site) via the shinygen npm package. One script tag loads the engine, and it runs the game's GDScript directly on your page. It is not an iframe: the engine boots on your canvas, WebGPU-rendered by default with a WebGL2 fallback for browsers without WebGPU.

The easy way: download your game

In Shiny Gen, open the Share menu and choose Download as HTML. You get a single HTML file: your game's code with the engine reference already wired in, pinned to an exact engine version so the page keeps working identically forever. Host that file anywhere, or open it in a browser.

Build your own page

For full control, put the engine script tag and your game's GDScript on any page:

<!doctype html>
<canvas id="canvas"></canvas>

<script src="https://cdn.jsdelivr.net/npm/shinygen@4.6.0/shinygen.js"></script>
<script type="text/gdscript" name="Main">
extends Node3D

func _ready():
    var light = DirectionalLight3D.new()
    light.rotation_degrees = Vector3(-45, 30, 0)
    add_child(light)
</script>
<script>
  ShinyGen.start({ canvas: "#canvas" });
</script>

Replace the script body with your own game's GDScript from Shiny Gen's code editor.

Using npm and bundlers

npm install shinygen works too. The engine resolves all of its files relative to shinygen.js, so you can serve the package from any static host, CDN, or bundler with no configuration.

Good to know

Last updated: July 18, 2026