Making Of The Forgotten Sanctuary Real-Time Environment In Unreal Engine
Zyad Younes discussed the workflow behind the Forgotten Sanctuary project, covering its goals, technical pipelines, experimentation with new techniques, and how he created each prop, including the boat, statue, and pots.
Introduction
Hello everyone! My name is Zyad Younes (aka mortris), and I am a self-taught 3D Environment and Prop Artist from Egypt. My love for art started early with drawing and painting, which naturally led me to study architecture, a field I love because it perfectly combines art and engineering. I am currently an architecture student, and my studies continue to give me a strong structural foundation.
My 3D journey started three years ago when a university professor introduced us to photogrammetry and its uses in both architecture and video games, and that was the exact spark that hooked me. My true drive for this comes from playing video games since I was five years old.
Now, alongside my architectural studies, I am actively learning 3D environment art, and my ultimate goal is to one day be a part of that creation process, building worlds that give people the exact same feeling and sense of wonder I experienced growing up.
The Goal of the Project
For Forgotten Sanctuary, my goal was to build a small, contained environment to serve as a proving ground. I wanted to apply the knowledge I had gathered, while also pushing myself to use industry-standard workflows, dive into the technical pipelines, and practice new techniques I had never touched before.
Concept & References
The core vision for Forgotten Sanctuary was to create a space that felt magical, calm, and warm. I specifically targeted references that captured that exact vibe mixed with overgrown nature to create a secluded, forgotten place bathed in soft, golden light.
Managing Scope
Scoping is a very important part of the process. During the project, I realized I had to cancel some ideas that would highly increase my scope. For example, my original plan for the landscape was to make it look like a giant eye from a top-down view, with a sunken statue head in the middle representing the iris.
I had even planned to create special cinematic renders for this angle and integrate the eye shape directly into the middle of the project's logo, but I decided to scrap that idea so I could keep the project manageable and focus entirely on quality, not quantity.
Assets & Props Workflow: The Boat
For the hero prop, I started with a simple blockout to nail down the core idea and scale. Once that felt right, I moved into a more detailed blockout to define all the individual boat parts. After the base forms were solid, I took them into ZBrush to sculpt the final high-poly details.
From there, I decimated the mesh to create the low-poly version and brought it into Blender to unwrap the UVs, setting it up with two UDIMs to maintain good texel density. Finally, I baked the high-to-low poly maps using Marmoset Toolbag and completed the texturing in Substance 3D Painter.
Assets & Props Workflow: The Statue
The fantasy stag statue was actually my first time sculpting a creature. To prepare, I started watching many artists on YouTube, studying their creature sculpting workflows and breakdowns to learn more about the process. Once I felt ready, I trusted my fundamentals and followed the same workflow I use for any other prop.
I started by simply blocking out the mesh to capture the main shapes and volumes. Once that foundation was solid and reading well, I moved on to sculpting the final details.
Assets & Props Workflow: The Pots
For the pots in the sanctuary, I used a dual UV set workflow to maximize efficiency:
- UV Set 1: Dedicated entirely to the tileable texture.
- UV Set 2: Dedicated to the trim sheet AO, Normal map, and mask.
For the tileable UV, I used a mirroring and stacking trick to completely hide the seams and tile the material without any issues. I set up the UVs this way specifically to serve a feature in the shader I made, which automatically increases the texture tiling by increasing the object scale.
To create the trim sheet for the pots, I started by sculpting a detailed high-poly version using ZBrush. Once the sculpting was finished, I baked those high-poly details directly onto a simple cylinder using Marmoset Toolbag to generate the final textures.
Assets & Props Workflow: Retopology
While working on the props, I decided to do manual retopology for some of the assets using TopoGun and Blender. It wasn't always strictly necessary for every single piece in this static environment, but I did it purely for practice.
Since my goal with this project was to push my technical skills, I wanted to make sure I was building good habits and practicing the standard industry pipeline from high to low-poly. However, some assets are simply decimated.
Assets & Props Workflow: The Main Gate
For the main gate, I kept the initial blockout process highly non-destructive. I started in Blender with just four base shapes, utilizing the array and curve modifiers to quickly arrange them and form the complete structure.
Keeping this setup procedural was a huge help for iteration. I actually built an initial version of the gate, decided I didn't like how it looked, and was able to quickly tweak the modifiers to generate a completely new design. Once the final proportions were locked in, I brought the mesh into ZBrush to begin sculpting the details.
To texture the final asset, I built a custom master shader directly in-engine, packed with all the features I needed to drive an RGB masking workflow.
Assets & Props Workflow: The Floor
I made sure the floor mesh had clean, even quad topology, specifically to make vertex painting easier, and inside the engine, I used the Red (R) and Green (G) channels to paint different material layers and break up the tiling across the floor.
Adding Details: POM Decals
To push the detail across the scene, I relied on Parallax Occlusion Mapping (POM) decals. This technique was especially useful for the tree decal. By using POM, I could easily stamp deep, 3D-looking details directly onto flat surfaces to get those rich engravings. It adds a ton of visual depth to the environment while keeping the overall geometry light and optimized.
These were made in Substance 3D Designer, allowing me to get new variants quickly just by changing the seeds.
Adding Details: Mesh Decals
To add more realism to the environment, I utilized mesh decals and placed them specifically to break up the sharp edges along the floor, giving them the appearance of realistically damaged stone rather than perfect, hard corners.
Adding Details: Wetness
I added a wetness effect to the objects intersecting the water's surface, like the floor and the lower stairs. This helps blend the meshes naturally into the water.
Adding Details: WPO
To populate the water, I used lily pads from Megascans, but to keep them from looking static, I created a custom vertical World Position Offset (WPO) setup in the material. This adds a slight up-and-down movement.
Water Shader
For the water, I built a custom shader that helped me iterate incredibly fast. I designed it to include a wide variety of controls, adding features like caustics, depth calculations, color blending, and several other adjustments to get the exact look I wanted. To help bring it all together alongside these features, I reused some textures from the Rural Australia pack by Epic Games.
Lighting Pass
To achieve that warm, magical feeling, I built the lighting in stages.
- Sky Light: I started here to establish the ambient base and the overall tone of the shadows.
- Fill Lights: Before adding the main sun, I used fill lights to manually paint the scene. This allowed me to lift the dark areas, bounce warmth around, and highlight specific spots exactly how I wanted them without fighting the sun's intensity.
- Directional Light: Next, I brought in the Directional Light for that strong golden-hour punch. To make the environment feel alive, the directional light has moving shadows built by a material function that subtracts light from certain areas.
- Fog: Finally, I added the fog. This tied everything together, giving the scene its sense of depth.
Workflow Tips
Reading Normal Maps Visually: I sometimes get confused about whether a normal map is formatted for OpenGL or DirectX, but I found a reliable way to tell just by looking at it. I use a simple visual trick based on how the light and shadow fall.
If you imagine the light coming from the top left, the shadows fall diagonally, where green acts as the highlight and red acts as the shadow. This makes it easy to tell which parts are bumping out and which are holes.
For DirectX, you just have to imagine the light coming from the bottom left instead. It is a quick mental check to make sure the map is reading correctly.
Check this technical article by Mark Kirillov for a better understanding.
Final Walkthrough
To wrap things up, I recorded a walkthrough video of the environment. I actually ran and captured this entirely on my RTX 3050.
Conclusion
Thank you so much for reading through this breakdown! Building this environment was an incredibly rewarding challenge. If there is one final thought I want to leave you with, it's the importance of trusting the process. There will inevitably be moments during any project where things look rough or don't seem to be coming together.
It is easy to feel discouraged during that "ugly phase." Just keep pushing through, keep refining, and trust the techniques you've learned. All those small details and iterative steps will click into place. Thanks again to 80 Level for the opportunity to share this project and the workflow!