I created a new C++ FPS project in Unreal Engine v. 4.12.5, and called it “Xs” for the sake of simplicity.
I Created the C++ classes in the Engine, and then(since the project was called “Xs”) I simply copied the code from the *.h and *.cpp files included in the NinjaCharacterBeta4.zip to the newly created *.h and *.cpp files in Visual Studio.
I added the extra dependency line in the Xs.Build file, and tried to compile with Visual Studio Community 2015, but I got :
C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(988): error C2027: use of undefined type 'APhysicsVolume'
2> C:\Program Files\Epic Games\4.12\Engine\Intermediate\Build\Win64\UE4Editor\Inc\Engine\MovementComponent.generated.h(15): note: see declaration of 'APhysicsVolume'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(988): error C2227: left of '->bWaterVolume' must point to class/struct/union/generic type
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(998): error C2065: 'UBrushComponent': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(998): error C2065: 'VolumeBrushComp': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(998): error C2027: use of undefined type 'APhysicsVolume'
2> C:\Program Files\Epic Games\4.12\Engine\Intermediate\Build\Win64\UE4Editor\Inc\Engine\MovementComponent.generated.h(15): note: see declaration of 'APhysicsVolume'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(998): error C2227: left of '->GetBrushComponent' must point to class/struct/union/generic type
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1000): error C2065: 'VolumeBrushComp': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1007): error C2065: 'VolumeBrushComp': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1007): error C2227: left of '->LineTraceComponent' must point to class/struct/union/generic type
2> C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1007): note: type is 'unknown-type'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1083): error C2027: use of undefined type 'APhysicsVolume'
2> C:\Program Files\Epic Games\4.12\Engine\Intermediate\Build\Win64\UE4Editor\Inc\Engine\MovementComponent.generated.h(15): note: see declaration of 'APhysicsVolume'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1083): error C2227: left of '->FluidFriction' must point to class/struct/union/generic type
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1083): error C2789: 'Friction': an object of const-qualified type must be initialized
2> C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1083): note: see declaration of 'Friction'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1227): error C2027: use of undefined type 'APhysicsVolume'
2> C:\Program Files\Epic Games\4.12\Engine\Intermediate\Build\Win64\UE4Editor\Inc\Engine\MovementComponent.generated.h(15): note: see declaration of 'APhysicsVolume'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1227): error C2227: left of '->FluidFriction' must point to class/struct/union/generic type
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1227): error C2789: 'Friction': an object of const-qualified type must be initialized
2> C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1227): note: see declaration of 'Friction'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1299): error C2027: use of undefined type 'APhysicsVolume'
2> C:\Program Files\Epic Games\4.12\Engine\Intermediate\Build\Win64\UE4Editor\Inc\Engine\MovementComponent.generated.h(15): note: see declaration of 'APhysicsVolume'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1299): error C2227: left of '->bWaterVolume' must point to class/struct/union/generic type
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1305): error C2027: use of undefined type 'APhysicsVolume'
2> C:\Program Files\Epic Games\4.12\Engine\Intermediate\Build\Win64\UE4Editor\Inc\Engine\MovementComponent.generated.h(15): note: see declaration of 'APhysicsVolume'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1305): error C2227: left of '->bWaterVolume' must point to class/struct/union/generic type
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1328): error C2027: use of undefined type 'APhysicsVolume'
2> C:\Program Files\Epic Games\4.12\Engine\Intermediate\Build\Win64\UE4Editor\Inc\Engine\MovementComponent.generated.h(15): note: see declaration of 'APhysicsVolume'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(1328): error C2227: left of '->TerminalVelocity' must point to class/struct/union/generic type
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(2372): error C2027: use of undefined type 'APhysicsVolume'
2> C:\Program Files\Epic Games\4.12\Engine\Intermediate\Build\Win64\UE4Editor\Inc\Engine\MovementComponent.generated.h(15): note: see declaration of 'APhysicsVolume'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(2372): error C2227: left of '->bWaterVolume' must point to class/struct/union/generic type
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3216): error C2065: 'FDisplayDebugManager': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3216): error C2065: 'DisplayDebugManager': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3216): error C2027: use of undefined type 'UCanvas'
2> C:\Program Files\Epic Games\4.12\Engine\Source\Runtime\AIModule\Classes\Navigation/PathFollowingComponent.h(13): note: see declaration of 'UCanvas'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3216): error C2227: left of '->DisplayDebugManager' must point to class/struct/union/generic type
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3217): error C2065: 'DisplayDebugManager': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3217): error C2228: left of '.SetDrawColor' must have class/struct/union
2> C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3217): note: type is 'unknown-type'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3219): error C2065: 'DisplayDebugManager': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3219): error C2228: left of '.DrawString' must have class/struct/union
2> C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3219): note: type is 'unknown-type'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3222): error C2065: 'DisplayDebugManager': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3222): error C2228: left of '.DrawString' must have class/struct/union
2> C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3222): note: type is 'unknown-type'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3225): error C2065: 'DisplayDebugManager': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3225): error C2228: left of '.DrawString' must have class/struct/union
2> C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3225): note: type is 'unknown-type'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3228): error C2065: 'DisplayDebugManager': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3228): error C2228: left of '.DrawString' must have class/struct/union
2> C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3228): note: type is 'unknown-type'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3231): error C2065: 'DisplayDebugManager': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3231): error C2228: left of '.DrawString' must have class/struct/union
2> C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3231): note: type is 'unknown-type'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3238): error C2027: use of undefined type 'APhysicsVolume'
2> C:\Program Files\Epic Games\4.12\Engine\Intermediate\Build\Win64\UE4Editor\Inc\Engine\MovementComponent.generated.h(15): note: see declaration of 'APhysicsVolume'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3238): error C2227: left of '->GetName' must point to class/struct/union/generic type
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3240): error C2065: 'DisplayDebugManager': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3240): error C2228: left of '.DrawString' must have class/struct/union
2> C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3240): note: type is 'unknown-type'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3260): error C3861: 'DrawDebugString': identifier not found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3268): error C3861: 'DrawDebugDirectionalArrow': identifier not found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3272): error C3861: 'DrawDebugString': identifier not found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3283): error C3861: 'DrawDebugDirectionalArrow': identifier not found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3288): error C3861: 'DrawDebugString': identifier not found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3297): error C3861: 'DrawDebugString': identifier not found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3310): error C3861: 'DrawDebugDirectionalArrow': identifier not found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3315): error C3861: 'DrawDebugString': identifier not found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3325): error C3861: 'DrawDebugString': identifier not found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3400): error C3861: 'DrawDebugCapsule': identifier not found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3401): error C3861: 'DrawDebugCapsule': identifier not found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3499): error C3861: 'DrawDebugCapsule': identifier not found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3500): error C3861: 'DrawDebugCapsule': identifier not found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3653): error C2065: 'UDestructibleComponent': undeclared identifier
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3653): error C2672: 'Cast': no matching overloaded function found
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3653): error C2974: 'Cast': invalid template argument for 'T', type expected
2> C:\Program Files\Epic Games\4.12\Engine\Source\Runtime\CoreUObject\Public\UObject\Linker.h(2298): note: see declaration of 'Cast'
2>C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Source\Xs\NinjaCharacterMovementComponent.cpp(3653): error C2974: 'Cast': invalid template argument for 'To', type expected
2> C:\Program Files\Epic Games\4.12\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h(87): note: see declaration of 'Cast'
2>ERROR : UBT error : Failed to produce item: C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Binaries\Win64\UE4Editor-Xs.dll
2> Total build time: 23.76 seconds
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(41,5): error MSB3075: The command ""C:\Program Files\Epic Games\4.12\Engine\Build\BatchFiles\Build.bat" XsEditor Win64 Development "C:\Users\...\OneDrive\Documents\Unreal Projects\Xs\Xs.uproject" -waitmutex" exited with code 5. Please verify that you have sufficient rights to run command.