private void ScanForInteractable() { IInteractable = PC.CastAll().ToList(). ConvertAll(hit => hit.transform.GetComponent <IInteractable>()). FirstOrDefault(II => II != null && Vector3.Distance((II as Component).transform.position, PlayerREF.Current.transform.position) <= MinInteractionDistance && II.IsInteractionPossible(PlayerREF.Current.gameObject)); InteractableUI_TXT.gameObject.SetActive(IInteractable != null); if (InteractableUI_TXT.gameObject.activeSelf) { InteractableUI_TXT.text = IInteractable.InteractionPrompt; } }