Diary Part III: Difficulties and Challenges

In this part, I would like to tell about some of the challenges and difficulties we faced during creating this asset pack. This diary won’t be complete without telling a bit about it. I hope you see them as milestones of a learning curve as I did.

Iterations

Thanks to Hack N Plan I tracked quite well how much time I spent on each task. It turned out, I spent way more time on the first phase than I planned. This was because I wanted to make sure everything will be set before I move on to finalizing the modular parts. The cycle was to model, export, build, and if there was a problem, move back to Blender and remodel that part. Making the stairs had more than 3 iteration cycles before I even get to highpoly modelling and normal baking. The elegantly curved form was not really good for vertex snapping. The railings had gaps, but I didn’t want to give up on separate railing parts, for the sake of reusablility. The rectangular based columns were too small, so I made another set of bigger columns.

Columns in various shapes and sizes help create variation in the environment

Seamless Parts

Creating the walls and floors and make them tile seamless was less of a challenge than I thought. However the small stairs (steps) needed better planning, because the individual bricks had to be seamless in every direction, and the floor pieces need to be seamless with the basic floor too. I had to reshape these meshes a few times until I was satisfied with the result.

An early view in Unity editor of the tileable steps with placeholder textures

Shader shenanigans

Making the leaded glass windows – and making it look like it is leaded glass was one of the most memorable challenges. After creating the model and textures (together with alpha masks for the lead parts) I dropped it into Unity. I got a friendly feedback on how the glass should refract light and create a distortion effect. First I used a built-in glass shader, but it only had base color and normal inputs, and I needed the metal parts to be non-transparent and metallic. We didn’t quite laid our hands on custom shader creation before, so we moved to Amplify Shaders to solve this. I am still new to this whole shader thing, but the result was much better than the first time. After this I had to move on with the rest of the package, and this whole glass shader issue was laid apart for more than a month. While assembling the Demo Scene, we got to it eventually again, and Adam offered his help with Amplify to solve the issue. Seems like a new eye can make all the difference when working on such a big project.

Cleaning up & Bloopers

When having a big pack with more than 400 prefabs, it can quickly grow out of hand with all the variations, parts, bits and pieces to stay organized. We went through multiple times on all of the folders, meshes and prefabs, so future users of the pack won’t have any trouble while building a level. This was the phase in which we found other issues too, such as inconsistent prefab naming unnecessary large textures, unused materials and duplicate meshes.

One of our favourite happy accident happened during the scripting of the doors. We made all drawers, doors, and cabinets interactive with these scripts, which use the pivot and axis of the object to rotate them accordingly. In this case, something got messed up and this door opened in a way we both were laughing in tears for a while:

So many prefabs to build from!

Coming Soon to Asset Store - Dark Fantasy Kit!

The last, but not least task with any Asset Store pack is to create nice presentation of the contents. With this pack, we built a few demo environments and highlighted the pack’s strong sides, showing its best within Unity. We refined the renders with the latest post process stack, and besides the screenshots, we will release videos and downloadable, playable demos too. Depending on the Asset Store’s review process, the pack will be available in the store within about 3 weeks.

Thank you for reading this blog post, and feel free to share your insights in the Unity Forum.