Controleert of het codeblok is neergezet in een socket en verwijdert anders het object.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit;
 
public class CheckIfBlockInPosition : MonoBehaviour
{
    private XRGrabInteractable block;
    void Start()
    {
        block = GetComponent<XRGrabInteractable>();
        block.selectExited.AddListener(firstRelease);
    }
 
    private void firstRelease(SelectExitEventArgs args)
    {
        block.selectExited.AddListener(checkParent);
        block.selectExited.RemoveListener(firstRelease);
    }
 
    public void checkParent(SelectExitEventArgs args)
    {
        StartCoroutine(checkParentNumerator());
 
    }
 
    private IEnumerator checkParentNumerator()
    {
        yield return new WaitForSeconds(1.5f);
 
        if (transform.parent == null)
        {
            Debug.Log("Parent tag is not 'PlayableCode' or object has no parent. Destroying the object.");
            Destroy(gameObject);
        }
        else
        {
            Debug.Log("Object placed correctly. Parent tag: " + transform.parent.tag);
        }
    }
}