private void CheckInteraction() { interactText.gameObject.SetActive(false); if (Physics.Raycast(playerCamera.transform.position, playerCamera.transform.forward, out RaycastHit hit, interactRange, raycastLayerMask)) { Interactable subject = hit.collider.gameObject.GetComponent <Interactable>(); if (subject != null && subject.IsInteractable()) { interactText.gameObject.SetActive(true); interactText.text = subject.GetInteractionPrompt(); if (m_InputHandler.GetInteractDown()) { subject.Interact(this); } } } }