How can I optimize project files layout and Visual Studio performance?

I’ve cloned the ShooterGame example and am working on a proof of concept (expanding existing source to test, then I’ll be creating from scratch).

Visual Studio performance of late has never been good, but 2013 with UE4 is remarkably poor - after writing one line, Intellisense updates can hang the application for up to five seconds, and in many cases it’s quicker for me to type the function name manually, and lookup the parameters elsewhere rather than waiting for intellisense to provide it for me (30 seconds and sometimes longer). Intellisense is fairly critical to me, otherwise I’d just switch to VS2008 and compile only in VS2013 - I’ve disabled squiggles and any other things I don’t need already.

Before it’s asked - I’m using a fresh Win7 x64 install, a Xeon E3-1245v3, 16GB of quality RAM, and a good spec 250GB SATAIII SSD, so it’s not a hardware/windows issue :slight_smile:

Looking at and expanding the source for ShooterGame, it appears that every file is including a global header, which in turn includes every single class and many unrelated items for every file - the UnrealHeaderTool appears to be creating the all classes header(s), so I’m not sure what control if any I have over this. Is there any technical or design reason I couldn’t have source files only including what they actually need?

The other thing I spotted was the insanely large build system path list:


which cannot be helping the solution speed either. Based on the engine and inclusion design, I’m guessing it wouldn’t be trivial to modify this.

I’m more than happy to be proven wrong (I’ve never worked with the C++ engine before now, but did UScript with UE2.5) as I’m only using this one project as the baseline - but rather than spending hours trying to potentially improve performance and only running into problems, should I be adjusting the inclusion methods used here or is this how we should expect things to be included normally? And is there anything else I can actually do?

Many thanks :slight_smile:

I whole heartedly suggest using Visual Assist from Whole Tomato Software (http://www.wholetomato.com/) for your code completion needs.