I’ve got a plugin module that compiles against an external library. The external library has headers that conflict with UE4’s (it has it’s own DateTime.h for example). My workaround is to include the UE4 header path explicitly in my build.cs ahead of my third party includes.
// Windows Example ue4_incpath = Path.GetFullPath("/Program Files/Unreal Engine/4.7/Engine/Source/Runtime/Core/Public/Misc"); PrivateIncludePaths.Add(ue4_include_path); PrivateIncludePaths.Add(external_include_path);
Is there a better way to do this? Specifically, is there a programatic way in UBT to find the source path for the UE4 install I’m building against?