Unreal Engine in WebAssembly/WebGPU

Rate this content
Bookmark
Wunder Interactive has made significant advancements in bringing Unreal Engine to the web using WebAssembly and WebGL, with plans to integrate WebGPU for better graphics and performance. They have developed a custom asset file system and texture compression to handle large file sizes and improve load times for web-based games. Their platform includes a hosting platform, a front-end dashboard, and a discovery service for developers. Additionally, they are working on WebXR support for cross-platform VR applications. Wunder Interactive aims to create an open platform on the web for game developers to distribute, host, and monetize their games independently. They also plan to support other game engines like Unity, Godot, and Amazon's Open3DE engine. The future vision includes enabling console-quality games in the browser with Unreal Engine 5 and WebGPU support.

From Author:

Traditionally, browser games haven't been taken seriously. If you want to target the web, that traditionally has meant compromising on your vision as a game developer. Our team at Wonder Interactive is on a mission to change that, bringing one of the world's premiere native game engines to the browser - Unreal Engine. In our talk, we'll dive into our efforts porting the engine to the browser and carrying on the pioneering unfinished work started at Epic Games nearly a decade ago in collaboration with Mozilla. We'll dive into what this means for the future of games in the browser, and the open metaverse on the web.

This talk has been presented at JS GameDev Summit 2022, check out the latest edition of this Tech Conference.

FAQ

Wunder Interactive's mission is to bring Unreal Engine, a premier native game engine, to the browser, enabling developers to distribute real-time 3D applications and games directly online without the need for traditional storefronts and their associated fees.

Wunder Interactive aims to create an open platform on the web that allows developers to deploy, host, and monetize their games independently, avoiding the 30% fees and restrictions imposed by traditional walled garden storefronts.

Wunder Interactive is utilizing WebAssembly and WebGL to bring Unreal Engine to the web, and they are working on integrating WebGPU to leverage modern hardware capabilities for improved graphics and performance.

Wunder Interactive has added support to the latest versions of Unreal Engine, up to 4.27, and is planning to support Unreal Engine 5. They have also developed improved compression techniques and a dynamic asset streaming system for better performance and smaller file sizes.

Wunder Interactive's platform includes a hosting platform, a front-end dashboard, and a discovery service for developers. It offers tools like the Wonder SDK for texture compression, an HTML5 export pipeline, and Wondernet for networking libraries.

The future vision for Wunder Interactive includes support for Unreal Engine 5 and WebXR to enable cross-platform VR applications. They aim to support multiple game engines like Unity and Godot, facilitating a distributed open metaverse with seamless interoperability between different virtual worlds.

Wunder Interactive is tackling the challenge of large file sizes by implementing advanced texture compression and a custom asset file system that streams assets dynamically as needed, significantly reducing the initial load time and improving overall user experience.

Alex St. Louis
Alex St. Louis
33 min
08 Apr, 2022

Comments

Sign in or register to post your comment.

Video Transcription

1. Introduction to Unreal Engine in the Browser

Short description:

Alex Saint-Louis, co-founder and COO of Wunder Interactive, shares the mission of bringing Unreal Engine to the browser. They aim to enable cross-platform, real-time 3D applications and games, allowing developers to distribute directly online without going through storefronts. Alex's passion for media and games started with browser games, and his fascination with the intersection of film and games led him to research the Unreal Engine. Along with his co-founder Rob Stewart, they believe in creating an open platform on the web for game developers to freely distribute their apps. They started Wonder Interactive after realizing the commercial opportunity presented by WebAssembly and WebGL. They conducted research on Unreal Engine on the web and found that Mozilla partnered with Epic Games to bring it to the web.

♪♪ Okay, hello and welcome. My name's Alex Saint-Louis, I'm the co-founder and chief operating officer of Wunder Interactive. Delighted to be speaking to you today about Unreal Engine in the browser.

Just a bit of context on my company. We're on a mission to bring one of the world's premier native game engines to the browser, enabling cross-platform, real-time 3D applications and games, enabling developers to ship their applications without the need to go through wall-to-garden storefronts and pay 30% fees to storefronts and distribute directly online to their users.

So, a little bit about my background. I actually come from the realm of film and TV. I had an agent for a while, did some film here in Canada. Lifelong passion for media, games, got me started on the road to the video game industry. I think browser games were the first games that I ever played, had access to on just a regular computer. The ability for me to click a link and just instantly jump in was like magic to me. Club Penguin, RuneScape, those were some of my first real games that I remember playing as a kid.

And started researching the Unreal Engine a few years ago. Got really into it, quite fascinated by the intersection of film and games and where real-time 3D is going. My co-founder Rob Stewart, who is not present for this talk, his background's in computer science, and he's been working with the Unreal Engine for several years now.

So as I mentioned, our vision is to create the most open platform on the web, an alternative app platform for developers to freely distribute their games in real-time 3D apps on the web. And you should be able to ship one code base, one binary, and it should perform the same across all devices. That's our belief. You shouldn't be hampered by walled gardens that demand a cut, have rules and regulations in place. You should be able to host, deploy, monetize on your own terms as a game developer.

