Jump to content

  • Log In with Google      Sign In   
  • Create Account

What are the downsides to using Unity?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
25 replies to this topic

#1 JPTawok   Members   -  Reputation: 111

Like
1Likes
Like

Posted 15 August 2012 - 12:54 PM

I'm a brand new programmer, I've spent some time in classes learning Java, SQL, PHP, HTML, and VBnet. I've been interested in making video games since I was a wee lad, and after spending about a week or so trollin around the forums I've noticed a lot of recommendations to using Unity for beginner developers. I don't feel confident developing a game standalone at this point, and quite frankly don't know where to start.

My questions:

What are the downsides to using Unity?

What would you recommend as an alternative?

Where should I start?

Edit: I should mention I'm interested in a pretty basic 2d game similar to Pokemon. Not for profit, just for fun to get my feet wet. I'll brainstorm with my buddy when the time comes, but for now we just want to develop something for private use, and to expand our knowledge of programming.

Thanks in advance.

Edited by JPTawok, 15 August 2012 - 12:59 PM.


Sponsor:

#2 SimonForsman   Crossbones+   -  Reputation: 6305

Like
1Likes
Like

Posted 15 August 2012 - 01:47 PM

The main downsides are:
* It is a harder to make 2D games with compared to other options such as GameMaker.
* The free version is quite restricted when it comes to "advanced" graphics effects. and the Pro version has a relativly high up-front cost compared to some of the competitors.

Thats about it really,
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#3 CJ_COIMBRA   Crossbones+   -  Reputation: 832

Like
2Likes
Like

Posted 15 August 2012 - 02:28 PM

* It is a harder to make 2D games with compared to other options such as GameMaker.


I agree. Not that it´s harder to learn, but 2D games made with Unity tend to have a worst performance. Unless you do a fake 2D game (with 3D flat geometry). This takes to the point I think is the main downside not only about Unity but with most engines out there: if you want to avoid problems you have to do everything the way the engine want´s you to do, which is a considerable downside in my opinion when you have to solve problems thinking out of the box. I guess you will have to do a pros/cons list and take your priorities in consideration. Of course there are huge advantages such as portability: with a relative low cost you can put your game on android/iOS with Unity.

#4 MrDaaark   Members   -  Reputation: 3555

Like
1Likes
Like

Posted 15 August 2012 - 03:22 PM

I don't think it's a fair criticism. It's not meant to be a 2D engine. You don't criticize a hammer for not working like a wrench. You use a wrench instead!

My biggest downsides are crappy 3D asset importing, and the whole way that project files are handled. Unity wants me to work out of a folder they manage, and it becomes a pain in the ass to manage files that are constantly changing, because I can't risk saving the only copy in the Unity folder in case it gets accidentally nuked.

If Unity doesn't like something about one of the FBX files I try to import, it will break the existing imported version of that model instead of just telling me what's wrong with the file so I can fix it. If the FBX just flat out fails, the console tells you nothing.

It's hard to get the models in the correct orientation, and then there doesn't seem to be a way to normalize that rotation so it becomes the identity rotation. This causes me tons of problems.

The direct .blend import just makes a big mess of your data. If you change your blend enough, you just get copies of copies of copies of copies of the mesh data under your object.

I tried talking about some of these issues a few times on the official forums. The result was message deletion, and me being flagged as someone whose posts have to be cleared by a moderator before they go through.

#5 JPTawok   Members   -  Reputation: 111

Like
0Likes
Like

Posted 15 August 2012 - 03:56 PM

I'm leaning more and more to GameMaker for my 2d development it sounds like. Any other suggestions for an infant developer?

#6 3DModelerMan   Members   -  Reputation: 1068

Like
0Likes
Like

Posted 15 August 2012 - 06:33 PM

I use Cocos2D-x it's really nice, and simple to work with. I used Unity for a game before that but I didn't really like. IMO it's animation tools don't work too well (maybe I was using them wrong though, it could be my fault). And if you want the advanced graphics features you're gonna have to pay 1500 bucks for the pro version. And an extra 400 for iOS and Android if you want to release on them.

#7 Estabon   Validating   -  Reputation: -39

Like
-23Likes
Like

Posted 15 August 2012 - 07:50 PM

Everybody should only need about 4 things to make games with...Windows, directX, Microsoft visual studio c++ express, and pair of BALLS.
Seriously, Just grow a pair get started. Any one who has told you it will takes you years to make game engine is an idiot.

#8 jefferytitan   Crossbones+   -  Reputation: 2242

Like
7Likes
Like

Posted 15 August 2012 - 08:46 PM

@Estabon: While you are correct that you can just plunge in with those tools and achieve something, I'd like to point out a few things:
  • If you want to compete with the graphics and physics of high end games, realistically it can take years.
  • While usually more suited to the purpose, a custom-written engine can be less robust.
  • If you are interested in creating gameplay rather than an engine, starting with an engine can be a fiendish waste of time.
  • There's little purpose in attacking someone's tools without justifications. The language/platform/API/tool wars have been raging for many years on many forums without any "winner".


