UCefView 1.0.27 Install On Fab Fab logo
World's highest-performance WebView plugin for Unreal Engine. UCefView delivers GPU-accelerated rendering, seamless cross-platform integration and both C++ code and Blueprint development approaches.
Loading...
Searching...
No Matches
Technical Details

This document provides a technical breakdown of the UCefView plugin's architecture, modules, and key components.

Architecture

The plugin is built upon a layered architecture to ensure modularity and ease of maintenance:

  1. Chromium Embedded Framework (CEF): The core of the plugin. CEF is an open-source framework for embedding a Chromium-based browser within another application.
  2. CefViewCore: A standalone, lightweight C++ library that acts as a wrapper around the complex CEF API. It simplifies CEF's functionality into a more manageable interface and handles the low-level details of browser creation, rendering, and JavaScript interoperability. This library has no dependencies on Unreal Engine.
  3. UCefView Plugin: The main Unreal Engine plugin module. It integrates CefViewCore into the engine, providing SCefView (Slate) and UCefView (UMG) widgets, Blueprint libraries, and other engine-specific functionalities.

Modules

The plugin is composed of two primary modules:

Module Description
UCefView The main plugin module containing all Unreal Engine integration code. This includes the UMG and Slate widgets, Blueprint function libraries, and asset types.
CefViewCore A third-party C++ library that provides a high-level wrapper around the CEF API. This decouples the core browser logic from Unreal Engine.

Key C++ Classes

Class Header Description
UCefContext CefContext.h A singleton that manages the global lifecycle of the CEF process.
UCefSettings CefSettings.h UObject-based settings that can be configured in Project Settings to control global browser behavior.
SCefView Slate/SCefView.h The core Slate widget for embedding a web view into Slate-based UIs.
UCefView UMG/UCefView.h The UMG widget that wraps SCefView, making it accessible to Widget Blueprints.
UCefViewEvent CefViewEvent.h A helper class used to send events and data from C++ to JavaScript.
UCefViewQuery CefViewQuery.h A helper class used for asynchronous request/response communication between JavaScript and C++.
FCefViewSettings Slate/SCefViewSettings.h A struct containing per-instance settings for a web view, such as the initial URL and size.
CefViewTypes CefViewTypes.h Contains common enumerations and type definitions used throughout the plugin.

Blueprints

The plugin includes several pre-built Blueprint assets to help you get started quickly. These are located in the UCefView Content folder.

Widgets

  • WBP_CefView: A simple widget that directly encapsulates a UCefView component.
  • WBP_CefViewBrowserTab: A complete browser tab widget, including an address bar and navigation controls (Back, Forward, Reload).
  • WBP_CefViewSingleTabBrowserWindow: A fully functional single-tab browser window example.
  • WBP_CefViewMultipleTabBrowserWindow: A fully functional multi-tab browser window example.

Actors

  • ACefView: An Actor that can be placed in the world to display a web view on a static mesh component.
  • ACefViewSingleTabBrowser: An example Actor that demonstrates how to use the browser widgets in a 3D world context.

Materials

  • sRGBToLinear: A utility material function for converting the web view's texture from sRGB to Linear color space, which is necessary for correct color representation in Unreal Engine's rendering pipeline.