Introduction
One aspect of game development in general (and inventories as our particular examples in this chapter) is the distinction about when we undertake an activity. Run-time is when the game is running (and when all our software and UI choices take affect). However, design-time is the time when different members of our game design team work on constructing a wide range of game components, including the scripts, audio and visual assets, and the process of constructing each game level (or "scene" in Unity-speak).
In this chapter, we will introduce several recipes that make use of Unity's Editor extensions; these are scripting and multimedia components that enable a game software engineer to make design-time work easier and less likely to introduce errors. Editor extensions allow workflow improvements, thus allowing designers to achieve their goals quicker and more easily; for example, removing the need for any scripting knowledge when generating many randomly located...