Does Unity provide a means to determine the time since the last user interaction?

Title says it all.

I've looked through the docs, but haven't found a function or property that tells you the time since the last user interaction, ( including any/all of mouse movement, mouse clicks, keyboard etc). Does something exist, or do you have to track this yourself?

No, you need to track it yourself, but it should be pretty easy with `Input.anyKey` and `Input.mousePosition`.

You could wrap those into a simple component script that tracked these two values inside of Update(), and you could fire off an event when either/both changed, or you could set a flag (bool) for when there was input or not.

There's nothing documented on the Input class to this effect. Moreover, there is no general OnMouseMove, only OnMouseOver for objects with colliders.