Inheriting PhysicsVolume gives linker errors

Ive been creating a custom volume for a project, and ive inherited from PhysicsVolume, mimicking the way PainCausingVolume works. But when i try to compile it, it gives the following linker errors.

1>MYGameGame.h.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl Brush::IsLevelBoundsRelevant(void)const " (?IsLevelBoundsRelevant@ABrush@@UEBA_NXZ) 1>MYGame.h.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl ABrush::CheckForErrors(void)" (?CheckForErrors@ABrush@@UEAAXXZ) 1>MYGame.h.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl ABrush::IsStaticBrush(void)const " (?IsStaticBrush@ABrush@@UEBA_NXZ)

Pretty sure im missing a module reference in the build file, but i dont know wich module dependency i should add for this.

#It Can Be Done!

Dear Victor,

I make custom physics volumes all the time in many projects! So rest assured it can be done quite easily

UCLASS(abstract)
class ASolusPhysicsVolume : public APhysicsVolume
{
	GENERATED_UCLASS_BODY()

	/** Are the water physics enabled? This is to be turned off for testing purposes, it must ALSO be a water volume using the normal property. This allows you to distinguish between effects caused by Epic's water code and my additional physics code. */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Solus Water Physics Volume")
	bool SolusWaterPhysicsEnabled;
	
	/** Make this number as small as possible. It is normalized vertical range of volume, 0 to 1. 0.3 = 30% of the way up from the bottom. */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Solus Water Physics Volume ~ Performance")
	float SolusWaterPhysics_DisableWhenObjectBelow_Z_Level;

#EngineMinimal

Did you start a sample 4.4 project?

They changed the default include from Engine.h to EngineMinimal.h

which has caused people a lot of strange issues

Check YourProject.h

and make sure you are using

#include "Engine.h"

:slight_smile:

Rama

Thanks, i managed to get it to work