Unreal Editor for Fortnite (UEFN) has a Material Library full of different kinds of materials and Material Instances for creating custom content. You can use the library to make your own Material Instances and dynamic materials to give your island a unique feel or keep true to the look and feel of Fortnite Creative that you love.
UEFN and Epic materials are the key building blocks necessary for you to create next-level islands with UEFN that includes:
Epic Base Textures
Epic Base Materials
Fortnite Base Materials
Device Materials
Landscape Materials
You can use the base textures to create a set of common materials for a variety of experiences.
Device Materials
Add the Barrier and Switch device materials to meshes you create by dragging the Device materials into the material slot of your mesh. You can also use the device materials as a texture for the mesh you create by adding the material to a texture node in your material graph.
From the material graph you can change the device material colors to create a new material using the device materials as a base for your mesh.
Fortnite Base Materials
You can use these materials to add color or a specific texture to parts or whole meshes in the Fortnite style and support classic Fortnite game logic such as destruction and wobble effects. In the Fortnite Base material folder is a base material named M_FortniteBase_Parent. Use this base to create custom Fortnite materials
There are two sub folders that contain Simple Colors and Tiling materials. Tiling materials are materials that use a pattern to create tiles you can use as a floor, wall, or ceiling building prop.
The simple colors are the base colors found in Fortnite Creative props, prefabs, and more. Tiling materials are used with architectural assets and you can use them in the texture node when creating a new material for a mesh you create.
The tiling materials include:
| Material Type | Description |
|---|---|
Wood Planks | Blonde wooden floor planks. |
Plaster | Brown plaster used on an exterior wall. |
Stone Floor | Grey stone square bricks |
Catwalk Floor | Metal catwalk floor with diamond tread. |
Bricks | Grey coliseum stone bricks. |
Damage | Concrete with cracks. |
Concrete | Shiny scuffed concrete, |
Roof Gravel | Black top roof gravel. |
Epic Base Materials
Epic Base materials include PBR base material and M_EpicBase_Parent for creators who want a more photorealistic experience in UEFN that isn’t based on the Fortnite-like gameplay as well as a selection of Material Instances. Find these materials in the Epic folder in the Content Browser.
The Epic folder contains two main folders of materials, textures, and more: Materials and Textures. Each of these folders contain multiple folders inside with different materials, textures, material instances, and more that you can use as a base to create your own custom materials.
Epic Base Materials
| Material Type | Description |
|---|---|
Concrete | Concrete material instances: Smooth Concrete and Smooth Concrete with Aligned. |
Fabric | Material instances of leather and linen types. |
Facades | Material instances of brick types, wood types, pebble types, and stucco types. |
Ground | Manufactured and natural material instances: Manufactured:
Natural:
|
Metal | Material instances of iron and steel types. |
Rock | Material instances of sandstone types, granite types, and layered rock types |
Wood | Material instances of plywood types and wooden plank types. |
Epic Material Functions
| Material Type | Description |
|---|---|
AlphaBlend | A World Aligned Blend material function. Texturing functions provide for specialized handling of texture-based actions, such as adjusting UVs of a texture, cropping textures, and many others. |
Blends | Numerous blend type material functions. A Blend is a type of function that performs mathematical calculations in the color information of a texture so that one texture can blend into another in a particular manner. Refer to Blend Material Functions for more information. Blends will always have a Base and a Blend input, both of which are Vector3. These will each take in a texture and the two will be blended in some way. The manner in which the blend takes place depends on the type of blend function used. |
Chromakeying | The chroma keying material function is used for visual-effects and post-production techniques for compositing (layering) two materials based on color hues (chroma range). |
Coordinates | Coordinate material functions provide a way for you to position your textures and align them more accurately on your mesh. Refer to Coordinates Material Expressions for more information. |
Cubemaps | Refer to Using Cubemaps for more information on using this material function, |
Debug | The PlotFunctionOnGraph material function is used to draw function graphs in real time. |
Decal | The ApplyBuffer material instance is used to contain data of opaque materials. |
Density | Density material functions are used for texture mapped objects, color coding them by their relation to an ideal / max density setting and displaying a grid that maps to the actual lightmap texels. It is important to have even texel density across your scene to get consistent lightmap lighting. |
Distance Fields | Split into two folders: Combiners and Shapes. These material functions are used to help determine shadows and light for the mesh based on shape or how much data is used to determine shadow properties and lighting. |
Get Post Process Function | These material functions are used in creating post-processing effects. These are selectable from the Details panel when a Post Process Volume or Environment Light Rig device is placed in the viewport. |
Gradient | Gradient material functions procedurally generate gradients made from Texture coordinate expressions. They save memory over having to create a texture-based gradient. Refer to Gradient Material Functions for more information. |
Gradients | A selection of gradient types you can use to create custom lighting, post-process effects, and other material types. |
Image Adjustment | A collection of materials exists as a way to perform basic color-correction operations on textures. They provide for corrective actions or variations on a texture without having to worry about the overhead of loading a separate version into memory. Refer to Image Adjustment Material Functions for more information. |
Landscape | This material function is helpful for blending layers and mixing multiple textures for a new landscape material. |
Masking | A simple and cheap way to define which parts of a surface should be affected by which section of the Material. Refer to Using Texture Masks for more information. |
Material Layer Function | The materials in this folder provide you with access to the individual attributes within a Material Layer function. This provides a way for you to choose which attributes you want to plug into the Main Material node, and gives you the ability to selectively modify the attributes with additional logic in the Material Graph. |
Math | Different materials used to perform basic math equations on the values of pixels within a Material network. Refer to Math Material Functions for more information. |
MAXScripts | These material functions provide a way for you to access pivot and rotational information on meshes created or processed with the respective scripts for 3DSMax (or compatible scripts). |
Normals | These normals work with other material functions which when combined allow you to create more dynamic looks for your materials. |
Opacity | These material functions speed up the process of handling complex opacity calculations. Refer to Opacity Material Functions for more information. |
Particles | These materials are used with the Niagara system to create custom particle effects. Refer to Particle Material Functions for more information. |
Pivot Painter | Pivot Painter material functions allow you to tap into the Pivot Painter MAXScript, which stores rotation information within the vertices of a mesh. This is a great way to handle dynamic motion on Static Meshes. Refer to PivotPainter 1.0 for more information. |
Pivot Painter2 | Pivot Painter 2 helps you to tap into and decode useful model information stored by Pivot Painter 2 MAXScript using textures. Each texture output by the MAXScript can be referenced directly in a Material but without applying the proper steps after sampling the texture the values would be incorrect. Refer to PivotPainter 2.0 for more information. |
Procedurals | Procedural materials provide a quick way to make simple procedurally-generated textures and masks. This saves memory over having to use imported textures. Refer to Procedural Material Functions for more information. |
Reflections | These material functions provide a way for you to manipulate reflections in your material. Refer to Reflections Material Functions for more information. |
Shading | Shading material functions are used to create specialized shading operations, such as fuzzy shading and adjusting the shape of a specular highlight. Refer to Shading Material Functions for more information. |
SpeedTree | This material function computes a set of unwrapped UV coordinates for the model. This UV mapping is referred to as the lightmap for the model. Getting a good lightmap is one part science and one part art. The following steps detail how to go about computing lightmap UV mapping in SpeedTree. |
Static Mesh Decals | The Static Mesh Decal function provides a way for you to use the properties of Deferred Decals on separate surface geometry for added detail to your Static and Skeletal Meshes. Because Deferred Decals rely on projection, you are limited to mostly planar surface details that shear and distort when not aligned with the surface it's projecting onto. Mesh Decals afford you decals that do not follow a simple projection and instead can be used with geometry that wraps around edges, and used with spline meshes, ultimately enhancing the look of your characters. |
Strata | Strata material functions help you to debug the Strata material buffer content for Volumetric Clouds and Cache Virtual Shadow Map. |
Texturing | Texturing material functions provide for specialized handling of texture-based actions, such as adjusting UVs of a texture, cropping textures, and many others. Refer to Texturing Material Functions for more information. |
Units | Units material functions help convert distances in the material using mathematical functions. |
User Interface | User Interface material functions are used with any interface you create for players to interact with. |
Utility | Utility material functions have material node operations exposed that affect Materials in a number of different ways. For example, these materials can replace an object's indirect bounce color with a given value you input, or interpolate a blend between two textures based on an Alpha input. |
UVs | The UV material functions use the vertex shader to increase performance when running calculations in the pixel shader. |
Vectors | The Vector material functions contain special Material functions for applying various vector-based math equations. Refer to Vector Ops Material Functions for more information. |
Volumetrics | Volumetric material functions use Beer’s Law to attenuate light to the properties of the material through which the light is traveling. |
World Position Offset | World Position Offset material functions contain special functions for manipulating the vertices of a mesh by using the world position offset input. Refer to World Position Offset Material Functions for more information. |
Epic Base Textures
| Texture Type | Description |
|---|---|
Blanks | Default textures for colors, math based materials, metals and normal maps. |
Concrete | Diffuse, normals, and Object Relational Mapping (ORMs) to help you define the roughness, metallic details, and occlusion strength of the material. |
Fabric | Diffuse, normals, and ORMs to help you define the roughness, and occlusion strength of the leather and linen types. |
Facades | Diffuse, normals, and ORMs to help you define the roughness and occlusion strength of the brick types, wood types, pebble types, and stucco types. |
Ground | Diffuse, normals, and ORMs to help you define the roughness and occlusion strength of the manufactured and natural material instances. |
Metal | Diffuse, normals, and ORMs to help you define the roughness, metallic details, and occlusion strength of the iron and steel types. |
Noises | Diffuse textures you can use to create dirt on a camera lens, dust, smudges, and more. |
Rock | Diffuse, normals, and ORMs to help you define the roughness and occlusion strength of the sandstone types, granite types, and layered rock types |
Wood | Diffuse, normals and ORMs to help you define the roughness and occlusion strength of the plywood types and wooden plank types. |
Material Functions
Material functions can be used to make emissive effects, add text, and are essential to dynamic materials. These materials can also be used with Lumen, Post-process volumes, and Niagra to create custom lighting and visual effects.
In the library you’ll find the following material functions:
| Texture Type | Description |
|---|---|
FadeBasedOnViewAngle | Creates a fade in the material based on the angle the material is viewed at. |
NearCameraFade | Creates a fade on the material based on proximity of the camera. |
MF_QualitySwitch_MaterialAttributes | The MF_QualitySwitch_ nodes are simply convenience wrappers around the material functions Quality Switch + Shading Path Switch. These can be useful when you have a complex material which needs to be simplified in order to be more lean on lower end platforms. Here are each of the tiers and the platforms they correspond to:
MF_QualitySwitch_MaterialAttributes will take a set of MaterialAttributes as input and return the corresponding one depending on the platform and shading path used at run-time. |
MF_QualitySwitch_Scalar | MF_QualitySwitch_Scalar will take a set of scalar values as input and return the corresponding value depending on the platform and shading path used at run-time. |
We used these types of materials in the following UEFN tutorials:
Review the tutorials to see how we used the materials to create visual effects in Niagara and a post-process volume. For more information on how to use material functions, refer to the Material Functions Overview documentation.
Landscape Material
The landscape material is used to create grass and custom landscapes. You can create a custom grass asset in modeling software then import your grass asset and use the landscape materials to create a Material Instance or Landscape Grass Type for your custom grass asset.
For more information on creating a custom grass material, refer to the Landscape Material Expression document in Unreal Engine documentation.
In the library you’ll find the following landscape materials:
MI Landscape Ch4
MI Landscape Ch2
MI Fortnite Landscape Customizable 01