Case Status
Log In



Whole Tomato Software - Home
  • RSS Feed

Improve IntelliSense with UE4

The following steps can improve the performance and functionality of default IntelliSense when developing with UE4.

Enable Default IntelliSense

Default Intellisense is easily identified by its pulsating icon at the bottom of Visual Studio.

If you do not see the icon, confirm IntelliSense is enableed in the options dialog of Visual Studio:

Tools | Options | Text Editor | C/C++ | Advanced | Disable IntelliSense = False

Select Content for Listboxes

Make sure content for the enhanced listboxes of Visual Assist is taken from default IntelliSense, via the options dialog of Visual Assist.

Be Patient

Default IntelliSense can be slow. If you really need a dropdown, wait for the pulsating icon at the bottom of the IDE to go idle before opening a member or completion list.

Make Sure *.generated.h Exists

UE4 makes extensive use of preprocessor macros, and some of those macros are #defined in the generated.h file that accompanies each UCLASS. If you create a UCLASS Foo, the class's Foo.h will #include Foo.generated.h. Default Intellisense needs the generated header, which is made in the early part of the UE4 build process.

Try Alt+G from the #include Foo.generated.h directive. If Visual Assist does not open the target header, build your solution--even if you know the build will fail. The build should produce a generated.h that will improve parsing by default IntelliSense.

Update *.generated.h

Some UE4 macros depend on __LINE__, whose value varies as you edit. UCLASS is one such macro. If you add/remove lines before a UCLASS, default IntelliSense will no longer recognize the class and its members because the value of __LINE__ at the UCLASS changed.

If you edit above a UCLASS, build your solution to refresh the class's generated.h file, which in turn updates the preprocessor macros that depend on __LINE__.

Try Disabling IntelliSense

If you believe default IntelliSense is too slow for UE4 development, try using only the parsers in Visual Assist to populate its IntelliSense-like features.

See documentation to disable IntelliSense with UE4.