#9 3DModelerMan   Members   -  Reputation: 1068

Like
0Likes
Like

Posted 16 August 2012 - 08:35 AM

I wouldn't say there's anything "wrong" with Unity. Personally I just didn't like it. And jefferytitan has a good point.

The language/platform/API/tool wars have been raging for many years on many forums without any "winner".

I've been building an engine from scratch with DirectX 11, but I've been doing it as a learning experience. I've been using other engines for my actual game projects. XNA Game Studio is pretty easy to work with, you might want to try the platform game starter kit.

#10 cronocr   Members   -  Reputation: 755

Like
0Likes
Like

Posted 16 August 2012 - 09:06 AM

Currently I use Flash, HTML5 and Unity. None of them is my favorite, those are just tools that I choose depending on which platforms I want to target. I have also programmed in Objective C and Java, and created a nice 2D engine for iOS and Android, but I prefer using Unity to gain development speed. And I'm using Flash less to today in favor HTML5 which is more compatible, if Flash "magically" become more compatible in the future I'd return. I try to keep informed about new engines, and each time I find I read all the specs.
 

 


#11 CJ_COIMBRA   Crossbones+   -  Reputation: 832

Like
2Likes
Like

Posted 16 August 2012 - 06:52 PM

My biggest downsides are crappy 3D asset importing, and the whole way that project files are handled. Unity wants me to work out of a folder they manage, and it becomes a pain in the ass to manage files that are constantly changing, because I can't risk saving the only copy in the Unity folder in case it gets accidentally nuked.


Oh, I know precisely what you mean... Not mentioning that sometimes when you upgrade your Unity version it breaks your project.

Most of the time I work on Unity is because the company I work for currently uses it. Other than that it´s because of the cross-platform features that once you know how they work, they can really save some serious time.

Edited by CJ_COIMBRA, 16 August 2012 - 06:53 PM.


#12 Estabon   Validating   -  Reputation: -39

Like
-3Likes
Like

Posted 17 August 2012 - 12:36 AM

@Estabon: While you are correct that you can just plunge in with those tools and achieve something, I'd like to point out a few things:

  • If you want to compete with the graphics and physics of high end games, realistically it can take years.
  • While usually more suited to the purpose, a custom-written engine can be less robust.
  • If you are interested in creating gameplay rather than an engine, starting with an engine can be a fiendish waste of time.
  • There's little purpose in attacking someone's tools without justifications. The language/platform/API/tool wars have been raging for many years on many forums without any "winner".

Well, all I have to say is that this dude is interested in programming... and you guys convince him to just give it up!? Maybe he won't program a game... but programming is a very useful skill. It's a lot of fun. And he shouldn't even try because he comes here and finds no support in building an engine? I'm just really annoyed that people recomend to PROGRAMMERS to use a game engine. This website is Gamedev... not game design.. This dude is interested in game devolopement! But, after viewing these messageboards for a few days he lost his confidence in building an engine. Everybody is so quick to make building an engine seem like more trouble than it is fun.. Okay? So I'm saying what I have to say so that maybe I'll inspire somebody that they actually CAN devolope a game and won't settle for using a game engine. Listen dude, I have no problem with game engines. But they are for people who just want to design a game! Do you know what I mean? He took programming classes, and probably never thought about learning 3ds studio max.

---Edit---
Here are some of his quotes:
1) I'm a brand new programmer, I've spent some time in classes learning Java, SQL, PHP, HTML, and VBnet
2) using Unity for beginner developers. I don't feel confident developing a game standalone at this point.
3) and to expand our knowledge of programming.

So let me ask you if this guy REALLY wants to use a game engine or is just convinced by you guys he simply isn't good enough to make an engine...
He's asking where to start game programming, and using a game engine won't help him progress at all!
What's wrong with starting with the Win32 Api or a different basic graphics Api? And... for the most part... he won't get what he wants from a game engine!
So what if it takes him a long time to make a cutting age game? He's into it. And won't be making any progress with programming if he never starts!!!

Maybe it takes some people years to make a cutting age game engine... but that's because he is LEARNING!!! Not because it's complicated. Programming is actually very easy... if someone takes the time to learn.

I'm not attacking people who use a game engine. I'm just making up for all these people crushing programmer's desires to get into game programming.
Get used to it.

Edited by Estabon, 17 August 2012 - 01:04 AM.


#13 abcdef44   Banned   -  Reputation: 2

Like
1Likes
Like

Posted 17 August 2012 - 02:36 AM

Have a look at SDL. SDL 2 seems to have some neat new features and it's also cross platform.

#14 TMKCodes   Members   -  Reputation: 271

Like
0Likes
Like

Posted 17 August 2012 - 04:30 AM

I will not delve into the downsides of Unity, because I do not know much about it.

