public bool ConvexCast(ConvexShape castShape, ref RigidTransform startingTransform, ref Vector3 sweep, out RayCastResult castResult)
{
var castResults = PhysicsResources.GetRayCastResultList();
bool didHit = ConvexCast(castShape, ref startingTransform, ref sweep, castResults);
castResult = castResults.Elements[0];
for (int i = 1; i < castResults.Count; i++)
{
RayCastResult candidate = castResults.Elements[i];
if (candidate.HitData.T < castResult.HitData.T)
castResult = candidate;
}
PhysicsResources.GiveBack(castResults);
return didHit;
}