Confusing physics warning

Hi,

Can someone explain this warning?

"Warning Invalid Simulate Options: Body (BP_Asteroid_C_160.AsteroidMesh Rock2) is set to simulate physics but Collision Enabled is incompatible"

Simulate physics and Collision enabled (Query and Physics) are supposed to be enabled together, so I am very confused.

1 Like

The warning is confusing because “Collision Enabled” (Query and Physics) is the correct collision setting for simulating physics.

Please refer to “PrimitiveComponent.cpp” line 1159. (I’m using 4.16)

The enum used is called “ECollisionEnabled::Type” and the variable that is checked is called “CollisionEnabled”. Perhaps this is why the words “Collision Enabled” are used in the warning. However, the warning is generated when that enum is set to “ECollisionEnabled::NoCollision” or “ECollisionEnabled::QueryOnly”.

The correct warning would use the value of the “CollisionEnabled” variable to specify to the user which setting was conflicting with the physics being enabled.

Please change the warning so it is clearer. And mods, please move this to the bug reports section if you agree with my assessment. For now, I’ll add a tag.

Is there any resolution for this?

Not sure but I doubt it. It doesn’t really matter though if you are aware that the warning is worded incorrectly but it is still a valid warning. It happens when SimulatePhysics is enabled but the collision mode is not set to “Collision enabled (Query and physics)”.

I get the error even when set to query and physics.

I also get the error despite set to query and physics.

I have found that if you disable simulate physics on the destructible mesh within the actor settings it goes away. Of course, that means you cannot apply gravity to the object. Also, make sure you are not trying to simulate collision on a query only box collision or sphere collision, this will produce the same error.

I found out what was happening in my case. I was disabling collision on objects during runtime without also setting simulate physics to false.