Then again if you want to do 2D game similar to Pokemon you can use Java as you seem to know the language already. Java has some nifty frameworks for building games. For example few years ago I was part of one of those Pokemon Clone MMORPG projects. We used Java for programming with Slick 2D game library for graphics and tiled to build the maps. We also used Apache Mina for networking. We actually got so popular that Nintendo shut us down.

There exists ton of tools to use with many programming languages to create games. Build something with existing tools and if you really want later replace them with your own code.

PS. Estabon you really are not helping at all. I agree with you that mastering requires lower level knowledge, but building game from scratch is huge task and reinvents the wheel. By using an existing game framework you will find out what lower level libraries games require. This saves time, because instead of first reading ton of books to gather the knowledge to build your engine you can just focus on building your game.

#15 jefferytitan   Crossbones+   -  Reputation: 2242

Like
0Likes
Like

Posted 17 August 2012 - 06:05 AM

@Estabon: I voted your last post up because I think you're trying to help and justifying yourself better. I don't entirely agree with you. I do agree that familiarity with the basics can be very beneficial. I have done papers in hardware, networking, parallel programming, graphics, computer vision and algorithmics and programmed in a multitude of languages including assembly, C++, Basic, Java, Pascal, Haskell, .NET and SQL. All of these have had an effect on my understanding of programming. However would I send a new programmer along the same path as myself? I don't know. I think people need to experience the fun and usefulness of programming before sentencing them to 10 years of grueling training 80's martial arts movie style. Scripting is still coding. Time spent coding outside the basics still counts.

#16 Aiive   GDNet+   -  Reputation: 1014

Like
0Likes
Like

Posted 17 August 2012 - 10:05 AM

When I used Unity (which was years ago) my main issue was when the following scenario happened:

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 Posted Image not state a strong opinion of yours.

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 Posted Image.

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! Posted Image

Edited by iheartyyouxo, 17 August 2012 - 10:08 AM.


#17 rip-off   Moderators   -  Reputation: 8726

Like
1Likes
Like

Posted 17 August 2012 - 10:07 AM

I've removed some off topic posts, please keep further replies constructive.

#18 JPTawok   Members   -  Reputation: 111

Like
1Likes
Like

Posted 17 August 2012 - 12:40 PM

So say I start with Java, and I want to make a pong rip-off(again, for my own enjoyment) to get my feet wet. Should I focus on using game. commands? All they taught us in school was nonsense problems(never got enough of Loan Calcs >.<). I'd love to earn the knowledge of building my own engine, and creating my own game.

#19 3DModelerMan   Members   -  Reputation: 1068

Like
0Likes
Like

Posted 19 August 2012 - 06:34 PM

For Java there's Andengine. I've worked with it before and it's pretty nice. It's actually very similar to Cocos2d-x which I liked. Although I'm not sure if it was just me or what, but the tiled maps were hard for me to get working at first.

EDIT:
Andengine is android only. Forgot to mention that.

Edited by 3DModelerMan, 19 August 2012 - 06:35 PM.


#20 Tudor Nita   Members   -  Reputation: 121

Like
0Likes
Like

Posted 20 August 2012 - 05:16 AM

As a long-time user of Unity:

downsides:
  • Although it's amongst the best in asset management, the module does have its quirks and can ruin your day if you're not careful.
  • Hard to "patch" asset/ scene files since they are binary (see 500mb comment above ). [They are switching to a text-based scene format so this will change very soon ]
  • Some web-game developers complain about users leaving the game page once they see the Unity logo [ which in the free version has to be there ]. This is a side-effect of so many people having access to the free version and so much shovelware being developed. I have my doubts about it.
  • Jack of all trades dilemma. It does everything but doesn't really shine in any particular category. It's not exactly a downside but surely not an upside either.
  • Really bad GUI implementation. The inbuilt GUI system is a performance drain at best. [ This is bound to change with ver. 4.x ]
  • Binary SDK. As a c++ enthusiast, source code access would make my day.
upsides:
  • Extremely easy-to-use. I love UDK, Corona, Cocos2D and even ShiVa but they just aren't in the same ballpark when it comes to ease-of-use.
  • Awesome cross-platform support. [ with 4.0 ] Linux, Web ( plugin and flash), Windows, Mac, iOS and android. And all of them free [ basic versions anyway ].
  • Well documented scripting. Some of the best documentation this side of a complex engine.
  • Decent to great performance on mobile devices. Couple of tricks to make it run great but it eventually gives.
  • Great community. They've got their trolls and whiners but overall the community is great.
  • Asset management. Both a blessing and a curse.
corrections:
[ Daaark ] Getting the correct orientation is not a bug nor an inconvenience. It's just the coord. system they use ( common y-up system ). The problem lies rather with the authoring tools [ z-up for 3ds max for example :| ]. Nothing some decent planning won't take care of.

Edited by Tudor Nita, 20 August 2012 - 05:21 AM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS