Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
May 26, 2020 10:49 pm GMT

Using Unity as a level Editor for a custom Game Engine

One of the big challenges of making a 3d game in a custom engine is that you need some kind of level editor to place items in the world. When starting out it is often easy to just hard-code the positions of the items to test things, but once you have a basic renderer implemented and you start testing different level layouts it becomes quite tedious to manually type in a position, compile and run and hope that you placed your object in the right position. This is one of the biggest challenges I faced in my former project while trying to figure out how I was going to get the artists to test out level designs.

I considered making a level editor, but that ended up being a great deal of work, so after looking into it I decided that a custom level editor was not the way to go about doing level editing for a custom game engine in a 4-month project that was already behind schedule, it would be a huge endeavour and not worth it in the long run. So I decided that it was easier to reverse-engineer the unity test-based scene file and grab the components I needed from there for the game.

In theory it was a good idea and I ran into some issues with the file-parsing due to a lack of experience with parsing YAML files, but I eventually got a working version of my editor that could take a unity scene file using some custom scripts to define metadata about the game objects and the materials and gameplay classes associated with each object and turn it into a custom xml-style scene file that I could then run validation on and then convert into binary to load faster into my game engine.

My solution wasn't super elegant, but it worked and I feel that I saved me a great deal of time in the long run although it took much longer than I intended. I still think that I could've built a terrible level editor faster than I built this unity scene loader, but this scene loader is more robust than anything I could've built in the same amount of time using a custom level editor so I have no regrets about my decision, especially since it was for artists, I rather give the artists a tool like unity than a terrible level editor with no features.

If you wanna check out my implementation of the scene loader check out this repo.

By Joseph Whittington


Original Link: https://dev.to/josephwhittington/using-unity-as-a-level-editor-for-a-custom-game-engine-5177

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To