![]() |
UCefView 1.0.27
Install On Fab
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.
|
UCefView supports pixel-level transparent input passthrough. When enabled, the web view only consumes pointer input on visible browser pixels. Mouse, touch, wheel, and drag events over transparent pixels are returned to Unreal as unhandled, allowing widgets behind the web view to remain interactive.
This is useful for HUDs, menus, and hybrid interfaces where HTML/CSS is layered above native UMG or Slate widgets. For example, a floating web menu can consume clicks on its buttons while transparent areas allow the underlying Unreal UI to keep working.
Select your UCefView widget in the UMG editor and enable:
You can also control it from Blueprint through the generated setter:
Pass the option when constructing SCefView:
Or change it at runtime:
Transparent input passthrough depends on the final rendered alpha value. The web page and the UCefView background must actually be transparent.
For HTML content, make sure the page background does not fill the whole browser:
For UCefView, keep the configured background alpha at 0. If the UCefView background is opaque, the entire view is treated as visible and input will not pass through.
When transparent passthrough is enabled, the Slate widget checks the local pointer position before handling input. The check follows the visible composition order:
The alpha mask is maintained by FCefSlateTexture. It uses double-buffered TBitArray<> storage so the active mask is only swapped after a new readback has completed. The same path is used for both pixel-buffer-backed textures and shared-texture-backed textures after they become Unreal UETexture2DRHIRef resources.
Because the mask is read from the rendered texture, this feature reflects the final browser alpha output instead of relying on DOM hit testing. The tradeoff is that texture readback has a cost, so it should be enabled only for views that need pixel-accurate passthrough behavior.