See How to Make Custom Moss Shader & Burned Fire Decal in Unreal Engine 5

Abanob Atef shared a detailed breakdown of the Dark World scene inspired by Hellblade and God of War, explained how he set up a custom moss shader and a burned fire decal, and showed how he used William Faucher's EasyFog plugin.


Hi! My name's Abanob Atef, and I'm a 17-year-old Environment and Lighting Artist who loves to create immersive and realistic scenes using Unreal Engine 5. I got into 3D art in late 2022, and as a gamer playing video games, I became passionate about knowing how these games were created, and then my search for the world of 3D art began.

I started learning 3D modeling and texturing using Blender and Substance 3D Painter, and then I discovered Unreal Engine and how it could bring amazing assets to life with lighting and effects.

I have worked on many personal projects but not all of them were published because most of them were not finished or I did not like them. Some of my recent works include a Persian scene, a mossy forest, and a Caribbean island.

I decided to become a lighting artist because I realized how much lighting can affect the mood, atmosphere, and storytelling of a scene. I was inspired by the works of artists like William Faucher, Pasquale Scionti, and Gabe Tandy, who showed me the power and beauty of lighting in Unreal Engine. I also enjoy the technical and artistic aspects of lighting, such as optimizing performance, balancing colors, and creating realistic shadows and reflections. I usually use Unreal Engine as my main software for lighting.

Unreal Engine 5

My introduction to Unreal Engine 5 was through the tutorials by William Faucher, Joe Garth, and Unreal Sensei. I was fascinated by the new features and enhancements it provided, especially for lighting. As a user of Unreal Engine 4, I am always curious about the latest innovations in real-time lighting technology and workflows.

Unreal Engine’s default projects now enable “extend default luminance range”, which supports physically accurate values. I firmly advocate that physical values are the optimal starting point for lighting, and I wanted to learn about the systems behind Unreal Engine 5’s shift toward this workflow.

Lumen amazed me with its speed and no-bake times, which enable a quick iteration process. It also helps to effectively create and improve the initial lighting look. However, I also have some concerns about artistic freedom, as every object is part of a dynamic global illumination system and the high expense of real-time GI. It is crucial to use the lights smartly and track the lighting budget. Thankfully, Epic offers a comprehensive set of Lumen and content debugging tools and visualizers to help with this. I am also impressed with the Virtual Shadow Maps, the high-resolution shadowing system that supports Nanite geometry and large open worlds with minimal performance cost.

UE5 has many lighting tools and plugins that make it easier and faster to light a scene, such as:

  • Environment Light Mixer: A tool that allows you to customize and fine-tune the lighting elements of your scene, such as the sky, the clouds, the atmospheric lighting, and the skylight just in one window.
  • HDRI Backdrop: a plugin that quickly sets up product visualization using an HDR image projection with real-time lighting and shadowing.
  • Ultra Dynamic Sky: an amazing plugin that allows you to create fully dynamic lighting, with customizable clouds, moon, stars, and weather settings with lots of presets.
  • EasyFog: a plugin that allows you to add a lot of realistic fog cards and push your scene quality a way better with it.

The Dark World Project

I started my recent Dark World project as a personal challenge to create a dark and moody scene inspired by games like Hellblade and God of War. I wanted to create a contrast between a fantasy and a natural environment. I used references from the games, as well as from real-world locations like Iceland, to get the look and feel that I wanted. I also used some concept art and mood boards to help me with the composition and lighting.

The environment was set up using a combination of Megascans assets and UE Marketplace assets. I used the Valley of the Ancient sample as a base and then I modified it to suit my needs. I used Megascans assets Icelandic Collection for the rocks and mossy landscape. I also used the EasyFog plugin by William Faucher to add the fog cards. I also created a custom moss shader and a burned fire decal to add some variation and detail to the rocks.

The process of creating the scene was iterative and experimental. I started by blocking out the main shapes and elements of the scene and then added more details and assets as I went along. Then, I changed the color of the assets to suit the dark theme I was aiming for.

Here's my scene progress:

Foggy Lighting

