For dynamically changing the numbers around the pointer on the meter, you would have to write some code to automatically generate more UI objects with incrementing numbers in them. They would have to be uniformly distributed around the pointer with increments measured by (2*pi)/(quantity of numbers). 2*pi would be a full circle of numbers, so you would have to decrease this to represent the portion of a circle occupied by the numbers (notice how the bottom of the meter pictured is cut out like a pizza). You could use the Mathf.Sin and Mathf.Cos functions with the increasing angle measured in radians. For dynamically creating more UI number objects, you could create a basic single-number object as a reference, then duplicate that at runtime and set each duplicate's UI text to match the current number increment. You would also have to scale the rotation of the pointer to match the range of RPMs represented by the meter. Does that answer your question?