So how we got started, one of Rob's initial clients with one of his software development companies was interested in web-based support for their Unreal Engine game. I was interested in web support. Around the same time, Rob and I connected and we realized the real commercial opportunity around the new technologies, WebAssembly and WebGL and how they would once again just disrupt the method of distribution for games online. And we started working together. We founded our company, Wonder Interactive, raised some seed funding. And last year we officially kicked off.

So we did a bit of research into Unreal Engine on the web. And it turns out that since Unreal Engine 3, Mozilla actually partnered with Epic Games to bring Unreal Engine to the web. And as you can see here in this GIF, that's representation of actually what was a mobile game called Epic Citadel. So kind of like World of Warcraft style graphics.

2. Pushing the Limits of 3D on the Web

Short description:

Now, WebGL 2 is based upon OpenGL, which is an old API. It's decades old. And so WebGPU is clearly the future 3D on the web, because you're going to get that Vulkan quality graphics API that can fully tap into modern hardware. And so this is a quantum leap from what you can do today. So we are currently working on a WebGPU back end for our platform for Unreal Engine.

Now today that's about OpenGL ES 3.1. So about a mobile game, several years old mobile game. That was running in the browser and also on phones. So it was an effort and a collaboration between Mozilla and Epic to see how far could web and 3D on the web be pushed.

And this actually turned into robust support in Unreal Engine 4 with the release. Once 4.23 version of the Engine came out, HTML5 support was officially deprecated and removed. There was only WebGL1 support present in the Engine at this time. There was no optimization for file sizes. So you would have these very large binaries that you'd be requesting the user to download over the network.

As you know on the web, as many of you know developing games, an instant start time, rather, is crucial. The time from your users clicking a link to jumping into the action, it has to be as minimal as possible to be successful. That's what users expect. The same way that they expect a 2D web page to load quickly and populate with content, they also expect the same for games on the web. Any type of content on the web, quite frankly. And below there is a blog post if you want to check out more on the history of Mozilla and Epic's work together.

As I mentioned, we raised a small seed round last year, started filling out the team. We also reached out to Epic Games and we wanted to see where they were at, to see if they'd be interested in us picking up the torch from where they left off what we considered unfinished work. So how far have we gotten? We've actually added support to the latest versions of Unreal Engine. I'm quite happy to say 4.24 all the way up to 4.27. Since 4.23, as I mentioned, Epic publicly removed support and made it a community supported platform extension. But nothing has really been done with it. So we've actually built out support for the newest releases of the engine. Unreal Engine 5 is in the works.

Now, WebGL 2 is based upon OpenGL, which is an old API. It's decades old. And so WebGPU is clearly the future 3D on the web, because you're going to get that Vulkan quality graphics API that can fully tap into modern hardware. And so this is a quantum leap from what you can do today. So we are currently working on a WebGPU back end for our platform for Unreal Engine. Some of the other innovations are initially, as I mentioned with previous versions of HTML5 support in Unreal, you would have to ship a very large binary. There was no code splitting.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Utilising Rust from Vue with WebAssembly
Vue.js London Live 2021Vue.js London Live 2021
8 min
Utilising Rust from Vue with WebAssembly
Top Content
In this Talk, the speaker demonstrates how to use Rust with WebAssembly in a Vue.js project. They explain that WebAssembly is a binary format that allows for high-performance code and less memory usage in the browser. The speaker shows how to build a Rust example using the WasmPack tool and integrate it into a Vue template. They also demonstrate how to call Rust code from a Vue component and deploy the resulting package to npm for easy sharing and consumption.
Making JavaScript on WebAssembly Fast
JSNation Live 2021JSNation Live 2021
29 min
Making JavaScript on WebAssembly Fast
Top Content
WebAssembly enables optimizing JavaScript performance for different environments by deploying the JavaScript engine as a portable WebAssembly module. By making JavaScript on WebAssembly fast, instances can be created for each request, reducing latency and security risks. Initialization and runtime phases can be improved with tools like Wiser and snapshotting, resulting in faster startup times. Optimizing JavaScript performance in WebAssembly can be achieved through techniques like ahead-of-time compilation and inline caching. WebAssembly usage is growing outside the web, offering benefits like isolation and portability. Build sizes and snapshotting in WebAssembly depend on the application, and more information can be found on the Mozilla Hacks website and Bike Reliance site.
Optimizing HTML5 Games: 10 Years of Learnings
JS GameDev Summit 2022JS GameDev Summit 2022
33 min
Optimizing HTML5 Games: 10 Years of Learnings
Top Content
PlayCanvas is an open-source game engine used by game developers worldwide. Optimization is crucial for HTML5 games, focusing on load times and frame rate. Texture and mesh optimization can significantly reduce download sizes. GLTF and GLB formats offer smaller file sizes and faster parsing times. Compressing game resources and using efficient file formats can improve load times. Framerate optimization and resolution scaling are important for better performance. Managing draw calls and using batching techniques can optimize performance. Browser DevTools, such as Chrome and Firefox, are useful for debugging and profiling. Detecting device performance and optimizing based on specific devices can improve game performance. Apple is making progress with WebGPU implementation. HTML5 games can be shipped to the App Store using Cordova.
Building Fun Experiments with WebXR & Babylon.js
JS GameDev Summit 2022JS GameDev Summit 2022
33 min
Building Fun Experiments with WebXR & Babylon.js
Top Content
This Talk explores the use of Babylon.js and WebXR to create immersive VR and AR experiences on the web. It showcases various demos, including transforming a 2D game into a 3D and VR experience, VR music composition, AR demos, and exploring a virtual museum. The speaker emphasizes the potential of web development in the metaverse and mentions the use of WebXR in Microsoft products. The limitations of WebXR on Safari iOS are discussed, along with the simplicity and features of Babylon.js. Contact information is provided for further inquiries.
Making Awesome Games with LittleJS
JS GameDev Summit 2022JS GameDev Summit 2022
34 min
Making Awesome Games with LittleJS
Little.js is a super lightweight and fast JavaScript game engine that has everything included to start making games right away. It has a tiny footprint and no dependencies, making it perfect for size-coding competitions like JS13K. Little.js is built with an object-oriented structure and comes with several classes. It provides a fast rendering system, a comprehensive audio system, and various starter projects for different game types. Little.js is designed to be simple and easy to understand, allowing you to look at and modify the code.
How Not to Build a Video Game
React Summit 2023React Summit 2023
32 min
How Not to Build a Video Game
Watch video: How Not to Build a Video Game
The Talk showcases the development of a video game called Athena Crisis using web technologies like JavaScript, React, and CSS. The game is built from scratch and includes features like multiple game states, AI opponents, and map editing. It demonstrates the benefits of using CSS for game development, such as instant load times and smooth transitions. The Talk also discusses optimizing performance, supporting dark mode, and publishing the game to other platforms.