The foggy lighting scenario was one of the most challenging and rewarding parts of the project. I wanted to create a sense of mystery and depth in the scene.

The workflow I used was:

  • I started by adding HDRI from the Matte Painting Skybox Pack, which is a high-quality and stunning package, to create the sky. Then, I added a skylight component to generate lighting data from the HDR texture.
  • To achieve the desired appearance of sunlight and soft shadows, I applied a directional light and set the source angle to 5.0.
  • I added Exponential Height Fog enabling Volumetric fog to achieve a good result and then added the EasyFog tool that I used to add fog cards to the scene. It is a blueprint tool that allows me to easily place and adjust fog cards in the scene. It has many parameters that I can use to customize the fog, such as base color, contrast, emissive, normal map intensity, fog density, fading distance, and wind animation. I used EasyFog to create different layers of fog in the scene. I think EasyFog is a great tool for adding fog and clouds to any environment, and I recommend it to anyone who wants to create atmospheric scenes in UE5.
  • I added spot lights because they enhance the environment's highlights, brightness, and greyscale values. I use a greyscale mode by setting the saturation to 0 in the post-process volume settings, which allows me to quickly evaluate the lighting quality and flatness. The final image look depends on the greyscale values, so I only switch back to the default saturation after adding the spot lights. Then, I modify the lights' colors to fit the desired tone and color palette of the lighting.
  • In the final step of the lighting process, I fine-tuned the overall colors using unreal color grading Post Process Volume, without any LUTs, to obtain the intended look. These are my post-process settings:

Fiery Relight

The fiery relight was another challenging and fun part of the project. I wanted to create a dramatic and cinematic effect inspired by the Muspelheim realm from God of War, and I also wanted to show the power and versatility of Lumen.

The final result was achieved by using the following steps:

  • I added the same lighting from the first lighting mode and started with changing values of the temperature in directional light, spot lights, and Post Process Volume to a warm value.
  • Changed the HDR texture to fit the look of the Muspelheim realm.

Here are my lighting settings for fiery lighting mood:

I used Lumen to set up the lighting and reflections for my project in Unreal Engine 5. It allows me to create realistic and immersive scenes with infinite bounces of indirect light and specular reflections. I think Lumen is a great feature for artists who want to achieve high-quality lighting without baking or precomputing anything.

Creating Custom Moss Shader

  • I applied a material function to the Megascans assets to project moss on the world position's Z-axis, which ensured consistent moss placement on top of the static meshes regardless of their rotation.
  • I used the "World Aligned Blend" node in Unreal Engine to enable this technique, which allowed me to accurately and efficiently apply moss to various assets in the scene.
  • This is a widely used technique that can also be applied to other scenarios such as snow, sand, mud, etc. There are many videos and resources that demonstrate this method in detail.

Creating Burned Fire Decal

My main goal in creating this decal is to burn any rock or any asset in the scene by just dragging and dropping it.

I used some references before starting working on it to help me create more realistic and accurate representations of this decal.

  • I added a noise texture and applied a material function to project the noise in the world position to the XYZ-axis and the goal of creating these nodes is to create a variation in opacity.
  • I masked all of these nodes to another grayscale texture (black at the edges) to remove any seems.
  • After, I multiplied all of this to the "SceneTexture" node and set it to "World Normal" masked it by the blue channels to get all that faces the Z-axis up or down with some other nodes to contrast the values of normals and take facing down faces (negative values of Z) into consideration.
  • Then I multiplied them with an alpha fade parameter to control the overall fade for the decal.
  • For the emissive color, I added a color tint multiplied with fire noise nodes I created with 2 noise textures made in the absolute world position with some adjustment parameters to control the noise like scale, maximum, and minimum intensity with time node to make it animated.


This project was done in around a day. I didn’t need much time since I already had the assets. I devoted most of my attention to the lighting, as I believe it is the most crucial element in this scene.

Before I conclude this interview, I want to share some resources for artists who are interested in learning more about lighting in detail.

These resources are very useful and have been a great support for me in my lighting journey:

Abanob Atef, 3D Environment & Lighting Artist

Interview conducted by Theodore McKenzie

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more