Let me start by saying that I really enjoy working in UE4. I finally decided to give the c++ programming tutorial a try after using blueprints for pretty much everything.
I know this is not a new issue but I really could not find a good resolution besides the Visual Assist add-on which costs like 15 times the price of UE4. I am wondering if Epic is actually looking into improving the performance of Intellisense or at least figuring out why it is just horrendously slow when working on UE4 projects (works perfectly fine in regular c++ programs in vs2013) . It is so discouraging that I actually decided not to continue learning the c++ programming for UE4 until this is addressed. I just can’t deal with that. I am a developer myself and I would eventually love to go back and code in UE4 but I am also spoiled and I just can’t code without intellisense or some sort of a code completion so I’m putting my faith on Epic for getting this fixed somehow.
Now, if there is a solution for this, without installing expensive add-ons, I would greatly appreciate if someone can share it.
Make sure you are running the latest service pack/CTP (I think CTP 4) for Visual Studio, as it has been aimed at improving performance with large code bases (which UE4 certainly is, at least 30,000 source files). The performance of Intellisense is not a UE4-specific thing, but simply a factor of the size of the codebase and the fact that historically Intellisense has not scaled well under such extremes.
Check the pricing for Visual Assist too - you also have the Individual license available, which does cost $100 to be sure, but that is substantially different from the $300 for the company license. Do note that the licenses include a year of upgrades, but you can continue to download the last version that was released during your license period and use that indefinitely without needing to pay an upgrade.
(I don’t have anything to do with Visual Assist - just a very happy customer.)
Check that you haven’t turned off precompiled headers (PCH). You can see it here: Configuration Properties → C++ → Precompiled Headers. If they are off then, turn it back on. Also, wait until it have parsed all the files. It takes a while in the beginning. Aside from that, I don’t know what else to suggest. It’s never been slow for me, so the computer setup might be a part of your problem. Especially if you are not using SSDs.
Hi,
I am using VS2013 Ultimate, with Update 4 installed.
I heard great things about Visual Assist but even a $100 right now is more than what I am willing to spend.
Fair enough. I’d definitely check that you are using Mithril’s suggestions then. Perhaps others will have tweaks you can make to Intellisense’s configuration that will improve performance, too.
not sure how to get to Configuration Props. can you please be more specific? is it under Tools? I do not see any Precompiled Headers options under c++ category.
also, if I wait for a while, then it eventually works. if I add a new class to the project, then I need to wait again as it screws up the intellisense. I just wished it would work as blueprints,
I don’t have SSD on my rig, but I have it on my laptop and i did not notice any big difference. same VS2013 installed on both and same UE4 version.
Not having SSDs really slows things down on a big project like UE4. As to why you cannot see the setting, I can’t say. It’s under c++, so if you can’t see it, I can’t begin to say what is wrong I’m afraid. Oh, no offense but using ultimate edition, and not having $100 to spend, is kind a dead giveaway mate VS2013 Community edition is free, and have the same functionality as the pro version (and a bit more) so I’d suggest picking that up instead. Just a suggestion.
If I right click the project name I get to the Configuration Properties but I can only see the following options:
General
Debugging
VC++ Directories
NMake
yea I am pretty sure.
I right click on the project name in the solution. then select Properties. That opens the Configuration Properties, but for some reason I do not see C/C++ option.
ok I think I found it. Since I was following the tutorial, I was using the DebugGame Editor configuration which does not have the c/c++ option. if I change it to shipping, then it shows up. not sure why it is hidden in the DebugGame Editor configuration.
Good you found it, but in your case I am more leaning towards the drive being slow. That file I am talking about can get pretty massive, and going through it with a standard disc is probably very slow.
Definitely possible, but I found the impact of hard drive access time to be comparatively small when I switched from a platter drive to a pair of ssds in a RAID stripe, both on intellisense and compile times.
I have noticed that this ticket was marked as resolved. unfortunately, the issue has not been resolved for me and I still experience the slowness with intellisense.
would appreciate if someone from Epic can respond to my issue with a possible solution. unless of course Mithril was correct and this is a result of me using a regular HDD.
as I mentioned earlier, it does not happen when I work on other c++ projects.
Because Intellisense is a Microsoft utility it is not something we handle ourselves. As mentioned, there are issue with Intellisense when dealing with large code bases such as UE4. We are always looking for ways to limit the impact that Intellisense has when working with the engine however we cannot change the performance/ability of Intellisense as we do not own the code.
I absolutely understand that. I don’t expect Epic to change/improve intellisense. that’s Microsoft’s job.
However, I think Epic should have thought about that in the first place. Maybe Visual Studio was not the right choice considering a massive code base in an archaic language like c++ (sorry I am not a big fan of c++, it’s like driving a stick shift when you can easily drive an automatic ).
clearly people who use Xcode don’t have this problem. just saying
They are, and have. The thing is, I don’t have a problem with it. Nor have I heard anyone else (aside from you) having problem with it. So I think it is a bit unfair to vent on them, regarding this. And C++ (vs whatever) … let’s not open that can As for Xcode (not knowing much about it) it is my impression it is not automatic by default. And you can turn intellisense in VS off, if it is such a problem for you. There is not much that can be done about it. And frankly, that is true for any large (even huge) projects.
I have to disagree :). A lot of users have reported this issue (some not UE4 related). I tried a lot of solutions out there before posting in AnswerHub. Sadly, nothing worked as of today so I reached out to the community for help.
Oh and trust me, I know how powerful c++ is (hence the stick vs auto analogy as most race/sport cars use stick shift, but it takes time to learn how to drive one like a pro :)) . my point was that maybe, just maybe, c++ was not the best choice for a scripting language.
anyhow, I am not a quitter, I’ll keep trying stuff out until I get this to work that’s how i roll
I have to agree with . Intellisense should have been considered when choosing VS as an IDE for Ue4. Suggesting to use a relatively expensive third party paid plugin is not an option for the crowd of indie developers that epic appears to be targeting.
I have had this same problem since the release of UE4. i have moved away from ue4 because of the intellisense problem! The latest Updated 4 for VS helped but it still unusable IMO.
There’s really not many other options on Windows when it comes to C++. Visual Studio is really the best choice. As for C++ vs Other languages, Unreal Engine is made for not only building small indy games, but also complex AAA titles. Those AAA titles need to get the most out of the hardware they are running on, especially on consoles. Additionally having access to raw memory is critical. Therefore, the choice for C++ is an issue of performance. No other language, other than C and assembly, can touch C++ in terms of raw performance, and the libraries provided by Epic make using C++ much easier. If you don’t like C++, you should use Blueprints, but it makes absolutely no sense for them to support a language that is going to be too slow to run top tier games.
Also, C++ is far from an “archaic” language. It is still one of the most popular languages and is the absolute best language for high performance applications. It is also continually updated and improved each year. You should educate yourself on C++ before calling it archaic.