My FConstraint Instance / UPhysicsConstrainComponent doesnt work in 4.14

MosesFlava
Tue, 29 Nov 2016 20:07:54 +0000
World Creation

So the following used to work in 4.12.

FConstraintInstance  ConstraintInstance;

Now that I have upgraded the project to 4.14, when I create a FConstraint Instance I get the error message, “incomplete type is not allowed.”

Also my UPhysicsContraintComponent gives me a ton of “pointer to incomplete class type is not allowed” error messages.

I’m guessing they may have to be initialised differently now?

My Declaration

	UPROPERTY(EditAnywhere)
		UPhysicsConstraintComponent* PConstrain;

My Definition

	//Setting the constraint parameters of our Constraint Instance
	//Limiting the linear motion, Setting the limit size and setting the soft limit to true. Disabling Breakable option in order to ensure we get a rope kind of tug
	//ConstraintInstance.LinearXMotion = ELinearConstraintMotion::LCM_Limited;
	//ConstraintInstance.LinearYMotion = ELinearConstraintMotion::LCM_Limited;
	//ConstraintInstance.LinearZMotion = ELinearConstraintMotion::LCM_Limited;

	ConstraintInstance.LinearLimitSize = 10.0f;
	ConstraintInstance.bLinearLimitSoft = true;
	ConstraintInstance.bLinearBreakable = false;

	//Setting the linear soft limit, the stiffness and the damping
	ConstraintInstance.bLinearLimitSoft = 0;
	ConstraintInstance.LinearLimitStiffness = 0;
	ConstraintInstance.LinearLimitDamping = 10;
	ConstraintInstance.bAngularBreakable = false;
	//ConstraintInstance.AngularSwing1Motion = EAngularConstraintMotion::ACM_Limited;
	//ConstraintInstance.AngularSwing2Motion = EAngularConstraintMotion::ACM_Limited;
	//ConstraintInstance.AngularTwistMotion = EAngularConstraintMotion::ACM_Locked;

	//Initialising a Physics Constraint Component
	PConstrain = CreateDefaultSubobject<UPhysicsConstraintComponent>(TEXT("Physics Constraint Component"));

	PConstrain->AttachToComponent(CrainSlider, FAttachmentTransformRules::KeepRelativeTransform, NAME_None);
	PConstrain->ConstraintInstance = ConstraintInstance;

	PConstrain->SetConstrainedComponents(CrainSlider, NAME_None, CrainWire, NAME_None);

3 posts - 1 participant