I am having issues with mixing BP and C++. I have created a static mesh in C++ as follows:
// static mesh component as root ShipMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Ship Mesh")); RootComponent = ShipMesh;
And I have my C++ pawn as the parent of the BP class. In my BP, I set the static mesh to use from my assets, and my static mesh does have a collider set up. But in the physics section almost all of the properties are missing:
Where are the settings for simulate physics, linear damping, angular damping, enable gravity, etc…??
I am confused as to what the issue is here. I recreated a pure BP without a C++ parent and I assigned the same static mesh and I can access the complete physics settings. I tried setting the physics properties in code like this:
// static mesh physics ShipMesh->SetSimulatePhysics(true); FBodyInstance* PhysicsBody = ShipMesh->GetBodyInstance(); PhysicsBody->bSimulatePhysics = true; PhysicsBody->bOverrideMass = true; PhysicsBody->SetMassOverride(300.0f); PhysicsBody->bEnableGravity = false; PhysicsBody->AngularDamping = 0.8f;
This still doesn’t work since I am using thrusters and nothing works, so the physics are not being set, but it compiles just fine. I have recreated the exact same components and functionality using a pure BP with no C++ parent and it works perfectly.