What the Marmoset Uber Shader is

The Marmoset Uber Shader is a single, flexible material shader built into Marmoset Toolbag that handles most common surface types without requiring you to switch between different shaders. Instead of loading separate shaders for metal, plastic, fabric, or skin, you configure one shader's parameters to match whatever surface you are rendering. It is called "Uber" because it covers a broad range of material behaviors in one package.

The shader works by combining multiple material models — physically based rendering (PBR) layers, detail maps, and special effects — into a single interface. You control which features are active and how strong each one is. This means you can build a rusted metal surface, then adjust the same shader to become weathered wood, without loading anything new.

Key Takeaways

  • The Uber Shader handles metal, plastic, fabric, skin, and other surfaces by adjusting parameters rather than switching shaders.
  • It uses physically based rendering (PBR) as its foundation, so materials behave realistically under different lighting.
  • You control metallic, roughness, and normal map inputs the same way across all material types.
  • Detail maps and secondary layers let you add surface complexity like wear, dirt, or fabric weave without creating separate geometry.
  • The shader includes built-in options for transparency, subsurface scattering, and emissive surfaces.

Core Parameters and How They Work

The Uber Shader's main controls are Albedo (base color), Metallic, Roughness, and Normal Map. These four inputs define most of what a surface looks like. Albedo is the pure color of the material with no lighting baked in. Metallic is a value from 0 to 1 that tells the shader whether the surface is a conductor (metal) or a dielectric (everything else). Roughness controls how sharp or blurry reflections appear — 0 is mirror-polished, 1 is completely matte.

The Normal Map is a texture that encodes surface detail without adding geometry. Instead of modeling every scratch or fabric fiber, a normal map tricks the lighting into behaving as if those details exist. This is why you can make a flat plane look like rough concrete or woven cloth by swapping the normal map.

Beyond these four, the Uber Shader includes Ambient Occlusion (darkening in crevices), Emissive (self-lit color), and Height Map (for parallax effects that make surfaces appear deeper). You do not have to use all of them — leaving a slot empty or set to zero simply disables that feature.

Detail Maps and Layering

Detail maps let you add a second layer of surface texture on top of the base material. A common use is adding fabric weave to cloth, or rust spots to metal, without creating a second material or duplicating geometry. The detail map typically includes its own normal and roughness information, and you control how strongly it blends with the base layer.

Layering works by multiplying or blending the detail texture with the base texture. If your base is a smooth metal surface and your detail map is a rust pattern, the final result is smooth metal with rust overlaid. You can adjust the detail strength to make the rust subtle or dominant. This approach is much faster than painting separate textures for every variation of a material.

Transparency and Special Surface Types

The Uber Shader handles transparency through an Opacity parameter. Setting opacity below 1 makes the material see-through, and the shader automatically handles how light refracts or reflects through it. You can use this for glass, plastic film, or translucent materials like paper or skin.

For skin and organic surfaces, the shader includes Subsurface Scattering (SSS), which simulates light passing through thin materials. When SSS is enabled, light that hits the surface can travel through it slightly and exit from another point, creating the soft glow you see on ears or thin fabric backlit by the sun. You control the SSS color and strength to match the material.

Emissive surfaces — things that glow or emit light — use the Emissive input. This is separate from the base color and does not respond to lighting; it simply adds brightness. A neon sign, a glowing screen, or a hot metal surface all use emissive to appear self-lit.

When to Use the Uber Shader Versus Other Options

The Uber Shader is the default choice for most materials in Toolbag because it is fast and covers nearly all common cases. You would use it for character skin, clothing, metal props, plastic objects, wood, concrete, and weathered surfaces. It is designed to work well in real-time rendering and does not require you to understand shader code.

You might reach for a different shader if you need something the Uber Shader does not support — for example, a shader specifically built for hair, or a custom shader for a very unusual material behavior. Marmoset provides other shaders for specialized cases, but the Uber Shader handles the majority of work. If you are unsure whether to use it, start with Uber; you can always switch later if you hit a limitation.

Common Mistakes and How to Avoid Them

A frequent mistake is setting Metallic to a value between 0 and 1 for non-metal surfaces. In physically based rendering, metallic should be either 0 (dielectric: plastic, wood, skin, fabric) or 1 (conductor: pure metal). Values in between create unrealistic results. If you want a metallic-looking plastic, keep Metallic at 0 and use the Roughness and Albedo to fake the appearance.

Another common issue is using a normal map that is too strong, making surfaces look bumpy or noisy rather than detailed. Start with a lower detail strength and increase it gradually. If the normal map is inverted (bumps appear as dents), flip the green channel in your texture editor or use the normal map inversion option in the shader.

Forgetting to set the correct color space for textures is also common. Albedo, Roughness, and Ambient Occlusion should be in sRGB or linear color space depending on your workflow. Normal maps should always be in linear. Marmoset usually detects this automatically, but if colors look washed out or too dark, check the texture import settings.

Frequently Asked Questions

Can I use the Uber Shader for every material in my scene?

Yes. The Uber Shader is designed to handle nearly all common material types — metal, plastic, fabric, skin, wood, concrete, and more. You would only need a different shader for specialized cases like hair or custom effects that the Uber Shader does not support.

What is the difference between Roughness and Normal Map?

Roughness controls how blurry reflections are across the entire surface uniformly. A normal map adds directional surface detail by encoding how the surface angles vary. You typically use both together: roughness sets the overall reflectivity, and the normal map adds visible texture and variation.

How do I make a material look weathered or worn?

Use a detail map with wear patterns, or paint roughness and color variation into your albedo and roughness textures. You can also use the Ambient Occlusion map to darken crevices where dirt would collect. Layering these effects together creates convincing weathering without modeling every scratch.

Why does my metal look plastic-like?

Check that Metallic is set to 1, not a value between 0 and 1. Also verify that your Roughness is appropriate — most polished metals are 0.1 to 0.3, while brushed metals are 0.4 to 0.7. If the albedo color is too bright or saturated, dial it back; real metal colors are usually muted.

Can I animate or change shader parameters in real time?

Yes. Marmoset allows you to keyframe shader parameters in the timeline, so you can animate roughness, color, emissive intensity, or any other input. This is useful for effects like heating metal, flickering lights, or material transitions.