I wanted to use a List<> object to contain my level information, allowing me to adjust/edit the level data within the editor. In the past I’ve used CSVs & Excel to create a text list for level information, even using Google Docs to keep an online copy and download it directly into the App when it changes.
This time I wanted to use a GameObject with a bunch of properties and hooks to materials/prefabs that are used to populate each level. Not sure if it’s the best way to do this, but I like experimenting with various approaches so I can learn what works & what doesn’t.
Then I’d create a list of these level objects in the order they will be used in the game, so if I reuse the same level data, it only needs to exist once, but will occur twice in my list. The problem I ran into was that editing the list was a real pain. Unity, by default, will let you duplicate an entry, delete an entry, and overwrite an entry. Not very flexible.
After a little Google-Fu I came across an editor extension that lets you manipulate a list in the editor with a lot more control. It’s open source and has great documentation. You can find it at https://bitbucket.org/rotorz/reorderable-list-editor-field-for-unity/overview.
I was able to use it in my project and created a custom editor object that allows it to operate on my list. You can see from the attached screenshot, that it gives me all the control over the list that I’d want.
I can drag & re-order the entries, I can add new ones, delete existing entries, and even use the handy pop-up for additional actions.
I great tool that will speed up my level editing plans.
Kudos & Thanks to the Rotorz guys.