private void ReleaseGrabbedObject(IGrabbable grabbedObject, bool setIsKinematic = true) { if (grabbedObject.Transform.parent) { grabbedObject.Transform.parent = null; } if (setIsKinematic) { grabbedObject.Rigidbody.isKinematic = false; } if (grabbedObject.GrabCoroutine != null) { StopCoroutine(grabbedObject.GrabCoroutine); } grabbedObject.OnRelease(); _grabSlots.Remove(grabbedObject); }