CEF 128.4 support on Windows

Apologies if this thread should appear twice now, I first posted on forums.unrealengine.com, but I assume that having a Pro account, I’ll get help here faster.

We’ve been desperately waiting for the Unreal 5.6.1 update since it includes the CEF update to 128.4 and we need the newer CSS features.

But simply enabling the new CEF version crashes the engine after a few ticks. I also noticed that before it happens lots of console windows are opened for a fraction of a second. I only managed to view the content of one of them once and it said “Invalid broker message”. `CEF3.log` has a lot of GPU process crash entries until it finally gives up

[37552:45268:0917/124001.845:WARNING:gpu_process_host.cc(1441)] The GPU process has crashed 9 time(s)

[37552:45268:0917/124001.845:FATAL:gpu_data_manager_impl_private.cc(436)] GPU process isn’t usable. Goodbye.

This thread mentions a similar issue: [Content removed]

Achim Moller’s answer there was that apparently support for CEF 128 was rolled back. Can you give me more information on what the reasoning was and when a CEF update will be available?

I also did some investigation on the side and discovered that CEF dropped support for `OnAcceleratedPaint` around CEF 103, but I saw updates to that function in Unreal 5.6.1. I’m not sure if that was just to be able to compile though, and the function isn’t actually called anymore? Was that a part of why the update was rolled back?

Unfortunately, we’ve staked quite a bit on the ability to use newer web technology within Unreal, so this is a critical blocker for us at the moment. I need some way to update to a newer CEF version and I’d massively appreciate any insights into your decision making that could help me with my own. We can probably also live with hacks that you couldn’t release officially.

Steps to Reproduce

  • Create a blank project on Windows
  • Add the WebBrowserWidget plugin and a dependency to the WebBrowserWidget module
  • Change bUseExperimentalVersion to true in CEF3.build.cs
  • Start the editor
  • Observe the crash `FCEFBrowserApp::TickMessagePump` after a few ticks, calling `CefDoMessageLoopWork`

Hi, The 128 update is currently opt-in, so you’ll need to update your CEF.build.cs to set bUseExperimentalVersion=true for the desired version (i.e. Win64) and then rebuild EpicWebHelper in the Editor Shipping configuration. That second part is likely the cause of the crashes, as it requires a manual rebuild after modifying the CEF version or the web helper won’t align with the binaries. Let me know if you still see crashes and we’ll investigate.

Best,

Cody

Thank you so much, that was indeed the required fix! I also always wondered where the `window.ue` association was done, now I can see it’s in that binary.

For others reading this: Note that the configuration to use is just `Shipping` or `Shipping Game`, since there is no `Editor Shipping` configuration.