UBF provides a built-in library of shaders and materials intended to ensure visual consistency across different engines and experiences. These materials serve as defaults for common use cases (such as skin, hair/fur, and hard surface rendering) and are continuously expanded over time as requirements grow.
As each experience or game may have unique shading requirements, UBF also supports Material Overrides, which allow you to substitute UBF’s default materials with your own project-specific alternatives. This feature enables complete control over your asset’s final appearance, without sacrificing compatibility or integration with the UBF pipeline.
The core expectation when overriding a material is that your replacement shader should expose the same named properties as the default UBF material it replaces. This allows the UBF interpreter to correctly bind all expected parameters—such as textures, colors, and numeric values—automatically, even when using your custom material.
This gives you the flexibility to introduce custom stylizations (e.g., outlines, rim lighting, specific shading models) globally. For example, if your game uses a stylized cel-shaded look with outlines, you can override the default UBF materials to match your aesthetic. From there, UBF will automatically apply your custom materials and populate them with the appropriate data.
Material Overrides are supported in both Unity and Unreal Engine using similar mechanisms. In both engines, overrides are defined in project settings by mapping UBF material names to custom materials or shaders. The interpreter will apply these replacements globally for all relevant UBF nodes that reference the original material.
The following sections detail the setup process for each engine.
In Unity, Material Overrides are configured using the UBF → Material Overrides section in the Project Settings.
Step 1: Prepare Your Material
Create a custom Unity Material in your project. This material can use any shader that suits your rendering style—such as a stylized cel shader or outline shader—but it should ideally expose the same shader property names as the UBF material you intend to override. These properties will be populated automatically by the UBF interpreter.
UBF supports all major Unity rendering pipelines: Built-in Render Pipeline, Universal Render Pipeline (URP), and High Definition Render Pipeline (HDRP). No additional configuration is required—UBF will automatically detect and use the correct material variant for your current render pipeline.
NOTE: You are not required to expose all the same properties as the original UBF material. However, the interpreter will only populate shader parameters it recognizes. If your custom shader uses non-standard or renamed parameters, they will not be populated automatically.
Step 2: Register Your Override
Open Project Settings → UBF → Material Overrides.
Locate the material entry you wish to override.
Replace the default material with your custom Unity Material by assigning it directly to the corresponding slot.
Once set up, your material will be used in place of the UBF default during all mesh spawning or material application events handled by the interpreter.
In Unreal Engine, Material Overrides are managed via the UBF Material Settings found under Project Settings → Plugins → UBF.
Similar to Mesh Configs, this section lets you map default UBF material names to custom Unreal Engine UMaterial instances.
Step 1: Create Your Custom Material
Begin by creating a new Unreal Material using your custom shader logic. This material can include stylized effects such as outlines, post-processing integration, or real-time lighting enhancements.
To ensure compatibility with UBF’s interpreter, your custom material should expose all expected parameters (e.g., BaseColor, Normal, Roughness, Metallic, etc.) using matching parameter names. This ensures UBF can dynamically populate the material with data from the blueprint and catalog.
NOTE: You are not required to expose all the same properties as the original UBF material. However, the interpreter will only populate shader parameters it recognizes. If your custom shader uses non-standard or renamed parameters, they will not be populated automatically.
Step 2: Register in Project Settings
Open Project Settings → Plugins → UBF → UBF Material Settings.
Locate the list of material overrides.
For each UBF Material Name (e.g., Decal, Fur), assign your custom material instance.
Once defined, the UBF plugin will use your materials in place of its internal shaders during execution.
If your experience requires a type of material that is not available in the default UBF library, you are encouraged to request support for new material types. Futureverse maintains and expands the material set based on real-world usage and feedback.