{"id":16028417,"url":"https://github.com/nickburrell/yttrium","last_synced_at":"2026-06-15T01:36:08.064Z","repository":{"id":117925758,"uuid":"384046723","full_name":"NickBurrell/yttrium","owner":"NickBurrell","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-07T20:08:14.000Z","size":6014,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-21T23:34:25.179Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NickBurrell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-08T07:57:40.000Z","updated_at":"2023-05-07T20:08:20.000Z","dependencies_parsed_at":"2023-07-31T22:33:15.691Z","dependency_job_id":null,"html_url":"https://github.com/NickBurrell/yttrium","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NickBurrell/yttrium","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NickBurrell%2Fyttrium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NickBurrell%2Fyttrium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NickBurrell%2Fyttrium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NickBurrell%2Fyttrium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NickBurrell","download_url":"https://codeload.github.com/NickBurrell/yttrium/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NickBurrell%2Fyttrium/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34344440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-08T21:00:24.359Z","updated_at":"2026-06-15T01:36:08.050Z","avatar_url":"https://github.com/NickBurrell.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Yttrium - Unity Web Runtime\nYttrium is an experimental, work-in-progress library for enabling\nweb features in Unity. The goal of the project is to integrate [Servo](https://servo.org),\nthe Mozilla web runtime, and [Deno](https://deno.land), a secure Javascript and Typescript\nruntime environment.\n\n## Overview\nYttrium is broken up into 2 parts, the native portion and the managed\nportion. The native version is the runtime of the library;\nit contains all necessary code to bootstrap the web renderer\nand Deno runtime. The managed plugin is intended to ease\nintegration of the library into a Unity project.\n\n## Yttrium Native\n\n### Requirements\nThe only hard requirements are the Rust compiler, a C++ compiler,\nand Unity, with the relevant version information found below.\n\n| Requirement   | Version                        | Comments                                  |\n|---------------|--------------------------------|-------------------------------------------|\n| Rust Compiler | nightly-2021-08-13             | This version is tied directly to `servo`  |\n| C++ Compiler  | Any compiler supporting C++ 17 | For Windows, use MSVC 2019                |\n| Unity         | 2021.3.12f1                    | Current version of Unity used for testing |\n\nTake note that our rust version is tied **directly** to `servo`, as it is \nour primary dependency. We assume you are using `rustup`, and to\nensure the build succeeds, run the commands found below.\n\n```bash\n$ rustup component add rustc-dev # Required for `libservo`\n$ rustup component add llvm-tools-preview # Required for `cxx` and `libservo`\n``` \n\nFor Windows users, `vcpkg` is also a requirement. Detailed instructions on\ninstallation can be found [here](https://vcpkg.io/en/getting-started.html),\nbut below is a concise guide.\n\n```bash\n$ git clone https://github.com/Microsoft/vcpkg.git\n$ .\\vcpkg\\bootstrap-vcpkg.bat\n$ .\\vcpkg\\vcpkg integrate install\n```\n\nAfter you've installed `vcpkg`, you need to install the `libopenssl`.\nTo do this, run the following commands.\n\n```bash\n$ .\\vcpkg\\vcpkg install openssl-windows:x64-windows\n$ .\\vcpkg\\vcpkg install openssl:x64-windows-static\n$ .\\vcpkg\\vcpkg install openssl:x64-windows-static-md\n$ .\\vcpkg\\vcpkg integrate install\n```\n\nAfter installing necessary libraries through your native package manager or `vcpkg`, there are several more tools and\nlibraries that need to be set up. The steps required are outlined [here](https://github.com/servo/servo#macos).\n\n### Building\nBuilding Yttrium is a fairly straightforward, and platform agnostic process.\nThe process requires `cargo-make`, which can be installed as follows.\n\n```shell\n$ cargo install --force cargo-make\n```\n\nOnce installed, there are several `make` targets of interest, namely `buildall`, `testall`, and `ci-flow`, which you can \nread more about in `Makefile.toml`. These commands are ran as follows.\n```shell\n$ cargo make buildall --no-workspace\n$ cargo make testall --no-workspace\n$ cargo make ci-flow --no-workspace\n```\n\nAfter building, add the library file (depending on platform it could be\neither `libyttrium.so` or `yttrium.dll`) as a Unity dependency.\n\nNote that when cross-compiling, you need to ensure you have the correct\nversion of the library for the operating system you're compiling for.\nMost likely, your Unity development takes place on a Windows or Mac device,\nso a cross-compilation environment for Linux will be required.\n\n## Yttrium Unity\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickburrell%2Fyttrium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnickburrell%2Fyttrium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickburrell%2Fyttrium/lists"}