Compiling from C++ to WebAssembly is a thing now. This allows browsers to circumvent JavaScript (or integrate with it if the developer wants to) for high-performance applications. It also does this with relatively low compile times, especially on browsers like Firefox Nightly.
Proof that it’s running Unreal Engine: A toilet.
Also, the seat works. I tried.
It’s also a supported feature with Unreal Engine 4 as of 4.18.
As such, we’re beginning to see a few games built into the technology. One such demo, Estranged, is about an indie title about a fisherman. The demo currently has the Prelude level and a shooting range. Performance isn’t the best, but it’s interesting to see running in a web browser. It will continue to get better than WebAssembly (and browsers) support multi-threading, too.