{"id":13728508,"url":"https://github.com/MozillaReality/servo-unity","last_synced_at":"2025-05-08T00:32:03.359Z","repository":{"id":41111222,"uuid":"263199304","full_name":"MozillaReality/servo-unity","owner":"MozillaReality","description":"INACTIVE - Servo for Unity - experimental","archived":true,"fork":false,"pushed_at":"2020-08-10T06:10:19.000Z","size":51843,"stargazers_count":317,"open_issues_count":0,"forks_count":95,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-08-04T02:08:08.497Z","etag":null,"topics":["inactive","unmaintained"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MozillaReality.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-12T01:20:16.000Z","updated_at":"2024-08-02T19:01:11.000Z","dependencies_parsed_at":"2022-08-10T01:42:45.533Z","dependency_job_id":null,"html_url":"https://github.com/MozillaReality/servo-unity","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MozillaReality%2Fservo-unity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MozillaReality%2Fservo-unity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MozillaReality%2Fservo-unity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MozillaReality%2Fservo-unity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MozillaReality","download_url":"https://codeload.github.com/MozillaReality/servo-unity/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224679942,"owners_count":17351895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["inactive","unmaintained"],"created_at":"2024-08-03T02:00:43.713Z","updated_at":"2024-11-14T19:31:14.808Z","avatar_url":"https://github.com/MozillaReality.png","language":"C","readme":"## About this project\n\nThis project constitutes a Unity native plugin and a set of Unity C# script components allow third parties to incorporate Servo browser windows into Unity scenes.\n\nFor more background information, see the blog post at https://blog.mozvr.com/a-browser-plugin-for-unity/\n\n## Structure of this repository\n\n1. The Unity project is `src/ServoUnity`, with a sample scene at `src/ServoUnity/Assets/ExampleScene.unity`.\n2. Native code for the Unity plugin is in `src/ServoUnityPlugin`.\n3. The compiled plugin will be placed in `src/ServoUnity/Assets/Plugins`.\n4. The Unity C# scripts designed to be used by the user's application are in `src/ServoUnity/Assets/Scripts`.\n\n## License\n\n[The license file](License) sets out the full license text.\n\nThe code is licensed under the MPL2.\n\nThis license is compatible with use in a proprietary and/or commercial application.\n\n## Building from source\n\n### Prerequisites\n\nWhat | Minimum version | Where to download \n---- | --------------- | ------------\nUnity | 2019.3 | \u003chttps://unity.com\u003e\nFor macOS: Xcode tools |  | \u003chttps://developer.apple.com\u003e\n\nDuring this development phase of the project, only macOS is supported. \n\n### libsimpleservo2\n\nServo itself enters the plugin through the wrapper library `libsimpleservo2`. You can find a binary build of libsimpleservo2 at https://github.com/philip-lamb/servo/releases, or you can build it from source. This fork of the servo repository will soon be merged back to the main servo repo and these instructions will be amended once that is complete.\n\nBuild libsimpleservo2 from source:\n1. `git clone --branch phil-ss2-headless https://github.com/philip-lamb/servo.git`\n2. `cd servo`\n3. `./mach bootstrap`\n4. `./mach build --libsimpleservo2`\nThe release libraries will be built by default to path `target/release`.\n\n### The servo-unity plugin build\n\nThe Xcode project for the plugin is at `src/ServoUnityPlugin/macOS/servo_unity.xcodeproj`. Compiling this project requires linking to Unity's plugin headers which are normally contained inside the Unity application bundle. Check that the build setting for header search paths is correct for the version of Unity installed on your system.\n\nPrior to building, a build step removes any previous plugin build (`servounity.bundle`) from the Unity project's `Plugins` folder. \nThe Xcode project builds the plugin bundle directly into the same folder. If you wish to change this behaviour, uncheck \"deployment postprocessing\" in the Xcode build settings.\n\n## Operating the plugin inside the Unity Editor\n\nThe plugin can run inside the Unity Editor, but some setup is required first:]\n1. At present, the plugin can be run and stopped once per Editor session. (This is due to the fact that Unity does not unload and reload native plugins between runs in the Editor.) You'll need to quit and relaunch the Editor before running again.\n2. The plugin currently looks for required GStreamer plugins at the same path as the executable; when running in the Unity Editor, this is unfortunately the path to the Unity Editor executable inside the Unity app bundle. We're working on fixing this, but in the meantime, prior to use, you'll need to navigate to the libsimpleservo2 binary folder, and execute the following command: `sudo cp libgstapp.so libgstlibav.so libgstvideoconvert.so libgstaudioconvert.so libgstmatroska.so libgstvideofilter.so libgstaudiofx.so libgstogg.so libgstvideoparsersbad.so libgstaudioparsers.so libgstopengl.so libgstvideoscale.so libgstaudioresample.so libgstopus.so libgstvolume.so libgstautodetect.so libgstplayback.so libgstvorbis.so libgstcoreelements.so libgstproxy.so libgstvpx.so libgstdeinterlace.so libgstrtp.so libgstwebrtc.so libgstinterleave.so libgsttheora.so libgstisomp4.so libgsttypefindfunctions.so \"/Applications/Unity/Hub/Editor/2019.3.13f1/Unity.app/Contents/MacOS/\"` You might need to amend the final path for a different version of the Unity Editor.\n\n\n\n","funding_links":[],"categories":["Open Source Repositories","C"],"sub_categories":["Web View"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMozillaReality%2Fservo-unity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMozillaReality%2Fservo-unity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMozillaReality%2Fservo-unity/lists"}