One of my requirements is to reduce the engine executable size - which from what I understand is currently is around ~ 20-30 MB?
Reason being, I’m trying to build a 3D HTML website, and the engine size is the show-stopper. Till the 20 MB engine is first downloaded by the browser, the initial screen will not render. Users wouldn’t like to download a 20 MB file every time they access the website. And if they’re over slower networks, there would be a wait for this 20 MB download.
Since this is a website, multiple users would be accessing it. From what I understand, UE4 doesn’t scale up to beyond few hundred users in multiplayer-mode? I could be wrong though. And that one would need to modify the engine in order to support a large (~ thousands, or even more) number of users.
For those of you who’ve ventured down this path - how easy (or difficult) is to understand the UE4 code-base and customize the engine to fit one’s requirement ?
When you build the engine to JavaScript, it’s probably bigger than that. Just like Unity. Our Unity JavaScript build is like 100 MB.
Meanwhile, our custom engine is more like 3 MB (Still C++ compiled with Emscripten, but we did a LOT of hard-core profiling and size optimization to get it there.)
The Unreal Engine is a really large code base. As far as large code-bases go, it’s actually reasonably alright, because it does most things in the same way, rather than bolting on 100 different external approaches and libraries.
However, if you haven’t worked with code bases in the millions-of-lines size before, you’ll find it hard to get going, just because it would be like that for any large code base.
Will these thousands of users interact with each other in the UE4 game?
As for significantly reducing the size, you will probably need expert knowledge of game engines and C++. Epic are themselves trying to get the package smaller for mobile and web use and it is not a trivial task.
One thing to remember is that there will be caching so the user won’t have to download everything on each visit.
That’s fantastic! Does encourage me to consider venturing into code-base mod! Other than the UE engine documentation, what other sources did you use for your size-optimization? How much time did you spend on achieving this?
Also, is this 3 MB the compressed, or uncompressed size? Thanks.
Thanks. Some of these users will interact with each other. It would be a sort-of social-networking website (with possibly Ecommerce transactions as well).
Caching is something I’ve considered, in addition to browser-based saving.