Jay Barnson on Working With Unity

Jay "Rampant Coyote" Barnson has penned a new developed diary kind of blog for Frayed Knights II: The Khan of Wrath, concerning his engine choice: Unity 3d. The engine has become rather popular for old-school RPGs as of late, so it's interesting to get a developer's take on it:
Nobody's Perfect

Naturally, nothing is perfect, and Unity has some blemishes. I've had some upgrades to newer versions that have gone far less than swimmingly with my existing projects. There have been a few things that have seemed needlessly difficult to do in Unity that were fairly trivial in other engines, which doesn't make sense, but usually it's the other way around.

There are some other issues I've heard but not experienced first-hand. The lack of access to the source code is potentially a problem, but in my own experience so far, I've been able to do everything I've needed to without digging into source the framework has plenty of hooks into what's going on and great plug-in architecture, so I don't foresee it being much of a problem.

You can take a look at some of the games coming out with the Unreal Engine and compare them with Unity, and grasp some of the claims that Unity is just not as powerful as other engines. In theory, I can see this. As I understand it (and this is hearsay), getting proficient in the Unreal Engine takes a really steep learning curve, but once you break through all of that, you have more immediate access to powerful tools. But for the most part, anything that's done in Unreal can also be done in Unity, but may require more hoop-jumping to get there. But on the flip side, it's a lot easier to get at the more common tools. However, this could also lead to Unity games tending to (look alike,) as developers tend to maximize their use of what comes easy.

There are a few more elements of Unity development that I haven't messed with like profiling and some debugging tools where Unity may end up sucking. I personally still only feel like I've tapped maybe 30% of Unity's potential, so there's plenty to discover (and possibly be disappointed in).

...

An Engine that Works With Me

I've worked with my own, home-brewed 3D engine before (with Void War), with a number of in-house engines, and put serious effort into only a couple other off-the-shelf third-party engines (notable Torque). While it's unfair to compare Unity with a much older game engine that was really someone else's in-house engine re-purposed for third-party use, I did feel when using TGE that I spent half my time fighting the game engine, even when I was trying to do things (it's way.) That sort of thing really blows productivity. And compared to in-house engines, Unity is far more fully-featured (because it has to be). Overall, with Unity, I feel much more like the engine is working with me, rather than fighting me, on what I'm trying to do.

This all goes back to my comment at the beginning I often forget that I'm working with Unity. I feel this is a compliment.

The purpose of a game engine and development tool is to do all the heavy lifting and (scut-work) on the mechanical aspects of game development so that you, the game creator, can concentrate on making the game, and making it cool. It is supposed to ease the transition between the minds of the creators and the player's screen. So if it is doing its job well, you really shouldn't notice it it's like driving along a smooth, well-marked interstate with little traffic. By comparison, you might say, (Oh, wow, this is a really easy trip,) but for the most part it doesn't draw attention to itself you get to concentrate on the journey. That's really how Unity has been for me. I'm sometimes impressed by how it makes parts of my job easier, but for the most part it simply facilitates the journey. I think, (I'm working on my game,) not, (I'm working with Unity.) And that, I think, is the mark of an excellent game engine.