yea, ive only just started since the weekend, and i too started reading the Cg book and found it quite overwhelming as a work-through type thing. ill revisit it once i get a bit more comfortable.
but one book I picked up last week on the free PackT book of the day was the Unity5 shader cookbook, and im about 50 pages in and finding it quite straightforward for the most part to work through. then for some of the things that I dont quite grasp ill look up the Cg book for a different explanation on it.
yep, spot on, took the input UVs then incremented with a speed and the _Time to adjust and put them back to the output.
so I have this in the properties
_ScrollXSpeed ("X Scroll Speed", Range(-10, 10)) = 0
_ScrollYSpeed ("Y Scroll Speed", Range(-10, 10)) = 0
and referenced that two vars in the top of the Cg section.
and popped them back to the Surface method.
void surf (Input IN, inout SurfaceOutputStandard o) {
fixed2 _scrolledUV = IN.uv_MainTex;
// create variables that store the indivudual x and y
// components for the UVs scaled by time
fixed xScrollValue = _ScrollXSpeed * _Time.y;
fixed yScrollValue = _ScrollYSpeed * _Time.y;
// apply the final UV Offset
_scrolledUV += fixed2(xScrollValue, yScrollValue);
// apply texture and tint
half4 c = tex2D (_MainTex, _scrolledUV);
o.Albedo = c.rgb;
o.Alpha = c.a;
}
Theres a couple of tweaks i want to do, going to see if I can add a secondary texture above it slightly transparent and with either a half or double the speed (not sure yet)
then i need to see about how to add procedural textures, with a sort of voronoi look but ill save that for when im away at work and something to get the teeth into 
I like that Making Stuff Look Good channel, watched a couple and nice explanations.