Skip to main content

Version Compatibility

Version Table

Bevybevy_cefCEF
0.18+0.4.0-dev144.4.0
0.160.1.0139

bevy_cef tracks Bevy's release cycle. Each bevy_cef version targets a specific Bevy major version and a specific CEF version. Mixing versions across these boundaries is not supported.

Feature Flags

debug

Enables the debug render process for macOS development. When active, bevy_cef links against the local CEF framework at $HOME/.local/share/Chromium Embedded Framework.framework and uses the bevy_cef_debug_render_process binary. This allows faster iteration without building a full release bundle.

This feature is macOS-only and should not be enabled for release builds or on Windows.

cargo run --example simple --features debug   # macOS development

serialize

Enables Bevy's serialization feature within bevy_cef. Use this if you need Bevy's Reflect-based serialization support for bevy_cef components.

cargo build --features serialize

Platform Support

PlatformStatusNotes
macOSFully supportedCEF framework at $HOME/.local/share/Chromium Embedded Framework.framework. Uses objc crate for native window integration.
WindowsFully supportedCEF at $USERPROFILE/.local/share/cef. Build script auto-copies DLLs, PAK files, and locales to target directory. Dedicated render process binary recommended to avoid subprocess window flash.
LinuxPlannedNot yet supported.

macOS Details

On macOS, the CEF framework is installed as a framework bundle. The debug feature flag links to this framework directly for development. For release distribution, use the bevy_cef_bundle_app crate to create a proper .app bundle with the framework embedded.

Running examples on macOS requires the debug feature flag:

cargo run --example simple --features debug

Windows Details

On Windows, CEF runtime files (DLLs, .pak resource files, locale data) are stored at $USERPROFILE/.local/share/cef. The build.rs script in bevy_cef_core automatically copies these files to the target output directory during compilation.

A dedicated render process binary (bevy_cef_render_process.exe) is recommended. Without it, the main application executable re-launches itself as a CEF subprocess, which causes a brief window flash. If you cannot install the dedicated binary, call bevy_cef::prelude::early_exit_if_subprocess() at the very start of main() to exit the subprocess before any Bevy initialization occurs.

Running examples on Windows does not require the debug feature:

cargo run --example simple

Upgrade Notes

0.1.0 to 0.4.0-dev

  • Bevy version: Upgraded from Bevy 0.16 to Bevy 0.18+.
  • CEF version: Upgraded from CEF 139 to CEF 144.4.0.
  • Windows support: Added full Windows platform support. See the Installation guide for Windows setup instructions.
  • Subprocess strategy: Added early_exit_if_subprocess() for Windows builds without a dedicated render process binary.
  • root_cache_path: Added root_cache_path option to CefPlugin for configuring persistent cache storage.
  • WebviewSource (previously CefWebviewUri): The component for specifying webview content has been renamed. Update CefWebviewUri::new() to WebviewSource::new(), CefWebviewUri::local() to WebviewSource::local().