Sorry for the wall of text, trying to answer in detail.
Feature extraction
Surforge uses albedo for specular and glossiness extraction. Along with customizable noises, worn edges, two paint masks, two dirt layers, two separate emission masks, global material adjustments, and other settings it represents a powerful and flexible material system.
I know that its uncommon and may be somewhat confusing, comparing to just drag and drop separate bitmaps for albedo and specular/glossiness, or albedo with separate map on alpha. There are several reasons for that.
The main reason is Surforge material is actually a shader. This has its pros and cons, and the main advantage is true real-time tweaking.
But as you know, maximum number of texture samplers is 16 in Shader Model 3. Each texture sampler is 4 grayscale channels.
It is not so much, and all used for features like worn edges, noises, emission, paint, dirt tweaking and so on. Although Surforge use every channel of every sampler optimized/packed/reused as much as possible, no extra space left.
All that is connected together in shader, for example worn edges interact with paint layer, imitating grind through it. So it cannot be implemented as layered separate shaders, with separate extra samplers. (Material Set in Surforge is layered set of such shaders + some shared things).
Also it adds flexibility - with features extraction, you could use less bitmaps, reuse same bitmaps with different settings to get different unique materials.
About features extraction itself, it works like in programs such as Crazy Bump, that turn your single bitmap into a set of textures, or manual features extraction in Photoshop.
Its based on picking out the desired range of texture, tweaking it with contrast and other math like pow, outside (0,1) range and then picking desired range and clamping it.
Similar like if you use Levels in Photoshop and for manual turning albedo into specular/glossiness maps, emphasizing the details of desired range.
Also, as with Photoshop approach (or tweaking different frequency sliders in Crazy Bump) you have to find desired settings for your custom material manually (fortunately, Surforge updates all that in realtime).
Material presets
You could add custom materials to the material list with saving it with arrow button.
Unfortunately, now there is no comfort way in 1.0 version to add it to the list (will be improved as soon as possible).
You could add it manually, dragging into the appropriate field of “surforgeSettings” prefab in “Assets/Surforge/Editor/” after saving, as any of your custom assets you create: mesh details, labels etc.
But actually, there is much more convenient and powerful way of working with materials, that Surforge main focused on: to create and use not single materials, but Material Sets.
This concept needs a little getting used to, but it offers very powerful features. Its like operate complete texture color designs instead of single materials, as set switching is realtime.
There are buttons for create, copy, save, select, shuffle material sets, and dropdown menu with prebuild sets.
Material Set stores materials itself, not link to materials. Just 8 materials instead of one ( + shared settings for the whole set), in desired order matching corresponding IDs. It could be shuffled, realtime changed for other set, saved with Unity scene along with all other sets.
Custom sets could also be saved in the “Assets/Surforge/CustomPresets/MaterialSets/” folder for future use (will appear in that dropdown menu when new texture/scene created).
I’m sorry that it is somewhat confusing. But please treat with understanding, that Surforge is in the early stage of development. Confusing things will be improved in the next versions, as well as documentation.
Detailed video about the materials will be as soon as possible.