(Note that I'm an UE noob, so any of what follows might be nonsense.)
Is there any way to use the DirectoryWatcher module in no-editor development builds?
Apparently DirectoryWatcher gets built as an editor module -- even though its sources are under Source/Developer (as opposed to Source/Editor), in Intermediate there's no UE4/Developer/DirectoryWatcher folder, only UE4Editor/Developer/DirectoryWatcher. This leads to file-not-found compile errors if I try to add "DirectoryWatcher" to PublicDependencyModuleNames in my project's Build.cs.
So, my questions are:
If DirWatcher sources are under Developer (not Editor), then why does it get built only into UE4Editor/Development (not UE4/Development)? Is this intentional, or more like a bug?
Am I right to think that this is controlled by Engine/Source/Runtime/Core/Core.Build.cs? In there, DirectoryWatcher is added as a module only if
Target.bBuildEditor == true.
If I changed that (eg.
if (Target.bBuildEditor == true) =>
if (Target.Configuration != UnrealTargetConfiguration.Shipping)), and recompiled the engine from source, would that turn DirectoryWatcher into a module that can be used in no-editor development builds?
Is there any way to do something similar without having to rebuild the engine from source? (Ideally also without copy-pasting the DirectoryWatcher source into a new plugin.)
In general, what's the exact relationship between the folders under Engine/Source vs the folders in Engine/Intermediate/Build/? In the former we have Developer, Editor, Runtime; in the latter we have UE4/Development, UE4/Shipping, UE4Editor/Development. Are there even any well-defined relationships, or is it just the Build.cs files controlling what goes where?
Oct 30 '18 at 05:52 AM
in C++ Programming