Code bloat getting crazy

Hey, I’m doing the upgrade here to 4.24.1 from 4.23.x and I was a little shocked at the amount of new code that keeps getting added to the engine, some of it of questionable need?

Specifically, Unreal Engine 4.24.1 (pulled from Github) contains 123,367 files. Of those, 29,042 files are in this folder: Engine\Source\ThirdParty\WebRTC. If you look at what is going on there, there are multiple versions and multiple targets under that folder that all contain very similar source code, 4000 files for each of 5 targets under rev.24472.

Please consider if it is truly necessary to increase the footprint of the engine by 30% to support one package in this manner.

1 Like

I haven’t checked 4.24 yet but I agree that the engine is getting somewhat bloated…

I installed UDK some time ago (with no intent of developing with it - just wanted to check a few things) and I was surprised how tiny it was. UE3 had a modular architecture very similar to that of UE4 but there was only a dozen of modules or so. And that was the engine that powered so many great games!

I have also checked UE-4.0.1 recently which was the very first version of UE4 from 2014. Compiling it took about 10 minutes on my machine compared to 30-40 of the most recent versions. And while it was not as stable and far not as feature rich as the most recent versions of the engine I must say it would cover about 90% of my needs as an indie developer with the notable exception being the lack of game UI system out of the box (UMG was integrated around 4.5 or so if I remember correctly)

I totally understand the direction the engine is heading to and I love the new tools it’s getting (especially the Sequencer, yay!) but I also think that Epic will have to start keeping an eye on bloating and start paying more attention to modularity at some point with better separation of “core” features (that 90% of users need) and additional features. Currently I feel like the engine becoming a bit Microsoft Word-ish where an average user would use only 10% of features. I understand that those 10% are different for each user though.

Hohohoho… yeah…looks like they are going in the opposite direction here

I agree it’s getting ridiculous, I wish we could just download a “core” and then source for just the plugins that we need. That doesn’t even count half-baked features that are part of the “core” and don’t really work, like LPV.

Is it safe (or even possible) to exclude built-in plugins from an engine build?

Last I checked if you disable a plugin in a code project the plugin will not be built with the project. But you have to build your project not UE4 because UE4 will still build all plugins for the platform.

Also from my experience deleting a plugin from Engine/Plugins usually doesn’t do any harm. And if you need that plugin later you can restore it from your version control or from the original version of the engine.

Interesting…will have to try out the “just delete the ■■■■ thing” technique!

Recently I’ve been using unity to develop a mobile game and have really appreciated the direction they seem to be taking the editor. It looks like they’re moving a lot of the engine functionality out to packages that you can optionally download.