hi,i am want to build some games,not something big like mmorpg ,games like snake and similar,maybe in future i would like to make a progress. i built "pong" with xna before 3 month and left it without any progression. now i want program games again and i search on the internet and got to 2 final best options xna/unity3d. which is better if i know c#? tyvm.
XNA is fully integrated into Visual Studio and is a "first party" product (as in Microsoft produces it). You also get relatively cheap access to running it on an XBox (a nice bonus).
Unity3d has the advantage of being multi-platform (such as their iPhone port).
Well, XNA Game Studio [GS] and Unity3D do not really compare as the former is “only” a framework and the latter a full fledged game engine with visual editor and stuff.
So, XNA GS would be the right choice if you want to do it all on your own, e.g. write your own graphics renderer, the game logic infrastructure (as opposed to writing the game logic only in Unity3D) and pretty much everything else.
Unity3D would be the better choice if you want to concentrate on the game play only without having to write a lot (or any at all) infrastructure code.
However, there’s another thing to consider: if you want your game to run on the 360 you might need to use XNA GS as Unity3D doesn’t seem to support Xbox LIVE Indie Games publishing. If you’re in it for a broad range of target platforms (e.g. outside the Microsoft realm), Unity3D is the better choice (Mono.Xna, while it returned from the dead, is still in a rather unusable state).
Disclaimer: I haven’t used Unity3D at all so my words about it may be totally wrong.