Displaying variables on screen as part of watch class

I’m not sure if I’m just very tired or missing the obvious, but I’m here trying to setup a ‘Watch’ class to allow myself to do things like this:

GameObject.Find (“Watch”).GetComponent ().Watch (appliedHoverForce);

Watch() is overloaded to just about any datatype and then converts vectors to string for displaying as part of a Canvas.

It is useful because it allows to then quickly write a function that will take a float, calculate mix/max value over time, and (one day when I have a chance) graphing. In a sense it’s similar to Unity Asset Store - The Best Assets for Game Making

The reason I’m trying to achieve this is that Debug.Log() is useless for fast moving value and the Monospace Debugger similarly so (I’m trying to find out why a variable shoots up in value by a factor of 10,000x, which could take quite a few ‘step into’ cycles :))

So, question: besides the aforementioned extension (which is unmaintained and not so cheap), is there a simple way to achieve what I’m trying to do? Did I miss the obvious?

There is nothing stopping you from doing your own drawing and logging solution if you think that you can do it cheaper / or better in your own time. I do not know how much you earn per hour (if you are earning something on the game making) but the time i would spend on making such a sollution would be probebly costing more than 15$.

Side-note: I hope you do not use GameObject.Find (“Watch”).GetComponent () in every update. That would be unnecessary expensive.