Development and testing environment for Webium — a JS-first web rendering engine for Unity. This Unity project serves as the dev shell for building, testing, and iterating on the Webium UPM package using PuerTS as the JavaScript runtime.
v0.1.0 — Initial development project setup. Unity project shell with automated setup scripts, OpenUPM registry configuration for PuerTS, and local UPM package reference to the sibling webium repository. Ready for development and testing workflows.
webium-dev is a standard Unity project that consumes the webium UPM package via a local path reference. The project structure:
webium-dev/ ← this repo (Unity project)
├── Assets/ ← Unity assets, test scenes, runtime resources
├── Packages/ ← manifest.json with local webium reference
├── scripts/ ← setup automation (PS1 + Bash)
├── Tests/ ← Unity test assemblies
└── docs/ ← project documentation
../webium/ ← sibling repo (UPM package, cloned separately)
The setup scripts handle cloning dependencies, building the JS bundle, and copying compiled artifacts into the Unity project so that pressing Play in the Editor runs Webium end-to-end.
- Webium — the sibling
webiumrepository, cloned alongside this project - Node.js — for npm (builds the JS bundle in
webium/packages/core/) - .NET SDK — for
dotnet build(builds C# bridge DLLs) - Unity 6+ (6000.0 or later)
After cloning both repos side by side, run the setup script from the scripts/ folder:
# Windows (PowerShell)
./scripts/setup.ps1# macOS / Linux
./scripts/setup.shThe script:
- Verifies
../webiumexists as a sibling directory - Installs npm dependencies (
packages/core/) - Builds the JS bundle and copies it to
Resources/webium-bootstrap.txt - Builds
Webium.Core.dllandWebium.JSRuntime.dlland copies them toPlugins/
See docs/unity-project-setup.md for detailed setup instructions and troubleshooting.
This project's Packages/manifest.json includes an OpenUPM scoped registry for PuerTS:
"scopedRegistries": [
{
"name": "OpenUPM",
"url": "https://package.openupm.com",
"scopes": ["com.tencent.puerts"]
}
]PuerTS (com.tencent.puerts.core) is a transitive dependency of Webium, required for JS execution in Unity. UPM does not allow packages to declare their own registries, so any project consuming Webium must include this registry block.
In the Unity Editor:
Webium → Create Test Scene
This creates a scene with a WebiumSurface and WebiumBootstrapper pre-configured to load the examples/hello-world sample from the Webium package.
v0.2.0 — Expanded test coverage and development tooling. Add integration test scenes, editor workflow improvements, and documentation for common development patterns. See docs/ROADMAP.md for details.
See docs/VISION.md for the full project vision and goals.
This project is licensed under the MIT License. See LICENSE for details.