1) Work on project which exceeded 500mb of content
2) Build project - distribute to friends
3) Uh oh - Tiny bug! Fix bug and rebuild
4) They must now redownload all 500mb
Of course this was when I had first started doing anything programming wise so I easily could have been doing something wrong. I also found some of the colliders were hard to work with in certain scenarios. Other than that Unity serves its purpose quite well for what it was designed to do.
@Estabon
While I understand what you are saying I disagree with how you are trying to present yourself. A much better response would have been asking why he felt the need to use engine, or stating you are unable to comprehend the allusion a game even needs an engine. By coming across in such a way that you have if I were the OP I would take that as very demoralizing. Rather than put someone down for doing something you would not do possibly write an alternative solution in order to maximize help
With the above said I strongly recommend you(JPTawok) to explore as many different paths as you possibly can to find what works best for you
Since you stated you had spent some time learning Java you can easily make a transition from that to C#. XNA is a very good alternative for 2D vs Unity IMHO as a simple 2D game can be created in about 5 minutes once you get the hang of it. I personally would go this route because I feel you would learn more - but it may be more of a challenge for you. Of course, being challenged is good!