Some tools I've created for the development of Ransacked I've put together in a collection I call the Mainframe.
Most of theses are editors for a specific collection. I use a library of UI elements and logic I've built on top of the Unity UI Toolkit. It's C# based html/css environment. I've done a lot of traditional web work before, and have also used C#'s Winforms, it's kind of like a mix of both.
I'll just be highlighting two of the editiors.
The Model Bank is used to prepare models for their in-game needs. Logic-wise an entity will have a Model component which references an entry in the Model Bank.
The first column is a list of all the entries. We can edit, add, remove and search entries. When an entry is selected the second column appears.
Here there is an input for the actual model file. If one is selected, an interactive preview will be displayed on the right.
Often we'll need the location of something on the model. Which can very between models. The location an attack is launched from, for example. We have a collection of these keys, and a bone/sub-object of the model can be chosen as these anchors. This way when we need to reference this location, we can simple look it up by the key.
The animation system works very similarly to the anchors. We often need a model to animate based on an event. We can take that unified event key and connect it to the animation controller of the particular model.
The Monster Manual is what I call the editor for all the units. The model for unit is selected by choosing entry from the Model Bank.
Here we find all the nuanced settings for each unit. Its health, armor, attack speed. All adjustable and saved to file. We can also edit the Sound Bank component that we discussed in the audio section.
Any additional components specific to that unit's archetype can be added as well. An Entity in engine will be given a Unit component that references a Monster Manual entry. When loaded, the entity will be given all the components and data matching the entry.
The editors work really well. I'm excited to grow the system to make more complex tools.