Then, the following day, Unity released their long-teased Unity3D 5, along with an indie bonus of their own: Nearly all previously Pro-only features are now available for free to non-Pro users (excluding the snazzy Pro-only editor skin, darn!).

Also exciting is Valve's unveiling of Source 2, also free for developers. Although, I admit I know very little about Source, so I can't really comment any further on it.

I've had an eye on both Unity3D and Unreal Engine for awhile now, I even dabble in Unity3D a bit, and I find it interesting the directions both have taken. The two engines come from opposite backgrounds: Unity3D from the indie scene, and UE from the AAA industry (Although initially, Epic itself originated from the old DOS shareware scene - arguably the original indie game scene). But lately, they've been encroaching on each other's territory. Unity has been touting one AAA-targeted feature after another. Meanwhile, Epic has reversed the "expensive, exclusive and difficult" image from their UE3 days, and drastically reduced both technical and financial barriers of entry - a move aimed, in large part, straight at indies.

The wall between indie and AAA development tools has collapsed, attacked from both sides, with Unity and Epic being two of the biggest demolitionists (among others as well). And indies are quite possibly the biggest beneficiaries.

Here's what the two engines now offer to indies:

Anyone can get started.(Both Unity and Unreal)

Easy to use game editing environment, with rapid prototyping and development turnarounds, and loads of useful tools.(Both Unity and Unreal)

Engine with AAA-quality and speed.(Both Unity and Unreal)

Target all the most popular PC, console and mobile platforms...(Both Unity and Unreal)

...and then some(Unity)

Develop and release without investing one cent on tools or engine.(Both Unity and Unreal)

Official online store for buying/selling assets.(Both Unity and Unreal)

Ease and safety of [an older version of] C# and other CLR languages(Unity)

Full power of native C-linkage languages (implying a potential for possibly using D!)(Unreal)

Full, unrestricted access to the entire build system and engine source.(Unreal)

Even the few differences above aren't so different after all: Unity is perfectly capable of interop with native C-linkage languages (it just requires taking extra trips manually across the managed/unmanaged barrier), and there's no reason a managed scripting system can't be used on top of Unreal Engine (you're just "on your own" with that, AFAIK).

Of course, Unity and Unreal aren't even the only options in town. There's still Source 2 as mentioned earlier, plus CryEngine, MonoGame (a resurrection of XNA), and even others.

It's a good time to be an indie: Engines compete, we win.

[1] I'll have to save my adventures using Unity3D's editor on Linux for a separate post. In brief: It gets the job done, although not spectacularly well. Certainly not well enough to obviate the need for a native Linux editor.

[2] At the moment, I have no idea what the exact state of Unreal Engine's editor is on Linux. I know it exists, my understanding is that it's usable, but I know nothing about how usable. Could be flawless, could be comparable with Unity under Wine, could be less, I don't know. But I am definitely interested.