GUI.skin GUI.matrix problems

my question is; do i have to set GUI.skin and GUI.matrix everytime i call ONGUI() function in any of my scripts?

i mean, i have a main controller script and i do set gui.skin and gui.matrix in there ONGUI() function. But when i create another script which calls another ONGUI(), gui.skin and gui.matrix goes back do default. Why, shouldnt it use the already changed one from controller script?

Because you might want to have different skins and matrices in each script. You could make a singleton that calculates the right matrix and contains the right skin and then use that from within all other scripts. That way at least you won’t have to calculate the guimatrix separately in each script.

Thats what i did for the moment.
But i thought gui.skin is global and sets the default gui skin for all usage through out the application.