protected virtual void HandHoverUpdate(Hand hand) { GrabTypes startingGrabType = hand.GetGrabStarting(); if (interactable.attachedToHand == null && startingGrabType != GrabTypes.None) { initialMappingOffset = linearMapping.value - CalculateLinearMapping(hand.transform); sampleCount = 0; mappingChangeRate = 0.0f; Debug.Log("before attach: " + hand.LastCollider + " " + hand.GetLastInteractable()); hand.AttachObject(gameObject, startingGrabType, attachmentFlags); } }