Sometimes I forget to make functions in scripts public so they can be accessed from other scripts. Whilst fixing one such error it occurred to me that Unity 'animation Event' callback functions in c# don't need to be marked as public.
So out of interest anyone know or care to explain how that works?