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.