This chapter is hands-on. You will need to have a basic understanding of Unity and C#. We will be using the following Unity engine and C# language concepts:
- Interfaces
- ScriptableObjects
If you are unfamiliar with these concepts, please review them before starting this chapter. The code files for this chapter can be found on https://github.com/PacktPublishing/Game-Development-Patterns-with-Unity-2021-Second-Edition/tree/main/Assets/Chapters/Chapter10.
Check out the following video to see the code in action: https://bit.ly/3eeknGC.
We often use ScriptableObjects in the code examples of this book because when building game systems and mechanics, it is essential to make them easily configurable by non-programmers. The process of balancing systems and authoring new ingredients usually falls under the responsibility of game and level designers. Therefore, we use ScriptableObjects because it offers a consistent way of establishing an authoring pipeline to create...