Creates a callback that will execute when the given network variable changes - that is, when the Set<name> function is run.
The callback is executed before the value is changed, and is called even if the new and old values are the same.
This function does not exist on entities in which Entity:InstallDataTable has not been called. By default, this means this function only exists on SENTs (both serverside and clientside) and on players with a Player Class (serverside and clientside LocalPlayer only!). It is therefore safest to only use this in ENTITY:SetupDataTables.
A clientside NetworkVarNotify will not be called when the network var is being changed serverside! This makes the function mostly useless, since setting a network var clientside is generally wrong, except special cases. This is a bug. 
The function to call when the variable changes. It is passed 4 arugments:
function ENT:SetupDataTables() self:NetworkVar( "Float", 0, "Amount" ) self:NetworkVar( "Vector", 1, "StartPos" ) self:NetworkVar( "Vector", 2, "EndPos" ) if ( SERVER ) then self:NetworkVarNotify( "EndPos", self.OnVarChanged ) end end function ENT:OnVarChanged( name, old, new ) print( name, old, new ) end