I’m planning on extending the editor with a module. I have followed the setup mentioned in here: https://answers.unrealengine.com/questions/41509/extending-editor-engine.html . I also followed the instructions in wiki: A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums . I have 2 modules, one for game and another for editor which contains the editor specific extensions.
Now the problem is that I’m unable to find a way to satisfy the dependencies for the editor module. Is there any instructions or documentation how can I dig up the appropriate modules to include?
The extended editor class I have is defined like below.
#include "AnimGraphNode_BlendSpacePlayer.h"
#include "Animation/AnimNode_DynamicBlendSpacePlayer.h" // My custom class
#include "AnimGraphNode_DynamicBlendSpacePlayer.generated.h"
UCLASS(MinimalAPI, dependson = AnimNode_DynamicBlendSpacePlayer)
class UAnimGraphNode_DynamicBlendSpacePlayer : public UAnimGraphNode_BlendSpacePlayer
{
GENERATED_UCLASS_BODY()
I know that the UAnimGraphNode_BlendSpacePlayer class is defined in AnimGraph module. However when I add it I get following error.
1>LogCompile : error : Duplicate class name: UK2Node_BaseAsyncTask also exists in file /Script/OnlineBlueprintSupport
1>C:/apps/Unreal Engine/4.6/Engine/Source/Editor/OnlineBlueprintSupport/Classes/K2Node_InAppPurchase.h(7): error : Superclass K2Node_BaseAsyncTask of class K2Node_InAppPurchase not found
... etc
I can get around this problem by adding AnimGraph into circular references, but then I get following error.
1>E:/programming/projects/Unreal/FastOps/Source/FastOpsEditorExtensions/Classes/AnimGraph/AnimGraphNode_DynamicBlendSpacePlayer.h(7): error : Superclass AnimGraphNode_BlendSpacePlayer of class AnimGraphNode_DynamicBlendSpacePlayer not found
1>Error : Failed to generate code for FastOpsEditor - error code: OtherCompilationError (2)
1> UnrealHeaderTool failed for target 'FastOpsEditor' (platform: Win64, module info: E:\programming\projects\Unreal\FastOps\Intermediate\Build\Win64\FastOpsEditor\Development\UnrealHeaderTool.manifest).
I couldn’t find any mention of the parent class in the manifest. I have looked at AnimGraph’s module dependencies but even adding those all to my own project I have not been able to make this compile. The latest setup I have build configuration is as follows. How can I find the appropriate modules to be added into my build config? Hopefully this is not something “you need to know”.
PublicDependencyModuleNames.AddRange(new string[] { "FastOps", "Core", "CoreUObject", "Engine" });
PrivateDependencyModuleNames.AddRange(new string[] { "AnimGraph" });
CircularlyReferencedDependentModules.AddRange(new string[] { "AnimGraph" });
EDIT
Attached example source to reproduce the problem. Add these modules into your UE project and add following modules into the project file:
"Modules": [
{
"Name": "FastOps",
"Type": "Runtime",
"LoadingPhase": "Default"
},
{
"Name": "FastOpsEditorExtensions",
"Type": "Editor",
"LoadingPhase": "Default"
}
],