This topic is related to the new Compilation Manager that arrived with 4.17. Since it’s a new feature, it expected to have bugs and what. I already have an aswerhub post about it but I thought it’s okay to post my thoughts / problems in here aswell. So let’s start.
- It definitely reduces the launch-compile time. This is a great addition for big projects.
- Child Blueprints are not compiled meaninglessly when a Parent Blueprint has changes. Again great for big-parent blueprints that holds all the data, compiling them are much faster.
- Many bugs are fixed related to false cast errors and whatnot.
- When a Parent BP and a Child BP got edits and needs to be compiled, just compiling Parent BP is no longer enough. We have to open and compile all edited blueprints now. Back then “File” - >“Refresh All Nodes” would make a compile on both Parent and Child Blueprints. It would be great if this new Manager could check if a BP’s children needs to be compiled or not.
- Engine crashes with an “Out of Memory” crash log if you edit a Struct that is used by many blueprints. Since editing a Struct marks all its BP users as “Needs to be Compiled” after making a change on it, Manager is unable to put BPs in order to compile and attempts to do it all at once. Currently I got 3+ BigParents, their children as 3+ SmallParents as their children and 30+ Child blueprints as those smallparents’ children. I got many structs that are used by ALL of these blueprints and they become marked for compile if I touch a struct and Unreal crashes while compiling.
Solution with Manager on: Go from smallest child BPs and compile them individually, then go to their parents to do the same, then to their parents. Doing it the other way around crashes the Engine.
Solution without Manager: From Project Settings, disable the manager, compile, then enable it back.
Very Bad Solution: Make the changes, close the Engine, save without compiling and let Launch-Compile do the compiling. This gives struct-variable errors across the project so I wouldn’t suggest doing this.
That’s all for now! Thanks for your time and reading!