Creating Modular Shipping Warehouse in UE4

Creating Modular Shipping Warehouse in UE4

Laura Sajdik shared some production details of her Shipping Warehouse made in UE4 during CGMA course UE4 Modular Environment.


My name is Laura Sajdik, I’m a 3D artist from Toronto, Canada. I originally studied animation at college before deciding to go into game art. Over the last several years I’ve held a variety of roles while working in mobile games from character art to animation and I am now focusing on AAA environment art.

Joining CGMA

I wanted to take the CGMA Modular Environment course for a while as I wished to push my skills further in creating this type of environment. My goal was to learn exactly how to go about planning and building a modular level from start to finish as well as feeling comfortable in Unreal authoring materials, lighting the scene and overall navigating the engine. The course was invaluable – I learned a ton in just 10 weeks! Needless to say, the more time you can put into it the more you’ll benefit from it. The lessons were broken down step by step, which made setting and meeting weekly goals achievable and allowed me to progress through the scene at a steady pace. Talking with other students in the class was also key for helping to solve any issues I encountered or for feedback and suggestions on how I could improve the scene.

Shipping Warehouse

1 of 2
1 of 2


The core idea of the environment for me was to choose something modular obviously, something that could look spacious enough but use minimal props to flesh out the scene. I had a few ideas in mind but ultimately settled on the warehouse because there is naturally a ton of repetition going on and it’s quite a versatile environment that can be found in a variety of games. My main inspiration for the look of the scene was Mirror’s Edge – clear shapes, clean textures, a clear path through the environment and not a lot of clutter.


The boxes in this level were really fun to do. My first attempt at making them was a simple cube mesh with a texture that looked like they were stacked – however, this didn’t give me the variation I wanted and the surfaces looked too flat. Even with some parallax occlusion mapping in Unreal, I felt like these boxes were such a big part of the scene that they deserved more detail so I took another approach. This time I made two basic boxes, texturing them while making sure each side looked slightly different from the other to allow me to stack and rotate them into larger piles and avoid any obvious tiling in the texture. From the initial full pallet of boxes, I created four variations and then it was just a matter of swapping them in. This made it much easier to tweak the silhouettes by simply adding or removing the individual boxes. There is a difference in polycount but I think it’s worth it.


1 of 2

Environment Scale

I tried to keep the scale of the environment to a reasonable size. I was aware that choosing too big of a scene would take away from the amount of time I could spend on each asset, so I kept the warehouse small yet if I needed to rework the level at any point the modular pieces and tiling textures would let me easily expand the walls and shelving quickly. The shelves are made up of two pieces that snap together on the grid and a tiling texture lets me adjust the height as necessary.

It’s really important to keep the size of the environment manageable in this course particularly so that you’re able to progress with the lessons. It’s far too easy to get excited and block out 50 – 60 pieces for your level in the beginning but a few weeks later when you have to model, unwrap, bake, texture and test those same meshes in engine you become aware of how large the scene has become. An environment like a warehouse is so versatile that it could be adapted to the necessary size in any game with the correct modular pieces.


For textures that took up large areas of the scene, I created tiling textures either with Photoshop or Substance Painter. I haven’t used Substance Designer to the same extent so I didn’t want to waste my time experimenting with the nodes when I could make the same texture in an hour or two using programs that I use daily at work. One of the main focuses of the course was also to create and use a tiling trim sheet to cut down on the number of textures needed, so the more use I could get out of the trim sheet the more time I could save not having to create so many different materials from scratch. Some meshes like the rolling door use a mixture of tiling texture and trim sheet. The more effort you put into planning out your trim sheet for your environment the easier it will be later when you’re unwrapping your meshes and texturing them.

The floor is a simple tiling concrete texture with vertex painting on top using different grunge masks to layer dirt, grime and tire marks. To do this I created three different grunge textures and channel packed them into the RGB channels of a black and white texture. Once that was imported into Unreal I could reuse these masks with different materials while only needing one texture map to provide different looks. Clinton has some great lessons in the course that cover material set up and instancing that helped a lot, but also just reading through Unreal’s material documentation provided a nice foundation for creating these materials.

1 of 2


One of the biggest challenges of this environment was understanding how best to use the trim sheet. I had never used one up until now but once I began applying it to my assets I realized how valuable and time-saving it is. It makes approaching an environment like this much more manageable. Taking the time to plan out your scene at the beginning will result in fewer unforeseen issues later on.

Overall I enjoyed building the warehouse and learning the techniques that go into creating a modular environment. I will definitely be using them again in my next scene! And I would highly encourage anyone interested in the CGMA course to go for it. It’ll really help add to your skill set as an artist.

Laura Sajdik, 3D Artist

Interview conducted by Kirill Tokarev


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