I am working on a 2D tilemap game, partly because I’ve never done one of those before. It’s the sort of game with a landscape where grass grows, wildebeest eat the grass, lions eat the wildebeest etc. I’ve reached the point where I need to create a lot of animal definitions and I’ve chosen to do them as instances of a custom resource.
There seems to be mixed opinions on the best way to manage the editing the values in a large number of resource files. One option is to use a remote spreadsheet and then transfer either CSV or JSON files and then parse the date to create or update the resources. I also found some plugins that used a structured database of eg. animal records and then in the game you need database select statements to create new animals at runtime.
I prefer the resource files route but a noted challenge is editing lots of them if you need to make widespread changes, it’s easy to miss some instances.
I have therefore made a Main Screen plugin to help me with this (I’ve not done one of those before either). The screen takes 2 parameters, a file name with your Resource definition script and a comma separated list of folders where your eg. animal resource files are stored.
When the screen is refreshed it will display all files in the chosen folders that are based on the Resource definition, files based on other Resource definitions are not displayed. This allows a neat column layout as they all have the same member variables.
As the displayed data is in the Main Screen panel I can still see and edit individual animal resources in the Inspector panel.
Here’s what it looks like:-
and here’s how it changes when you select a different Resource definition:-
This is still a very early version. I intend to add some file-picker buttons to help with choosing the Resource definition and the folder list, I also want to work on enum variables so they show nicer data than just their int values. I don’t intend to make this data panel editable and I don’t intend to work on dynamic updates when I edit values in the Inspector. These both sound like a lot of effort and for now I’m happy with occasionally hitting the Refresh button.
Comments and criticism welcome, even if it’s to say there’s already a published plugin that does this.

