diff --git a/Nuake/src/Physics/DynamicWorld.cpp b/Nuake/src/Physics/DynamicWorld.cpp index 2c11c618..29bd3da3 100644 --- a/Nuake/src/Physics/DynamicWorld.cpp +++ b/Nuake/src/Physics/DynamicWorld.cpp @@ -753,7 +753,24 @@ namespace Nuake } } - _JoltPhysicsSystem->Update(ts, collisionSteps, joltTempAllocator.get(), _JoltJobSystem); + auto error = _JoltPhysicsSystem->Update(ts, collisionSteps, joltTempAllocator.get(), _JoltJobSystem); + if (error != JPH::EPhysicsUpdateError::None) + { + std::string errMsg = ""; + switch (error) + { + case JPH::EPhysicsUpdateError::ManifoldCacheFull: + errMsg = "Manifold cache full"; + break; + case JPH::EPhysicsUpdateError::BodyPairCacheFull: + errMsg = "Body pair cache full"; + break; + case JPH::EPhysicsUpdateError::ContactConstraintsFull: + errMsg = "contact constraints full"; + break; + } + Logger::Log("Jolt physics encountered an error: " + errMsg, "jolt", CRITICAL); + } } catch (...) {