Is it possible to build only slate from source?

Is it possible to build only slate from source? I’m currently working on some slate modifications and every time I build, it builds all projects under the ue4.vcxproj and it takes 30-45 mins for me.

You should only build the project you are using with your source build, if you build the whole solution it will build a lot of stuff. Also if you modify headers that are used in a lot places, thus hold a high level of dependence to them, a lot modules has to be build too.

To lower compile times ensure you are on a SSD or at least have you Intermediate folder on one and that you are using all your CPU power. This is a small guide on how to lower compile times.

That’s the issue, I’m modifying the UE4 source. Specifically the Slate module. But I’m currently only changing the way a function handles it’s parameters and I don’t need every module that depends on Slate to build. That guide is helpful though. Thanks!

I know UBT support compilation of invidual modules since editor does that, i dig in code in find it uses -module option on UBT, there also -modulewithsuffix which i suspect compiles all modules that starts with name

Right click UE4 project and got to properties, in there you will have NMake and in to build, rebuild, clean command lines include -modulewithsuffix Slate at the end

Remember that this configuration resets each time you regenerate project files

The issue with that is that with different code sizes you could get unexpected crashes.

I don’t believe that is correct. But if anything referenced externally such as function names, parameters, variables, etc is changed, it will crash because it changes it’s calling signature. I could be wrong. With that said, though, I am only currently modifying functions called by Slate.

Well all modules are compiled sepretly, including you game module, so there really not much of a diffrence. If you do get crashes you just rebuild whole engine.

Either way this is best solution you can get, either that or compiling of whole engine

This works but it must not be a solution configuration Development_Editor. It must be a solution configuration that has a suffix so that dlls are created with the correct file name. UBT expects a suffix or it fails to compile. Also -module Slate works. I’m using the Debug_Editor configuration and I had to completely clean the Development_Editor solution and then do a build of the Debug_Editor solution. After the build of the default Debug_Editor configuration, I added the command line arguments. Thanks for the help!

Scratch that. It just needs to be a rebuild with the -module Slate arguments. Not sure why. Maybe a bug.

In the end, I just did a full rebuild, copied the binaries into a new directory and then built slate with the -Module Slate argument and move it to the new folder. Otherwise it’s just a bit finicky about what to clean.

After all tests and whatnot, this is still a pretty buggy process. I just opted to continue to build everything that depends on slate. I enabled my hyperthreads which helped the compile times by about 30% and I have a 128GB 6GB/s SSD drive ordered and on the way which should help a bit.