Hi All,
Not sure where to post this question, so I hope General section is OK.
I’d like to create a level editor for some old-school game engine using a BSP geometry, brushes etc… There’s a couple options I consider like writing it from scratch in C# and .NET, but that means a lot of low level things to implement - basically re-inventing the wheels.
Another option is to use Unity for that. However, I still have two options here and I would like to ask you which approach is better:
- extending the Unity editor itself, so people would create their missions/levels directly with the Unity editor plus the tools I give them.
- making a run-time editor in Unity with full UI and mission loading/saving capabilities. Apart from the splash screen, people wouldn’t know that this was made with Unity and the UI would be completely different to the Unity itself (simpler as well).
Now, the editor would be targeted at hobbysts, rather than professional level designers, so option 1) even if it’s probably easier, looks a bit overwhelming to me. I know that a lot of potential users would find the Unity’s learning curve too steep to dive into it. And then the confusion of dealing with features which they don’t need\shouldn’t could be another layer of complexity that might put them off.
Option 2) would give me a full control over the feature set and the UI, so I could make it a bit similar to existing tools they have. However I’m not sure if this is even a feasible idea. I’m thinking about a typical 3D editor with customizable viewport layouts (2x2, 3+1, 1 fullscreen etc…), dockable panels (optional), ability to generate level geometry from brushes, baking light using ideally Unity’s baking tools (can this be done at runtime?), a regular menu bar and a number of toolbars, floating dialogs etc… Oh, and I like to add scripting abilities to this editor as well - either C# or Python, so people could automate things like brush and object creation with scripts.
Actually this project looks a bit like what I’m looking for:
http://postimg.org/image/ep40tw9gr/
However I’m just not sure what kind of effort is involved and would that make sense from the performance point of view?
Thanks in advance for your opinions.