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.
Unreal Engine in WebAssembly/WebGPU
AI Generated Video Summary
Alex Saint-Louis, co-founder of Wunder Interactive, shares the mission of bringing Unreal Engine to the browser, enabling cross-platform 3D applications and games. They are working on a WebGPU back end for Unreal Engine to push the limits of 3D on the web. Wunder Interactive has improved compression, built their own asset file system, and offers powerful tools for game developers. They are utilizing modern web technologies like WebAssembly, WebGL, and WebGPU, and plan to support other engines like Unity and Godot. The team aims to transform the industry by bringing console-quality games to the browser and providing an alternative distribution path. They are excited to bring Unreal Engine 5 to the web with WebGPU support and are working on WebXR support for cross-platform 3D experiences, including VR.
1. Introduction to Unreal Engine in the Browser
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
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.
3. Improved Compression and Powerful Tools
We've improved compression and built our own asset file system for dynamic streaming of assets. We support protocols like web transport for faster real-time networking. Our platform offers a hosting platform, a front-end dashboard, and a suite of powerful tools. We have texture compression, HTML5 exporting, and a global CDN edge network for asset streaming. We also provide Wondernet, a suite of networking libraries, and the Wonder dashboard for uploading and maintaining builds.
There was no really good file compression. You can't just ship a mobile game or PC game on the web. You need to do it in a different way, in a web way. So what we've done is we've added much, much improved compression, basis compression, actually, texture compression. And we've also built our own asset file system that streams in assets as needed dynamically.
So only the content that you need to see at any given time. So if you're a user, you're a developer creating a game and you ship that game, you say, OK, so the user is only going to need the first 5% of the game because that's actually the menu and maybe another couple percent, let's say 7% of the game. The menu and the intro screen and the cinematic and then the first lobby that you load into with a bit of gameplay. You don't need to load the other 93% of the game. You can do that while the user's playing the game. You can actually fetch in all those assets at run time and it's a much better overall user experience. We're also going to be supporting protocols like web transport. We're going to have a much faster way to actually do real-time networking on the web for games. As I mentioned, WebGPU support. We've brought on a developer to work on that because it is indeed the future.
About our platform, what do we actually offer? We offer a hosting platform, a front-end dashboard and discovery service for developers, and a suite of powerful and flexible tools. Starting with the Wonder SDK. As I just mentioned, the base is texture compression. We've added that in. We have a pipeline for exporting to HTML 5 that's available with a custom version of our Engine, either the source version or binary tools, and an asset streaming system that's actually hosted on a global CDN edge network. We've also put together Wondernet, which is a suite of networking libraries for both peer-to-peer and client-server communications. So if you want to do peer-to-peer, if you want to do classic client-to-server in your game, you can do so. You can run online games. And then the Wonder dashboard for uploading your builds, setting new revisions as active, and just in general, provisioning and maintaining your builds. I'm gonna show you a demo today. We also have a video here, but I'm just going to show you this demo. Click. I'll show you the castle demo today. Now, the first time that you actually load the game, it's going to have to pull all that data down, but the next time that you load it, it's going to be much faster. So this is my first time loading it.
4. Web Technologies and Future Plans
And as you can see, this is for client-side binaries. Utilizing modern web technologies like WebAssembly, WebGL, WebGPU, and soon to be WebXR. We're also working on support for other engines to target the web, including Unity, Godot, and Amazon's Open3DE engine. We're excited to announce WebXR support for cross-platform VR applications, enabling developers to ship to all devices with one code base. Our vision is to stitch virtual worlds together and create a future where links become portals and flat pages become immersive spaces.
And as you can see, this is for client-side binaries. This is probably the most impressive 3D browser demo you've ever seen. You can achieve far beyond this with pixel streaming, but obviously, you're then, you're then requiring the user to have a very fast network, whereas powerful hardware is very pervasive, so. Why not leverage that hardware? Utilizing modern web technologies like WebAssembly, WebGL, WebGPU, and soon to be WebXR.
So let's go back to the slides here. Hello there, and welcome. Save that video for another day. And what else are we working on? We're also working on support for other engines to actually target the web. So Unity has had HTML5 support for many years now. It's not in the best place. The aforementioned issues around file sizes, networking, it's quite honestly a bit of a mess. And so once we finish up our support for Unreal Engine, we're then gonna commence work on Unity. And we wanna get it so you can, as a developer, build a Unity or an Unreal world, ship both to our platform and have the ability for users to jump from one to the other. These worlds, virtual worlds, should live beside one another. And to me and to our team, quite frankly, that is the metaverse, when you can jump from world to world, when you can click a link and you have true interoperability between separate worlds, made with different engines. That's the future. We're also working on support for Godot, the Godot game engine, and Amazon's Open3DE engine for WebAssembly support. And we are, of course, gonna have Unreal Engine 5 support on the web as well once Epic Games ships UE5 later this year.
Also, we are very excited to announce that we're working on WebXR support to enable cross-platform VR applications through any browser, through a headset. So Apple is gonna be releasing a headset fairly soon. The Oculus Quest 1 and 2 are the most widespread headsets out there to date. You got Valve coming out with a headset. There's gonna be a proliferation of these headsets in the next few years, and being able to empower developers to ship to all of those devices with one code base, and knowing that it just works, there's no intermediary that needs to interfere with the distribution of your applications right once, run anywhere, is truly what we're about here. And we think, like I mentioned, stitching these worlds together, when you can jump from a virtual experience or virtual world that's not only 3D on phones and computers and laptops and tablets, but fully 3D and immersive on headsets. When links become portals, and flat pages become immersive spaces and rooms and worlds, this is the future that we're quite excited about, so we're going to have WebXR support for both Unreal Engine and Unity Engine.
And I believe this is when we're going to go into the Q&A, which we will be doing live, so I'm going to skip over that. And our final call to action, if you're a developer that has utilized Unreal Engine and anything that I've said here today excites you, please come and talk to us, we would love to hear about what you're working on. We're building these tools and platform for you to enable you to ship, distribute, deploy, and be successful with your applications and run them on any device. So we have a Discord that I've linked in the slide. You can also sign up for our service for early access, and if you're interested in a role with our company, also feel free to reach out, we are indeed hiring.
5. Favorite Game and Q&A
My favorite game is Curse of Monkey Island, a fantastic game with a unique in-game audio engine. It was a groundbreaking experience for me as a young kid. We also discussed other great games like Civilization, Dune, Shadow of the Colossus, GTA V, Elden Ring, Witcher, Legend of Zelda, and Omari. Now, let's move on to your questions.
And thank you so much for tuning in. I can't wait to hear the rest of the talks at this conference. And I really hope that you have a great rest of your summit, and thanks so much for coming to listen to me speak about our work that we're doing. Thank you.
So my favorite game is actually a title that probably not a lot of people have heard of. I hope some developers out there and gamers have heard of it. It's Curse of Monkey Island, it's a game by LucasArts, now owned by Disney. Just really fantastic game, like in terms of visual storyline. Interestingly enough, Ron Gilbert, I believe his name was, created a game engine that had unique patents for in-game audio to trigger events in-game. So maybe when you would step off a pirate ship, it would, or onto an island, it would actually trigger a soundtrack. And that was unheard of at the time. So I remember playing it as a young kid on my computer and just being totally blown away by the experience. So. It was actually super cool.
I see we have civilization as the top results here. Yeah, that's interesting. And actually I made sure that Dune is up there. So yay, to Dune lovers. The classic. Yeah, exactly. We also have Shadow of the Colossus, of course. GTA V, Elden Ring. Yeah, lots of great games. Witcher, Legend of Zelda, Omari, that's for you. Curse of Monkey Island. Yeah. With my submission for sure. I guess. Yeah, that's super cool. So let's get back to your questions.
6. Demos and Impact of Unreal Engine on the Industry
The demos can be accessed at play.theimmersiveweb.com, providing a range of demos with different visuals and aesthetics. The current demos run on WebGL 2, offering mobile game quality. However, the team is eagerly awaiting WebGPU to deliver shader model five quality visuals and compete with platforms like Steam. Bringing Unreal Engine to WebGPU is expected to transform the industry by enabling console-quality games in the browser and providing a new distribution path that doesn't involve walled gardens.
So we actually have lots of questions because it was really interesting to see what you did. The first question I have is that the demos looked really cool. Can we see them? Are there links to that?
Yes, absolutely. So you can actually go today to play.theimmersiveweb.com, that will actually redirect you to dot slash play domain. And you can today try out a bunch of demos that our team is throwing together. I myself created the Castle demo going for a bit of a Dark Souls aesthetic there. And yeah, we have a few demos up, you know, cartoon visuals, a few mobile-esque games, because this is running on WebGL 2, all of our demos today, it's equivalent to OpenGL ES 3.0, sorry. So you're essentially getting mobile game quality, which in Unreal actually can be quite good. But what we're really looking forward to is having WebGPU, so we can get that shader model five quality visuals, so we can actually deliver games in the browser that can rival something from, say, like Steam.
Yeah, that's super cool. If you could post the links in Discord, that would be awesome.
Absolutely, I'll do that. Thank you. And I have other questions for you. The first one is, as developers, do you think bringing Unreal Engine to WebGPU will shift the landscape of the industry and enable a new distribution path that doesn't involve vault gardens? I was just posting that question there.
Yeah, okay. Do you want me to repeat the question? Do I think that the Unreal Engine is gonna bring in a new wave of games for developers? Yeah, yeah, exactly. I personally believe it's gonna be transformative because today the Unreal Engine is the leading real-time engine for photo-realism in terms of games, not just games, but non-gaming use cases as well like Enterprise 3D, like product configurators, virtual showrooms. And like we've seen with leading social games like Fortnite, a catalyst for virtual concerts and virtual performances. So to date, we've never had the fidelity that Unreal Engine can bring in the browser. And the browsers have never been able to do as good 3D visuals as they can today. And tomorrow is gonna be even more exciting, again, with WebGPU. So today you can ship a mobile-looking game or a few years old-looking PC game and WebGL too. But once we ship WebGPU support in the Unreal Engine with the support of Epic games to make this a proper platform target for developers, just like Unity's work to bring the Unity Engine to WebGPU, you're gonna finally start seeing these console-quality games in the browser. So I personally think it's gonna be transformative. We picked Unreal because we're just so impressed with the functionality and feature set that this engine provides. And it's a large engine, but it has a lot to offer. And I think bridging the gap between native and web is a noble effort. And I think developers, gamers, everybody in the entire industry is gonna benefit as a whole. And our goal is really to open up a new platform for distributing these games where you don't need to go through a walled garden and forfeit 30%.
7. UE5 Launch and Availability
We're excited to bring Unreal Engine 5 to the web with WebGPU support for native-like performance. While some features like Lumen and Ray Tracing may be further off, we plan to fully support shipping games with Unreal Engine 5's new toolset. We're also working on WebXR support for cross-platform 3D experiences, including VR. Although we missed our Q1 2022 availability target, we're working hard to update our site and meet the demand for our tools and platform.
So we like what Epic's doing in their fight against Apple, and we think that this is the solution. Yeah. That's very exciting actually to hear Brandon talk to you about that. It's actually really exciting to see it happening.
I don't think we have enough time, but I'm going to ask you questions really fast. So we have another question. How is a UE5 launch going to impact everything he talks about today? Yeah, I know I was anticipating this question. Obviously, hot off the official release of UE5, everybody's wondering, are we going to be able to support this? So with WebGPU, we're going to be pretty close to native. So we are planning to have nanite support in the browser. Lumen's going to be a bit further off because that's quite intensive. And essentially, Ray Tracing in the browser isn't really a spec that's been defined by the browser vendors yet, although I do expect that to be a thing. For shipping games that don't have crazy looking visuals and are essentially mobile PC games, using the new tool set of Unreal Engine 5, we fully plan to support it. We're going to have WebGPU support in the coming months later this year. And we're also working on WebXR support as well, so that game developers can ship cross platform 3D experiences. So you can have a unified experience. So if you access it across Mac, PC, Linux, phones. But then also not just flat screens. If you put on a headset, you should be able to toggle VR and then enter your scene. So we see this as a path to a distributed open metaverse. And Unreal Engine is really leading the way for the most powerful tool set and the most realistic real-time 3D visuals. So we're very excited to bring the Unreal Engine 5 to the web as well. That's super cool. Thank you.
And another question is that your site has general availability for Q1 2022. Is this still the target? Yeah, so we've obviously missed that target. We were waiting on Unreal Engine 5. So now that that's released, we're going to be updating our site very soon here. We've had an enormous amount of demand for our suite of tools and our platform. So we're working as fast and as hard as we can. We're small, lean team.
8. Addressing Large File Sizes and HTML5 Support
We're addressing the issue of large file sizes in UE web builds. We have an advanced compression library that reduces file sizes and a custom asset file streaming system that loads only what's needed. Our aim is to achieve sub-second, sub-10 second load times for most games on our platform. Proper HTML5 support in Unreal would encourage developers to use the engine for their next browser game.
We're looking to get actually a Mega Grant from Epic to aid us in this. And yeah, but stay tuned for more updates. And if you haven't signed up already on our website, please do so. Also check out our Discord group for Wonder Interactive and the immersive web platform. Thank you.
Are you planning to address huge build sizes to make UE web builds comparable to other engines? Or do you hope that people would be more interested in high-quality games and won't like the first-time download speed? Yeah, I know it's an excellent question. I'm trying to remember if I addressed this in my talk. But large file sizes are one of the big issues, historically. And that's why Epic actually removed support for exporting to HTML5 back in 4.23 release to the engine. So we're effectively solving this. So we realized that large file sizes were one of the biggest issues that developers were coming to us with and that we ourselves noticed. And so we set up to solve that problem. So we approached this in a few ways. So we have an advanced compression library that we've imported into the engine that allows for crunching down of textures, which reduces file sizes. We also have a custom asset file streaming system that dynamically loads in only what's needed for the player to see at any given time. So you're not going to need 80%, 90%, 100% of a game, which might be gigabytes. You can actually load in the menu, which might be 20, 30, 40 megabytes, or smaller with our compression. And everything else can be loaded in at runtime, dynamically in the background, as needed. The user should have the quickest experience possible, and for every few seconds that you're making your user wait, you are actually increasing your bounce rate. So we're continuing to improve our optimizations and continue to advance our tools and continue to speed up our load times. And, yeah, stay tuned for more on this. But we're feeling pretty good about it already. We're aiming for sub-second, sub-10 second load times for most games on our platform. Thank you.
And another question is that, what proper HTML5 support in Unreal encourage you to use the engine for your next browser game? Oh, I think this was the question I was directing at the audience. That was, I was assuming that was for the audience, not myself. I, as a developer, prior to working on this, I actually tried to ship a game, a first-person shooter game. And was unable to do so because of the monolithic sizes of file binaries.
9. Challenges with File Sizes and Unity Support
I, as a developer, tried to ship a game but couldn't due to large file sizes. We're solving this issue and expanding our toolset to support Unity and other engines. Brendan's work on WebGPU for Unity is amazing, and we hope to assist. We're building a platform and tools for web developers and a portal for app discovery. Excited for Brendan's work and potential collaboration.
I, as a developer, prior to working on this, I actually tried to ship a game, a first-person shooter game. And was unable to do so because of the monolithic sizes of file binaries. So we set out to solve this, my co-founder and I.
So if I weren't working on this, and I were a developer using Unreal today, this is something I would absolutely be interested in. And I would pose that question to others out there as well. Would you make a browser game with Unreal with proper support? I think many would, and that's why most developers are turning to Unity, which has slightly better support and actually has an ability to export HTML5 today, just like the Godot engine and various others.
I'll mention as well that we're not just focused on Unreal Engine. We're planning on expanding our tool set to Unity as well. I know there's work, Brendan's working on WebGPU. We think some of the optimizations we've done are going to assist with that. So we plan to support Unity developers on our platform. We're also going to be working to port the Open 3D engine, 3D engine from Amazon, which is open source to WebAssembly and WebGPU as well. And we plan to basically support any engine that's native. And we think bridging all of these game engines together to create a universal way to target a large user base for developers is the way to go.
Yeah, thank you. Super cool. And also, what do you think about Brendan working on WebGPU on Unity? Does it affect your work or does it fasten your stuff? You cut out. Sorry. Can you repeat that? Oh yeah, sure. What do you think about the thing that Brendan is doing with WebGPU on Unity? Does it have an effect on your work or something like that? Is it linked to your work? Yeah. So Brendan's work to bring Unity to WebGPU is amazing. And we're going to stand on the shoulders of giants, the work that they're doing. And I hope that we can assist in that as well. Again, we have some optimizations that we think that we know that Unity hasn't implemented yet. And we'd love to assist with that. And again, we are building not just a platform and a suite of tools for developers to target the web. We're also building a portal and a discovery service to kind of aggregate everything together in a complete software as a service platform for targeted app developers so that they can succeed without needing to utilize Steam or other walled gardens, with an industry-leading revenue share as well. But yeah, very excited for Brendan's work. And we hope to work with him at some point in the future.
10. Working with Unreal Engine and WebGPU Support
We hope to work with him in the future and see the Unreal Engine in the browser with WebGPU. It's important to convince Epic that proper web support is essential for the leading game engine. The web is accessible across every platform and allows developers to distribute their applications directly online, independently. This mission is for all game developers, regardless of the engine they're using.
And we hope to work with him at some point in the future. That would be really good to see, really cool to see. I think we have a little bit more time. So if you want to talk about something more in more detail, it would be awesome.
Yeah. If this talk's been of any interest to you and seeing the Unreal Engine in the browser is something that you want to see happen with WebGPU, we're trying to convince Epic that this is going to be absolutely huge for developers. So if you could let Epic know on the forums, if you're an Unreal Engine developer, we're trying to basically make this pitch that the leading game engine needs to have proper web support. And it's going to be left behind, quite frankly, by the likes of Unity, which is going to have proper web support. And I think, for the metaverse, it needs to be accessible across every platform.
And the web is the one platform that's existed everywhere. It transitioned from computers to phones. I think it's going to transition over to VR as well. And the fact that you don't have a middleman or an intermediary as a developer to interfere with the distribution of your application, you can distribute directly online to your users on your own terms, independently, it's very empowering. And that's the mission that we want to see happen. And we want that for all game developers, regardless of what engine they're using. So yeah, I just wanted to mention that.