 Godot 4.0 has one major issue. It's web builds. They're the one thing that's holding me back from a wholeheartedly recommending the engine. I've been loving Godot 4.0. I started learning Godot with 4.0 in the beta stages because I knew it was gonna be the new version of the engine. Might as well just stick with it. I don't know what's coming up rather than an older version. Godot has handled everything I've thrown at it well from all the different little prototypes and experiments I've made. I love that it's free. An open-source cross platform makes 2D and 3D games. It has useful built-in tools like the tile map editor and the physics systems. It's quick to work with. I know they'll make games quickly. It has a really great large community that has been really kind and supportive. But there's one major issue I've come across. It's the first show stop where I've seen that made me go, I don't know if this is the right engine for me or I don't know what to do about it. And it's a web export. So there are issues with how long games take to load up and boot and it doesn't work in every browser on every operating system. A nearly empty game takes 40 plus seconds to load on macOS. On Firefox it takes 49 seconds. On Chrome it takes 84 seconds nearly two times the speed of Firefox because of the rendering engine that Chrome's using. Now here's me booting a fresh game that's just a spinning Godot logo. And I want to show you what that experience is like. You click play game it shows a loading bar and loading bar progresses but then it just stalls out. And this is in Firefox so it's gonna take about 50 seconds to load. And now I did command shift hour to hardware load because the fresh cold boot. I don't know if it will boot faster on reload but from my understanding is that it's an issue with how shaders are compiled in with Godot for on Mac browsers. Now I'm not going to wait for this to go because it's still going right and that feeling maybe I should wait for it to go because this is how it feels as a new as a player of a game right and it finally loads there's a disputing logo in the text that's all the game is you know that that that feels like the game's frozen or it's it's on it I think it's unacceptable right as a player it just you don't know what's happening there's no feedback about the loading or like even if there was just a warning that said the game is loading it might take a little more time in your browser and the JavaScript that's loading Godot could detect that okay we're on Mac and you know we could give a warning that is a little slow so that's just one aside but that's how it feels that slow and then on Chrome I sent my game to a friend and he opened it up and it froze Chrome says you can wait for it to become responsive or exit the page and this that feels bad right that makes me not want to share my games with people because it's freezing their browser and yeah like that's to me this is a really big problem now Godot for Dotto's web games don't even run in Safari on Mac OS or iOS but 3.5 Godot 3.5 games do and this is kind of adds insult to injury especially on Mac OS now let's compare 4.0 gate the same game made in 4.0 converted to 3.5 now this is just on Mac OS it loads about 10 to 20 times faster 3.5 to 4.0 so the boot time is so much faster and so something changed with the way that Godot 4 works right and then the functionalities that it's trying to use is causing these issues specifically on Mac OS on Linux everything runs fine and loads without slowness an issue which I think makes it even more challenging to debug or fix now it's a known issue here's the GitHub issue it takes one to two minutes to load on Mac OS and there's quite a bit of discussion so it's a known issue right that's good it's been reported I can follow along with it hope that it gets faced and improved in some way there's also a bug for the web builds not loading in Safari okay great reading through those the summary of it seems to be a shader compilation issue on Mac OS and then a different issue I think multi-threaded wasm builds wasm is the web assembly the technology that a lot of game engines are using to build in Godot 4 it's using multi-threaded support which seems like maybe Safari doesn't support so the browser vendors are behind and the browser vendors and in macOS and Apple are to blame right like they're the source of the problem Godot is making use of the technology that you know is supported by a large majority of the ecosystem but not by all of them in regardless of who's to blame it is an issue that exists in Godot 4.0 but doesn't in Godot 3.5 and regardless of the blame this is something to be aware of and it's something that players don't care about right players don't care whether you're on the dough 3.5 or the Godot 4.0 or a different engine right what they care about is that it loads quickly and is responsive and that's ultimately what it matters is is what the experience is for the players of the games now on top of this Godot 4.0 those web exports require a special server setting called shared array buffer and you can enable this on h.io a place where you can upload your web builds but then what happens is it breaks YouTube events so like it's it's a functionality that you know you can enable in certain places if you host your games on your own server you can set those headers and then on it shows a blocked page when you put your YouTube in bed so you know on top of the weird vendor support there's some other oddities and challenges that bummed me out a bit but why do exports matter maybe they don't for you and that's that'd be true if you're building games specifically for Android 9 OS where they're compiled and you're putting them in the app stores great maybe you're planning to build desktop games and you go well I don't need to worry about those it's not a problem but web builds are so important for small games that for whatever reason people might not want to download if you made a game and it's just made to be played for like a minute or two people probably don't want download that if it's a ten minute experience you play once probably people don't want to download that and I'd argue that the web is one of the most if not the most important platform for new game developers you're just starting out and you don't have any fans or an audience and you're making small games to learn how to even do it the easiest way to share your game is to upload it to the web and have a URL you can send anyone with a computer that they can load it up regardless of operating system regardless of what browser they use it's just a really quick and amazing way to share those games and it's a way to get players to play your game because there's a lower barrier of entry you don't have to download and install and run an executable which maybe you're using maybe your players using a machine that they don't have the permissions to install or run executables or maybe you know someone's worried maybe about viruses or you know that kind of stuff right like some people might not run programs from untrusted sources and understandably so so but with the web it's being run in the safety and sandbox of your browser and that's that's like that's a really big selling point the cross platform by default you know ideally just like how browsing web and watching YouTube videos you know works on Firefox on Linux and Windows on Edge and all these different places that's like you know a pretty big feat the dream of the web that cross-platform dream it's been something that's been touted for a long time that it's secure and it's pretty fast yeah it's not as fast as running a native application but I think generally like web pages load quickly and when there's not a bunch of stuff slowing down the page like ads and whatever it's like I think the web is a really amazing thing I love the web also I work in the web that's my full-time job but has it ever really truly been cross-platform I've spent my entire career dealing with browser specific issues that's how fixing way things look or JavaScript differences that kind of thing so I think it's always been a dream kind of continues to be a dream but with a good dough what am I to do what's a person supposed to do I could add warnings and caveats that my games don't work in Safari and yeah they load slowly on Chrome and Firefox and macOS but that kind of stinks right that's kind of like just a bad experience it's like when Google makes things for the web but then they only run in Chrome or they run like 20 times faster in Chrome you know because they make the browser and stuff it's like that kind of stuff just like feels bad so I don't want to lose the nice features of 4.0 that don't exist in 3.5 also there's changes to the gpscript and game settings and you know functionality that I'm used to and have learned and want to keep using in 4.0 so like I can't imagine just downgrading to 3.5 unless it was like I'm really just gonna make web games and that's kind of my main focus Calano one of the maintainers of the dose just maybe it'd be worth looking into creating a four-to-three project converter in the GitHub issues that would basically work like you make your game in Godot 4 and then there's some tooling that converts everything to be compatible with Godot 3 and then you would export the game using Godot 3.5 so you could use you know what you're used to in Godot 4 but get the fast exports of Godot 3.5 that seems like a lot of work it doesn't exist someone would have to step up and make it this stuff is kind of beyond my knowledge and skill level in a lot of ways so I'm not sure how much I can be of help and it also coming down to the browser vendors is another challenge there do I learn a different game engine that has better web export support maybe if I was planning to make web games which I think there are people who are like I want to make games for the web right for all the reasons I shared it's cross-platform it's easily distributable you can make mobile games on them that people could run their phone browser like you know there's a lot of people who want to do that and I think if I wanted to yeah maybe I would learn phaser or JS or you know something else that has better support that's also open source you know but I think people use unity and people use a bunch of different engines that have better cross-platforms so we're waited out I think that's the path I'm gonna choose because I want to keep learning to go for I want to invest in that future I'm not really trying to make web only games web games are sort of nice that it's supported but the type of games I want to make like primarily action games I don't think they're gonna run particularly well in the browser and I want to make 3d games to that where performance is really important so you know my ultimate plan and I think destination is PC games on the desktop so to me I'm gonna wait it out and just hope it gets better hopefully Apple and the browser vendors will fix their issues fingers crossed might take a while and I've heard mentioned that maybe could go forward out one or a future version will have single threaded web export which would alleviate some of the challenges and issues here particularly with those settings but cross but multi-threaded web export is really nice for for game performance so right it's always these trade-offs with the web of like how do you take on new functionality to allow for developers to make better experiences while also still supporting older devices and people on different operating systems it's a really tricky dance and I have a lot of sympathy and empathy for Godot's developers and people making games and things for the web Godot has a lot of these awesome features that I don't want to lose so I just want people to know about this issue especially since not everyone would be aware of it you might not have Apple hardware to test on you might be using Linux or Windows and not even be aware that this is an issue but to me this is a showstopper or it's at least a you know big bulb text okay if you're on macOS this doesn't work or if you're deploying your web games to a place you have more control over than it you might want to go ahead and code up some support that says a warning or says this doesn't work on Safari it's not a super dire issue right through this every browser every operating system that would be like oh wow there's a comb you know that would be bad but if it since it's only pretty limited I think you know to macOS and then doesn't work on Safari it's a bummer I think it might be a showstopper for the type of games certain people want to make but you know mostly bummer all right thanks hope this is a helpful all right see you bye