Passing a pointer by reference

yes makes sense but, for instance, i have a VR Hand actor which passes a UMotionControllerComponent pointer to a GripComponent which then passes it to a GripScript UObject class. if the function on the GripScript returns true, the gripcomponent passes the motionController its owning actor.
I know you should always do a null check when working with pointers.
so in this instance, when should i do the null check:
in every function?
in the Hand actor, before it calls this chain of function calls?
or should i check in the hand actor and pass a const T*& to each function as this guarantees that the value is not null?