diff --git a/scene/3d/collision_shape.cpp b/scene/3d/collision_shape.cpp index bf2816fd417..caa0c5047a2 100644 --- a/scene/3d/collision_shape.cpp +++ b/scene/3d/collision_shape.cpp @@ -127,6 +127,14 @@ String CollisionShape::get_configuration_warning() const { return TTR("Plane shapes don't work well and will be removed in future versions. Please don't use them."); } + if (Object::cast_to(get_parent())) { + if (Object::cast_to(*shape)) { + if (Object::cast_to(get_parent())->get_mode() != RigidBody::MODE_STATIC) { + return TTR("ConcavePolygonShape doesn't support RigidBody in another mode than static."); + } + } + } + return String(); } diff --git a/scene/3d/physics_body.cpp b/scene/3d/physics_body.cpp index caeae902383..1f95560c7a7 100644 --- a/scene/3d/physics_body.cpp +++ b/scene/3d/physics_body.cpp @@ -590,6 +590,7 @@ void RigidBody::set_mode(Mode p_mode) { PhysicsServer::get_singleton()->body_set_mode(get_rid(), PhysicsServer::BODY_MODE_KINEMATIC); } break; } + update_configuration_warning(); } RigidBody::Mode RigidBody::get_mode() const {