Hello, Using unreal engine version 5.4.4, I have created FAnimNode_QuadrupedOrientationWarping struct which is an exact copy of FAnimNode_OrientationWarping (I plan to make changes in FAnimNode_QuadrupedOrientationWarping later). When I try to compile my project, I get following linking error:
AnimNode_QuadrupedOrientationWarping.cpp.obj : error LNK2001: unresolved external symbol “private: static class FName const UE::AnimationWarping::FRootOffsetProvider::TypeName” (?TypeName@FRootOffsetProvider@AnimationWarping@UE@@0VFName@@B)
I have searched online quite a lot but couldn’t find any pointers to how to resolve this. Would really appreciate if someone can point me to what I am doing wrong. I am including BoneControllers/AnimNode_OffsetRootBone.h in (in my .cpp) which defines UE::AnimationWarping::FRootOffsetProvider.
Thank you very much in advance.
My project.Build.cs:
// Fill out your copyright notice in the Description page of Project Settings.
using UnrealBuildTool;
public class mot_match_quadrupeds : ModuleRules
{
public mot_match_quadrupeds(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "AnimGraphRuntime", "AnimGraph", "BlueprintGraph", "UnrealEd", "AnimationWarpingRuntime" });
PrivateDependencyModuleNames.AddRange(new string[] { });
// Uncomment if you are using Slate UI
// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
// Uncomment if you are using online features
// PrivateDependencyModuleNames.Add("OnlineSubsystem");
// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
}
}
Top of my .h file (my header file is identical to AnimNode_OrientationWarping.h except that instead of AnimNode_OrientationWarping I have AnimNode_QuadrupedOrientationWarping ) :
#pragma once
include “BoneControllers/BoneControllerTypes.h”
include “BoneControllers/AnimNode_SkeletalControlBase.h”
include “AnimNode_QuadrupedOrientationWarping.generated.h”
struct FAnimationInitializeContext;
struct FComponentSpacePoseContext;
struct FNodeDebugData;
Top of my .cpp file (my cpp file is identical to AnimNode_OrientationWarping.cpp except that instead of AnimNode_OrientationWarping I have AnimNode_QuadrupedOrientationWarping):
include “AnimNode_QuadrupedOrientationWarping.h”
include “Animation/AnimInstanceProxy.h”
include “Animation/AnimNodeFunctionRef.h”
include “Animation/AnimRootMotionProvider.h”
include “BoneControllers/AnimNode_OffsetRootBone.h”
include “HAL/IConsoleManager.h”
include “Animation/AnimTrace.h”
include “Logging/LogVerbosity.h”
include “VisualLogger/VisualLogger.h”
include UE_INLINE_GENERATED_CPP_BY_NAME(AnimNode_QuadrupedOrientationWarping)
DECLARE_CYCLE_STAT(TEXT(“QuadrupedOrientationWarping Eval”), STAT_QuadrupedOrientationWarping_Eval, STATGROUP_Anim);