- WPF is windows only
- It's a pain to maintain;
- The logic behind it is not very flexible, loads of encapsulation and abstractions away from the raw types, tons of spaghetti logic.
- Plugins are pretty much impossible to implement
- The UI and system around scene management does not expect changes outside of editor-specific paths, see point #1.
- I.E.: if a plugin were to change any value in a scene, that change would not be reflected in the editor or in the saved scene.
- The UI and system around scene management does not expect changes outside of editor-specific paths, see point #1.
- We can't feasibly implement a good run in editor feature
(most to least important)
- Solves the issues listed above, obviously
- For point #3 & #4, if/when the game runs in the editor our users might use the inspector/property grid to look at how their component values changes while the game runs so we have to 'update' the inspector regularly to present those new values to the user. UI element should be able to re-draw fairly fast to avoid impacting the game's performance in the process.
- Free and open source
- Fast/easy to produce debug uis (minimal boilerplate)
- Good styling
- Tabbing/Docking
- Minimal amount of work on our part to support it (let's avoid uis without .net bindings)
- Not fully-featured enough for our editor UI
- It's not as well optimized as we would want
- ~ but this is not as important as users can use all sorts of other ui systems that's more suited to their project
https://gist.github.com/Eideren/4eb0199e87eb0a89092a3cd21332aa47
- A pain to setup, though manio already dealt with most/all of it https://github.com/manio143/StrideComponentsEditorAvalonia
- Fully featured
- Good styling
- Similar to WPF - easy to transition to
- Might have performance issues ? Need to validate that
- Might be missing some features ? Need to validate that