public virtual void HoverEnter(XRBaseInteractor interactor, XRBaseInteractable interactable)
 {
     interactor.OnHoverEntering(interactable);
     interactable.OnHoverEntering(interactor);
     interactor.OnHoverEntered(interactable);
     interactable.OnHoverEntered(interactor);
 }
        /// <summary>
        /// Initiates hovering of an Interactable by an Interactor, passing the given <paramref name="args"/>.
        /// </summary>
        /// <param name="interactor">The Interactor that is hovering.</param>
        /// <param name="interactable">The Interactable being hovered over.</param>
        /// <param name="args">Event data containing the Interactor and Interactable involved in the event.</param>
        protected virtual void HoverEnter(XRBaseInteractor interactor, XRBaseInteractable interactable, HoverEnterEventArgs args)
        {
            Debug.Assert(args.interactor == interactor, this);
            Debug.Assert(args.interactable == interactable, this);

            interactor.OnHoverEntering(args);
            interactable.OnHoverEntering(args);
            interactor.OnHoverEntered(args);
            interactable.OnHoverEntered(args);
        }