I've tried it. Although with unity you see results faster, it's nothing compared to coding everything yourself. XNA makes everything really simple so the results you see will still be faster than something like DirectX or OpenGL

Thank you sir. I've been reading up on it a bit and it seems that the opinion anyway is Unity is more for designers whereas XNA is more for programmers (and I being a programmer will probably stick with XNA)

You should keep in mind though that Unity has an amazing asset store that will allow you to purchase tools that will shave off months of development time. I spent $100 dollars on a 2d skeletal animation editor, 2d volumetric lighting, a full blown tile editor, and more, which would have taken months to do on my own. "Make games, not engines" as the saying goes, so it depends on if you want to focus on making games or the stuff you need to make games, which you will have to do with XNA(Though XNA is still really awesome). Just my 2 cents.

I'm more of a programmer myself, and you don't really learn much from dragging and dropping objects onto a map. In my opinion, taking the extra month or two to program a map editor is worth it just for the learning experience. My first games were made with programs like GameMaker and RPGMaker, and after making a few with those you realize that there is so much more you can do if you can just modify the code yourself. Using a game making tool sets boundaries, but if you code the whole thing yourself, you can theoretically do anything

Given that "vanilla" XNA is officially end-of-lined and its development stopped long ago, I'm guessing the choice to use "XNA" at this point means using MonoGame or some other implementation that is actually maintained?

I don't see how Unity is "not for programmers". Writing any serious game in any environment is going to involve tons and tons of programming, and if Unity didn't let you replace almost everything with your own code, it wouldn't have been used for commercial games:http://unity3d.com/gallery/made-with-unity/game-list

You just have the option of not coding all the generic stuff that Unity provides reasonable defaults for, and instead spend your time coding stuff that will distinguish your game from others. Whether that is game logic, or some brilliant tech.

If your focus isn't in making a game, but learning about low-level tech, why not write straight D3D or OpenGL with a minimal wrapper like SDL and a language of your choice? Neither Unity or XNA seems beneficial in that case.

I disagree with that comparision of "unity -> designers / xna -> programmers", a designer will never use Unity as he/she should use it. Unity is not a "game maker tool", is an engine with lots of features and, yes, it already solves lots of stuff, but you need to program for your game a lot too.

I am a programmer and I did my own engines in the past, and I absolutelly love Unity, I think is the best engine outhere right now.

My current decision to use XNA is that as a C# developer by trade I am very proficient with the language and I didn't want to get into the low level details of D3D or OpenGL programming. I'm also not interested in C++. I've done some 2D with XNA in the past and it was fairly easy to wrap my head around so its the more comfortable choice for me.

Unity looks like a great tool but the $1,500 price tag is a bit steep for a hobby considering I am, like many game devs, a one man shop and will likely not ever see a dime for my endeavors.

I don't know of a lateral move from XNA at this point though considered Unity as I saw a lot of cool things it could do. However the price tag will probably keep me away from it for right now and I'll stick with XNA which is free and will enable me to do some 3D programming by having to create the guts myself which is probably going to be more beneficial to me as a developer anyway and maybe in the future I can look at a tool like Unity.

Also I'm working primarily in DX9 and shader 2.0 so haven't needed to move beyond XNA (my primary dev box is currently running XP).

I appreciate the input though that Unity is a bit more than just a design tool and will consider that in the future.

Thanks. I've checked that out and it appears that for a game of, say space craft dogfighting in space... that the Unity base engine should work just fine. The game I am developing is a mixture of civ and space exploration and dogfighting. For right now, focusing on one aspect of the development cycle, I'm working on the flight portion.

You'd probably need some kind of AI scripting for that. There's also pirating if you're not above that but for the record I'm not endorsing it. Only the pro version supports path-finding through meshes...Unless I'm understanding that wrong and you can still use AI scripting

Why not try Unity for a few days. Its free to try for almost everything you would need to make a solid game. Only you can decide if you like it more than using XNA. There is very little barrier getting into Unity other than opinions and stigmas. Not to mention that you can port to many devices and platforms much easier than I would think XNA could. (I am assuming you mean XNA, and not MonoGame).

Unity, Unreal, CryEngine, all those engines with straight up-designer only, programmers shot on sight, IDEs are for noobs anyway.

Unity gives you ($0):

A full engine with a modern component-based model.

The dreaded IDE for building scenes and blocks of pre-assembled serialised data. Don't worry though, if you're too manly for it, you can leave this stupid productivity booster in the dust and insist on handling everything from code or spend an appropriate amount of time building your own, better editor.

Mono. Not the latest Xamarin owned version, but the Attachmate version plus Unity tweaks. Still, most .net byte-code slips right in and C#, Boo and Unitys "JavaScript" - an ECMA script variant - are compiled automatically.

The asset store with loads of code, assets and editor extensions available for cheap or free. Don't worry though, you don't have to use it. That would probably be cheating.

Publishing to OS X, Windows, Linux, OS X/Windows webplayer (with special support from Facebook if you're into that sort of thing), Google Native Client, iOS, Android and Windows Phone.

If you want to pay for Unity ($1500+), you get additional things like:

RenderTextures. I'm sure no game can be made without this.

Native plugins on Windows/OS X (for the mobile platforms, this is already available for free). You will obviously need this one when you need to fix the hopelessly ineffective engine.

NavMesh baking. Getting things from the asset store, like some of the cheap or free alternative pathfinders, would clearly be cheating, so no way around the need of this one.

Various other high end things you cannot live without.

Console platform licenses which is obviously the only reasonable direction to take your game in.

Long story short, Unity is pretty useless unless you pay like a gazillion dollars to an evil corporation, so you might as well forget about it and start from scratch. After all, making engines is a whole lot more fun than games, right?

In all seriousness though, tharealjohn has the right idea. These "vs" posts only ever end up in two camps of supporters yelling at each other across the thread. Give both a serious try and form an opinion based on that.

And give it serious thought on whether you want to make a game or an engine. If the later, then Unity is obviously not for you and you should adjust your steering accordingly. As mentioned earlier, writing an engine is indeed awesome learning.

Not trying for a vs thread... just seeing what's out there and what the pros and cons are.

I will likely download the free Unity and see what I can do with it and go from there. I like hearing from people that have done both as they have some experience that can be shared.

My knowledge with 3D engines is very limited at the moment, so writing one is a daunting task. However on the flipside, paying $1500 is also quite daunting for something I may not actually need. I understand a lot of what Unity offers but there are other things I'm not so sure what they are... for example... RenderTextures.

My target is a windows game. Would be cool to port to Mac OS. Trying to keep the scope small and build from there. If Unity can get that done for me easier, I may go that route.

However part of me wants to do my own 3D engine. So XNA would be good for that too.

Not an easy decision to make

I am indeed talking straight XNA. I'm not sure what the MonoGame platform is at this point.