UE4.20 is missing the IntelliSense IncludePath for the *.generated.h files

You can vote for the ticket: Unreal Engine Issues and Bug Tracker (UE-62042)

,it’s works! ,and i have another question,my create class,the cpp file have the same problem:***.h can’t be open,if write whole src it’s work

3q,I have already solved it,like .generated.h,just edit …..\Source\MyProject,add -----public-----in it’s last

I’m gonna dump my solution that I came to from [my forum post here][1]. It turns out what others have suggested works, but as you run into new dependencies you will run into new file opening errors and will have to add new include folder paths. With this solution you add all the engine include folders at once so it should cover any project. (Well at least theoretically. It’s possible include errors will show up for other random headers as well)


It’s a little brute force but here’s the solution:

  1. Open up your Visual Studio project properties by right clicking on the project.


  1. Switch to all configurations so the includes we add are added for every configuration.


  1. Click in the “Include Directories” text box and paste the following:

$(SolutionDir)Intermediate\Build\Win64\UE4Editor\Inc\$(SolutionName);$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\AIModule;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\AITestSuite;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\AnalyticsVisualEditing;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\AnimationCore;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\AnimGraphRuntime;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\AssetRegistry;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\AudioMixer;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\AudioPlatformConfiguration;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\AugmentedReality;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\AutomationController;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\AutomationMessages;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\BlueprintRuntime;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\BuildPatchServices;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\CinematicCamera;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\ClientPilot;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\ClothingSystemRuntime;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\ClothingSystemRuntimeInterface;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\CoreUObject$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\EditorStyle;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\Engine;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\EngineMessages;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\EngineSettings;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\EyeTracker;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\Foliage;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\FriendsAndChat;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\GameMenuBuilder;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\GameplayDebugger;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\GameplayTags;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\GameplayTasks;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\HeadMountedDisplay;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\InputCore;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\JsonUtilities;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\Landscape;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\LevelSequence;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\LiveLinkInterface;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\LiveLinkMessageBusFramework;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\Localization;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\MaterialShaderQualitySettings;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\MediaAssets;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\MediaIOCore;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\MeshDescription;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\MessagingRpc;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\MoviePlayer;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\MovieScene;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\MovieSceneCapture;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\MovieSceneTracks;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\MRMesh;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\NavigationSystem;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\Overlay;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\PacketHandler;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\PortalMessages;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\PortalRpc;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\PortalServices;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\ProfilerMessages;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\PropertyPath;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\Renderer;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\RuntimeAssetCache;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\ScreenShotComparisonTools;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\Serialization;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\SessionMessages;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\Slate;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\SlateCore;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\SlateReflector;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\SourceControl;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\TimeManagement;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\UMG;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\UnrealEdMessages;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\VectorVM;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\WebBrowser;$(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\WidgetCarousel;


  1. For whatever reason if you click apply after pasting now it wont work. So after pasting the above click on the little dropdown button and then click on the <Edit...> option.

Now you should see all of the include paths populated in the window that pops up. Click “Okay” in this window to actually add the pasted include paths.


  1. Finally you can press “Apply” and “Okay” to apply the include paths you have added and close the properties window.


That’s it! Unfortunately Visual Studio is pretty simplistic when it comes to adding include directories. Instead of adding all the folders recurisvely with something like $(MSBuildStartupDirectory)\..\..\Intermediate\Build\Win64\UE4Editor\Inc\** we are forced to add every folder manually. Anyways, these include paths should work for any project, with any name, in any location, with UE4 installed to any location. So you don’t really need to worry about anything with this solution, it’s just plug and play.

I hope this helps make the fix for this issue a little easier for everyone!

so it not work today, i have this problem too not helping me

Still not fixed in 4.20…

Unreal Engine Issues and Bug Tracker (UE-62042) well it got fixed, just not part of an hotfix.

Maybe, but you will need min py3.6, since format strings are not available in py2

Tried again in Python 3.7. Everything worked perfectly! One click and boom. no more inaccessible generated.h errors!

There isn’t a better/faster solution than this until 4.20.3 arrives (Presuming that does actually correct the issue). I can’t begin to imagine the kind of insanity that led to your post having a negative score :S (Maybe due to the indent issue). but I at least brought it back to neutral standing. though it should be at least 9001. :slight_smile:

Thank you Frigerius!!

Have an upvote for a clear, detailed response with images, and doing the legwork of listing out all the files. You’re the hero we need.

The related ticket (Unreal Engine Issues and Bug Tracker (UE-62042)) is marked fixed, but same issue here, so it’s not fixed after all

(here) 89 errors down to 4. Now I have errors “only” like class “UObject” has no member “BeginPlay”. HUGE help, thanks!

Then take my python script. KWS mentioned that there is another fix for it on github, which ist not included yet.

In case someone still has a problem: For me in the latest 4.20 code (after 4.20.3) it still was a problem. But when I added the following line to my myGame.Target.cs and myGameEditor.Target.cs it solved the problem (I am not using the python script):
BuildEnvironment = TargetBuildEnvironment.Shared;

It needs to be added under the ‘public myGameTarget’ line.
Maybe it helps you.

return line in get_engine_root should be

return split_[1].split('\\Build\\BatchFiles\\Build.bat')[0].replace('"', '')

Then it will work for projects in directories with spaces since it will remove " from line start.

thx, updated the code and moved it to pastebin.

Thanks to both of you. The script is awesome! Don’t worry about the deleted comments. I actually did it this time to remove redundant info. :slight_smile:

EDIT: My bad. as Frigerius pointed out. I needed Python 3.6+.

EDIT2: Removed outdated hastebin link

ORIGINAL MESSAGE:
I thought I would give this a try. I’ve never used python before but when I run it with py27x64 I’m getting this error:

File "FixIncludePaths.py", line 7
  cur_proj_path = f'Intermediate\\ProjectFiles\\{project_name}.vcxproj'
                                                                      ^
SyntaxError: invalid syntax

Is the website screwing with the characters or something? I already had to correct a single-space indent issue.

It seems 4.20.3 did actually fix the issue. :slight_smile:

Still not fixed in 4.20.3