One thing that I think is pretty important in software is for it to be extensible and customizable, so each user can tailor it to his specific needs. So with that in mind I have added a new preferences system to the editor, where each user can change the behaviour of the application.

Key Bindings

The first preferencesI added was key bindings customization. Everyone likes to do their work faster, and shortcuts help to achieve that by not having to reach time and time again for the tools you need from some cluttered menus. This is also something everyone is vocal about, everyone has their own preferences on what keys each actions should be bound to. With this system, everyone can change the bindings to their own liking, and there is also support for key profiles. This can be used to ease transition for people that are used to key bindings from other tools, like Unity, Maya or Max.

Plugins

Another thing that I added was support for managing plugins. If you don’t know me, I think plugins are a pretty big deal in software, they not only make your software more extensible, but they also allow for easier management of the code base and complexity. In my editor architecture, all core functionality is implemented via plugins. Of course a couple plugins depend on each other, but that is fine, as long as they communicate via well-defined interfaces. This is pretty similiar to the component-based approach way of thinking, that is getting pretty popular for scene management.

Right now it allows you to enable and disable plugins, install and uninstall them, as well as checking for updates. I am still not completely happy with the GUI layout, but for now it does its job.

I’ve also started adding more preferences, but they’re still a work in progress and will be shown later.