No announcement yet.

Source Build File Size Issue

  • Filter
  • Time
  • Show
Clear All
new posts

    Source Build File Size Issue

    So I'm using a 4.24.1 source build. The whole folder's size is over 140GB. My previous engine of 4.21.2 was also around 80GB. I don't have anything custom in the engine apart from a few plugins that are 3GB total.

    Is this size normal or did I do something wrong? The enormous size is becoming a problem for my PC.
    Grand Guilds | Twitter | Facebook

    AI Behavior Toolkit - UE4 Marketplace

    Yeah, 4.24 really expanded binary footprint compared to 4.23. On mine 4.24 is about 116GB, 4.23 was 85GB.


      What bloats the size so much: intermediary files / symbols etc?
      Might be worth cross-posting here to get more eyeballs on this.
      Its mostly to do with binary build install size but since its related...


        Yes, it's a little bit of everything going from 4.23 to 4.24.

        Engine\Intermediate +8GB
        Engine\Plugins +13GB
        Engine\Source +4GB

        Lots of it is obj files, Unity build intermediates, PDB files, and DLLs for new code modules. Like in Plugins\Experimental, it adds 3GB of footprint not really from any one thing but just because a bunch of plugins were added.


          I removed majority of plugins, reverted the addition of Datasmith stuff and manually patched the unreal build program (I deleted all the source files and commented out code) to not look for and not generate binaries for any platforms I am not touching (XR, VR, iOS, etc) specially the WEB stuff.
          I think I removed tens of thousands of files, even before making a first binary build.

          I think Unity engine has a modular installer nowadays, Unreal only let us select platforms if you are installing from launcher and that doesn't help much.
          | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |


            I wish the file "setup.bat" was better documented. This is one of the worst offenders for disc footprint. It downloads a colossal amount of stuff, either by default or perhaps it makes some guess about what targets you want to build for. PhysX, for example, expands greatly after setup.bat is run because it downloads binaries for a ton of possible platforms.

            The command line parameters for setup.bat seem to have been changed without notice? They do not seem to work properly. I have not been able to limit it to downloading Win64 libs, for instance.


              If you have NDK installed it downloads all the things Android just because.
              This is not exactly the kind of automation I like.
              | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |


                So excluding things manually from Setup.bat sort of works, but with warnings. I suspect Epic does not test this way and just includes everything.

                ./setup.bat --exclude=Mac --exclude=iOS --exclude=Linux --exclude=Android --exclude=HoloLens --exclude=TVOS --exclude=Win32

                That reduces binary footprint after Setup.bat from 47 to 22 GB, but the build now has new warnings coming from AutomationUtils, which seems to have its own idea of what platforms to build for:

                55>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "BouncyCastle.Crypto". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
                55> IOS.Automation -> E:\dev\Unreal_4_24_1\UESetupPartial\Engine\Binaries\DotNET\AutomationScripts\IOS\IOS.Automation.dll