How to Make a Moddable Inventory System in Unity: Part 0 — Introduction
One of the greatest ways to build a community around your game is to allow players to mod it. Unfortunately, this is also one of the hardest things to do in most game engines, especially Unity. In this series of articles, I will show you how to build a moddable inventory system from the ground up, as well as how to incorporate some tools to make using mods easier for your players. I plan to have 5 parts of this tutorial, but it could be more or less. At this point, I’m going to tell you exactly what this system will and will not be able to do, so as to avoid confusion.
What this system will not be able to do:
Below are several things that this system will not be able to do without extensive modification:
- This system will not let players execute their own code.
- This system does not include inventory UI
- This system does not contain the logic for picking up/dropping items
What this system will be able to do:
Below are several things that this system will be able to do:
- This system will let players and modders create their own objects using systems that already exist within the game.
- This system will allow players to enable or disable mods that they have installed
- This system will allow players to remove items that exist within the game
- This system will include logic for crafting items in the game
- This system will allow players to change any variable in the PlayerData class
In case reading through thousands of words and writing hundreds of lines of code doesn’t sound like your cup of tea, at the end of this project, I will release the code on GitHub and will write an article summarising everything you can do with this system and how to do it. Otherwise, on to Part 1.