I have tried over and over again, using what is in the title - IPointerHandlers - and multiple types of raycasting to be able to create a IPointerClick and an IPointerEnter/Exit.
I do have a camera set in the event camera area but this hasn’t made a difference.
The IPointers don’t do anything at all. However, the raycasting sort of works. I have an image that block the raycasts fine. When I set the graphics raycaster to ignore my image, my UI text doesn’t block the raycast.
Here’s some screenshots of my setup:

And here is the raycast script:
public class HoverEffect : MonoBehaviour
{
public int shift_amount;
GraphicRaycaster raycaster;
void Awake()
{
// Get both of the components we need to do this
this.raycaster = GetComponent<GraphicRaycaster>();
}
void Update()
{
//Check if the left Mouse button is clicked
if (Input.GetKeyDown(KeyCode.Mouse0))
{
//Set up the new Pointer Event
PointerEventData pointerData = new PointerEventData(EventSystem.current);
List<RaycastResult> results = new List<RaycastResult>();
//Raycast using the Graphics Raycaster and mouse click position
pointerData.position = Input.mousePosition;
this.raycaster.Raycast(pointerData, results);
//For every result returned, output the name of the GameObject on the Canvas hit by the Ray
foreach (RaycastResult result in results)
{
Debug.Log("Hit " + result.gameObject.name);
}
}
} //rctTrans.anchoredPosition = Vector3.Lerp(currentPosition,targetPosition, 3f * Time.smoothDeltaTime);
}
(I would link where I got this code but I can’t find the post again)
How can I get a simple on hover and on click detection on a world space canvas?
Sorry if this doesn’t make a huge amount sense, I’m not thinking straight at the moment.
Thanks,
Dream