{"id":30349002,"url":"https://github.com/not-elm/bevy_cef","last_synced_at":"2026-04-05T13:03:26.492Z","repository":{"id":309198927,"uuid":"1035449322","full_name":"not-elm/bevy_cef","owner":"not-elm","description":"Allows to render the webview into bevy's world space","archived":false,"fork":false,"pushed_at":"2026-03-30T11:11:35.000Z","size":2052,"stargazers_count":43,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-30T11:36:45.695Z","etag":null,"topics":["bevy","rust","web"],"latest_commit_sha":null,"homepage":"https://not-elm.github.io/bevy_cef/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/not-elm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE-APACHE2","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"not-elm","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2025-08-10T12:30:15.000Z","updated_at":"2026-03-30T09:45:08.000Z","dependencies_parsed_at":"2025-10-25T14:11:57.994Z","dependency_job_id":"91292fdb-f010-4ecd-a778-2a437c2cf716","html_url":"https://github.com/not-elm/bevy_cef","commit_stats":null,"previous_names":["not-elm/bevy_cef"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/not-elm/bevy_cef","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/not-elm%2Fbevy_cef","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/not-elm%2Fbevy_cef/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/not-elm%2Fbevy_cef/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/not-elm%2Fbevy_cef/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/not-elm","download_url":"https://codeload.github.com/not-elm/bevy_cef/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/not-elm%2Fbevy_cef/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31436304,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T08:13:15.228Z","status":"ssl_error","status_checked_at":"2026-04-05T08:13:11.839Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bevy","rust","web"],"created_at":"2025-08-18T19:47:13.354Z","updated_at":"2026-04-05T13:03:26.486Z","avatar_url":"https://github.com/not-elm.png","language":"Rust","readme":"# bevy_cef\n\nA powerful Bevy plugin for embedding web content using the Chromium Embedded Framework (CEF).\nRender websites, local HTML files, and web applications directly onto 3D meshes or 2D sprites with full interactivity\nand bidirectional communication between JavaScript and Bevy.\n\n[![Crates.io](https://img.shields.io/crates/v/bevy_cef)](https://crates.io/crates/bevy_cef)\n[![Documentation](https://docs.rs/bevy_cef/badge.svg)](https://docs.rs/bevy_cef)\n[![License](https://img.shields.io/badge/license-Apache%202.0%20OR%20MIT-blue.svg)](https://github.com/not-elm/bevy_cef#license)\n\nhttps://github.com/user-attachments/assets/54f476d0-8eda-4030-a3f6-dc4f2f54209f\n\n## ✨ Features\n\n- **🌐 Full Web Browser Integration** - Embed complete web pages with CSS, JavaScript, and modern web APIs\n- **🎮 3D Mesh \u0026 2D Sprite Rendering** - Render web content on any 3D surface or 2D sprite\n- **⚡ Interactive Input** - Full mouse, keyboard, and touch input support with automatic event forwarding\n- **🔄 Bidirectional Communication** - Seamless data exchange between JavaScript and Bevy systems\n- **📁 Local Asset Serving** - Serve local HTML/CSS/JS files with hot reload support\n- **🛠️ Developer Tools** - Full Chrome DevTools integration for debugging\n- **🎯 Navigation Controls** - Browser history, zoom, audio controls, and more\n- **🔒 Multi-Process Architecture** - Secure CEF multi-process design for stability\n\n## Platform Requirements\n\n### Macos\n\nOn macOS, using CEF typically requires creating an app bundle.\nFor development, this library provides a `debug` feature flag.\nOnce enabled, you can run the app without needing the bundle.\n\n\u003e [!NOTE]\n\u003e Use this feature only during development; for releases, bundle the renderer process and the CEF framework inside the\n\u003e app.\n\n#### Installation debug tools\n\nWhen using `debug`, you need to prepare a separate CEF framework and debug render process.\nPlease follow the steps below to set it up.\n\n```shell\n\u003e cargo install export-cef-dir@145.6.1+145.0.28\n\u003e export-cef-dir --force $HOME/.local/share\n\u003e cargo install bevy_cef_debug_render_process\n\u003e cp $HOME/.cargo/bin/bevy_cef_debug_render_process \"$HOME/.local/share/Chromium Embedded Framework.framework/Libraries/bevy_cef_debug_render_process\"\n```\n\n#### Bundling for Release\n\nInstall the bundling tools:\n\n```shell\n\u003e cargo install bevy_cef_render_process\n\u003e cargo install bevy_cef_bundle_app\n```\n\nBundle CEF into your `.app`:\n\n```shell\n\u003e bevy_cef_bundle_app --app path/to/YourApp.app --bundle-id-base com.example.yourapp\n```\n\nRun `bevy_cef_bundle_app --help` for additional options.\n\n### Windows\n\nOn Windows, you need to place CEF libraries in the same directory as the application executable.\nPlease run the following command to install the CEF framework to local.\nWhen you build the project, the libraries will be automatically copied to the executable's directory.\n\n```powershell\n\u003e cargo install export-cef-dir@145.6.1+145.0.28 --force\n\u003e export-cef-dir --force \"$HOME/.local/share/cef\"\n```\n\n#### Render process binary (recommended)\n\nInstall the dedicated render process binary so that CEF launches it directly instead of re-using your main executable.\nThis avoids the brief window flash that occurs when the main executable is re-launched as a subprocess.\n\n```powershell\n\u003e cargo install bevy_cef_render_process\n```\n\nThe `build.rs` script automatically copies the installed binary next to your executable during the build.\n\n#### Fallback\n\nIf you do not install the render process binary, CEF will re-launch your main executable for its subprocesses.\nTo prevent those subprocess instances from briefly showing a window, call `early_exit_if_subprocess()` at the very beginning of `main()` — **before** any Bevy initialization:\n\n```rust\nfn main() {\n    bevy_cef::prelude::early_exit_if_subprocess();\n    // ... Bevy App setup ...\n}\n```\n\n## Examples\n\nSee [`examples/`](./examples).\n\nOn macOS, you need to enable the `debug` feature:\n\n```shell\ncargo run --example simple --features debug\n```\n\nOn Windows, no extra feature flag is needed:\n\n```shell\ncargo run --example simple\n```\n\n## 🌍 Platform Support\n\n| Platform | Status     |\n| -------- | ---------- |\n| macOS    | ✅ Full    |\n| Windows  | ✅ Full    |\n| Linux    | ⚠️ Planned |\n\n## 🤝 Contributing\n\nWe welcome contributions! Here's how you can help:\n\n1. **🐛 Bug Reports** - Open an issue with detailed reproduction steps\n2. **💡 Feature Requests** - Suggest new features or improvements\n3. **🔧 Pull Requests** - Submit bug fixes or new features\n4. **📚 Documentation** - Improve docs, examples, or tutorials\n5. **🧪 Testing** - Help test on different platforms\n\n### Development Setup\n\n1. Clone the repository\n2. Install Rust and Cargo\n3. Install the debugging tool with reference to [Installation debug tools](#installation-debug-toolsmacos).\n4. Run `cargo build --features debug` to build the project\n\n## Version Compatibility\n\n| Bevy   | bevy_cef | CEF     |\n| ------ | -------- | ------- |\n| 0.18 ~ | 0.5.0    | 145.6.1+145.0.28 | \n| 0.18   | 0.2.0    | 144.4.0 |\n| 0.16   | 0.1.0    | 139     |\n\n## License\n\nLicensed under either of\n\n- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE2) or http://www.apache.org/licenses/LICENSE-2.0)\n- MIT License ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as\ndefined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n","funding_links":["https://github.com/sponsors/not-elm"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnot-elm%2Fbevy_cef","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnot-elm%2Fbevy_cef","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnot-elm%2Fbevy_cef/lists"}