This is another take on the existing guiOnObject resources from here and here.
This resource uses GuiOffscreenCanvas for gui rendering and management. I've added the ability to activate an offscreen canvas so it can become first-responder for input events. I've found this very useful when using the off-screen canvas as a VR overlay as well as for guiOnObject.
The source code can be found here.
The demo level and scripts used in the video below can be found here.