How to prevent Interactable from being selected by XRSocketInteractable if dropped on top of the socket?

I have a Socket Interactor that I’m using as a holster on the waist, but the objects snap into the socket when they are dropped into or touch the socket.

The documentation says that the XRSocketInteractor will always attempt to select an Interactable that it is hovering over, but is there a way that I can make the GrabInteractable only snap into the socket if it is released from the hand while inside the Socket’s collider?

Is there any way I can use things like Select or Hover Filters on the Socket to check for whether the object was just released from the hand before snapping into place?

Any ideas or suggestions are highly appreciated!

I would recommend playing with the Hover Socket Snapping boolean and the Socket Snapping Radius on the XR Socket Interactor component.

That doesn’t solve the issue, the interactables still snap to the socket when dropped on top of them.

I did manage to solve it though, using this script:

void FixedUpdate() {
    if (bodySocketable && currentlySocketable) {
        // remove socketable interaction layer
        currentlySocketable = false;
        StartCoroutine(SetSocketable());
    }    
}

IEnumerator SetSocketable() {
    // wait for one frame
    yield return null;
    interactionLayers = InteractionLayerMask.GetMask("Interactable");
}

protected override void OnSelectExited(SelectExitEventArgs args) {
    if (bodySocketable) {
        interactionLayers = InteractionLayerMask.GetMask("Interactable", "Interactable Body Socketable");
        currentlySocketable = true;
    }
    base.OnSelectExited(args);
}

The sockets are set to only be able to interact with the Interactable Body Socket layers.
I’m not sure if this is the most efficient solution though, if anyone else has any better ideas, please let me know!