During the past couple of months, we’ve been taking a look at our editor tool and noticed a few fundamental design flaws that our testers reported. We went back to the drawing board and drew inspiration from other tools and games, including Amplify Shader, Blender, and Democracy 3. A key concept from these tools and games is that information is shown when needed, and hidden (but accessible) when not.
A More Responsive Editor
We overhauled the Editor’s functionality, stability, and design. Such changes include:
- A redesign of the nodes and connections
- Nodes now separate incoming connections to better show where the inputs are coming from
- In Unity’s “Play Mode”, running nodes are colored in shades of green from darkest to lightest to show the order of the AI’s thoughts (Observer -> Decision -> Action)
- Node design is fully editable via a GUISkin object in the project
- Knowing what AI to edit
- Selected templates are marked with a checkbox in the dropdown menu as a quick reminder of what template is being edited
- Better touchpad support
- Selecting multiple nodes is a matter of clicking and dragging, as opposed to click-drag-click
- Scrolling is much faster
- Dark Skin support
- We are able to natively support Unity’s dark skin for all the Unity Pro users!
- Improved performance
- Faster startup speeds and rendering, especially during Play Mode
Check out the before and after images of the changes we’ve made to our UI!
Clicking connections was fairly limited in the old editor. One would have to click a small square in the middle of the connection in order to select it. It led to a few problems:
- Connections were hard to click with the touchpad
- Large resolutions or high DPI made clicking even more difficult
- Some squares overlap
Clicking on a connection is important in Dani AI, because the connection provides us additional information that is not normally shown on the editor, such as conditions. As a result, we changed our click detection to a spline-based detection, so a connection can be clicked anywhere on the line.
Originally, we offloaded the node-displaying capabilities to the inspector in Unity. While it does the job well, it led to a couple of issues:
- It’s easy to lose focus on the node by clicking on another object in Unity
- Would need to click the node again to refocus on the node again
- A possible solution is to manage multiple inspectors
- Done via “Add Tab/Inspector” in any editor window
- Not many people know this trick
- It’s easy to forget to lock the inspectors, otherwise all inspectors will show the same selected object
Instead, we opted to bake our own inspector into the editor. For the editor coding developers, the built-in inspector maintains the same functionality, so you can keep your existing custom inspectors!
As we are nearing the public release for Dani AI (date TBD), we’re happy to continue to work with our testers for bug-hunting and feedback!
— initialPrefabs Team