To define a custom shader GUI use the methods of materialEditor to render controls for the properties array.
public virtual void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties) { materialEditor.PropertiesDefaultGUI(properties); }