Questions on how to create and properly animate a 2D "Eye" material

I’ve been struggling with this for quite a while and just decided to ask here to see if you guys could give me some better insight. I’m trying to create expressive eyes for my character that could animate to look around the world and at specific objects. In addition, there would be blinking and various miscellaneous eyelid expressions. I’ve already done a good amount of research - This article provides an excellent breakdown as to what I’m looking for. The GIFs on that page provide almost exactly what I’m wanting (the wind-waker one being the closest). I’m not sure about the wind-waker one, but it seems the twilight princess eyes seem to have sprite-based eyelids, which isn’t exactly what I need - but I could probably achieve something closer to what I want using separate layers of geometry: one for the iris/pupil, and two more for the upper and lower eyelids. To better describe what I’m looking for, here’s a GIF from the game Monument Valley (unity, but the same idea) that helps illustrate my point:

Pay attention to the “eye” of the totem character (the orange pillar thing), it’s pupil moves to look at the character, and the eyelids blink randomly (or, procedurally, at least. Everything seems to be procedural, and really close to what I’m looking for.

So far, what I’ve managed to do is create a material that has two scalar parameters driven through a simple blueprint script. (gif below)

This all plays out very poorly. The (very messy and simple) script I’m using, which is here if you want it, is really problematic and completely unusable (even things like it’s world rotation would effect the resulting position). Keep in mind, I didn’t put much effort into the script because I had a big feeling it wasn’t going to work initially, and I don’t really know what the best way would be to create something that actually does. The only thing I can think is to somehow create an aim constraint-like script that would calculate the UV offset based on a component that would act as a target point to where the pupil would be aiming. However, I am again skeptical as to if this would actually work, and how to go about it. Finally, even if I do manage to make this script, there’s still the problem that this script would control every instance of that material, and not just the one within it’s own actor (which I’m sure can be solved, I’m just not sure how). So, any ideas? Is there any decided, “official” way out there, or am I own my own trying to figure this out?

Any help, or insight, you can give is really, really appreciated. Thank you.