Workshops on related topic

Make a Game With PlayCanvas in 2 Hours
JSNation 2023JSNation 2023
116 min
Make a Game With PlayCanvas in 2 Hours
Top Content
Featured WorkshopFree
Steven Yau
Steven Yau
In this workshop, we’ll build a game using the PlayCanvas WebGL engine from start to finish. From development to publishing, we’ll cover the most crucial features such as scripting, UI creation and much more.
Table of the content:- Introduction- Intro to PlayCanvas- What we will be building- Adding a character model and animation- Making the character move with scripts- 'Fake' running- Adding obstacles- Detecting collisions- Adding a score counter- Game over and restarting- Wrap up!- Questions
Workshop levelFamiliarity with game engines and game development aspects is recommended, but not required.
How to make amazing generative art with simple JavaScript code
JS GameDev Summit 2022JS GameDev Summit 2022
165 min
How to make amazing generative art with simple JavaScript code
Top Content
WorkshopFree
Frank Force
Frank Force
Instead of manually drawing each image like traditional art, generative artists write programs that are capable of producing a variety of results. In this workshop you will learn how to create incredible generative art using only a web browser and text editor. Starting with basic concepts and building towards advanced theory, we will cover everything you need to know.
PlayCanvas End-to-End : the quick version
JS GameDev Summit 2022JS GameDev Summit 2022
121 min
PlayCanvas End-to-End : the quick version
Top Content
WorkshopFree
João Ruschel
João Ruschel
In this workshop, we’ll build a complete game using the PlayCanvas engine while learning the best practices for project management. From development to publishing, we’ll cover the most crucial features such as asset management, scripting, audio, debugging, and much more.
Introduction to WebXR with Babylon.js
JS GameDev Summit 2022JS GameDev Summit 2022
86 min
Introduction to WebXR with Babylon.js
Workshop
Gustavo Cordido
Gustavo Cordido
In this workshop, we'll introduce you to the core concepts of building Mixed Reality experiences with WebXR and Balon.js.
You'll learn the following:- How to add 3D mesh objects and buttons to a scene- How to use procedural textures- How to add actions to objects- How to take advantage of the default Cross Reality (XR) experience- How to add physics to a scene
For the first project in this workshop, you'll create an interactive Mixed Reality experience that'll display basketball player stats to fans and coaches. For the second project in this workshop, you'll create a voice activated WebXR app using Balon.js and Azure Speech-to-Text. You'll then deploy the web app using Static Website Hosting provided Azure Blob Storage.
Tiny Game Live Coding Workshop
JS GameDev Summit 2023JS GameDev Summit 2023
115 min
Tiny Game Live Coding Workshop
Workshop
Frank Force
Frank Force
Dive into the captivating world of micro-game development with Frank Force in this interactive live coding workshop. Tailored for both seasoned developers and curious newcomers, this session explores the unique challenges and joys of creating games and demos with extreme size constraints.