In the libraries I prepared in most cases, due to users wish, I implemented a switch that was responsible for switching the internal surface and the user selectable one. The internal materials' list must be made in Parameter script and then placed as UI_INFIELD - the pic menu can be made with single files (You can use the same pics as the textures, but if it would be better to resize and make special pisc for that usage - I hate the matrix pictures because the unneded effort must be made to prepare such)
The both UI_infield's for the project surfaces and the internal ones can be placed in the same place in the UI...but the switch have to be handy somewhere to select the proper set.
The example of the UI for internal surface selector:
the pix dimensions in this case are 29x29 pixels + 1 pixel extra as the frame in both directions
2 means the way the button works, "" means that there wil not be the "matrix" bitmap, next 2 (12,2) may be left alone with any value if not the matrix bitmap is used, but the individual ones.