Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

why do people not recommend Unity if making a 2D game?

Discussion in '2D' started by Mike01923, Sep 7, 2018.

  1. Mike01923

    Mike01923

    Joined:
    Jun 19, 2015
    Posts:
    192
    Before I used GM2 or Unity, I kept hearing, if you want to make 2D games, use GM in 2017-18. I've made a handful of prototypes with GM2 and Unity, and besides the environments being quite different, I didn't feel like I couldn't do anything I wanted with both of them. I've heard Unity had lackluster 2D support in the past, and this advice people freely dish out might have been their previous experiences with it back in the day. Or maybe I've yet to encounter things since I'm just making prototypes?

    Does anyone actually have difficulties making 2D games nowadays? Was it bad in the past and people have just never tried again, therefore not recommending it?
     
  2. Vryken

    Vryken

    Joined:
    Jan 23, 2018
    Posts:
    2,106
    There are a number of factors that could be in play.
    One of the biggest is what an engine is designed for. Unity seems to be some kind of jack-of-all-trades type, while GMS2 was designed specifically for creating 2D games. It is much more likely that GMS2 would be the more optimal choice.

    But with that said, I haven't really run into and problems with the current 2D game I'm developing in Unity either. So far, all problems I've encountered had to do with my own scripting issues.
     
    MisterSkitz likes this.
  3. shawnblais

    shawnblais

    Joined:
    Oct 11, 2012
    Posts:
    324
    Basically out of the box GM will be more tailored to 2D, more streamlined and straight forward. But if you know Unity, then it's flexible enough to do anything to want, and performance is good too, it's more than capable for any 2d games.

    Personally I really enjoy the ability to mix and match 2d and 3d elements, and Unity's GUI is really great to work with as well, so that makes it an easy choice.
     
  4. MisterSkitz

    MisterSkitz

    Joined:
    Sep 2, 2015
    Posts:
    833
    I first started game design with GM and half-ass learned the GML. What I noticed was that GM was really simple to create sprites and to animate them fairly quickly. However, I discovered Unity, which sprite design from other resources and then importing them is only a mild, if any setback at all. The GML is a forgiving language and it is rather easy to create games using it; however, I think Unity is BY FAR more powerful and flexible. (I mean, you can use multiple languages if desired).

    However, GMS is a practical game design engine, so I suppose you'll get an answer based upon one's preference. I prefer Unity over GMS and Unreal. However, you may prefer the interface of another engine to suit your needs better. And ultimately, that's what it all comes down to. (In my opinion)

    As mentioned above, the ability to utilize 3D objects in a 2D world is actually pretty cool! I especially like how I can toggle 3D/2D on and off inside the scene view to add more precise coordinates for objects.(Especially foreground/background stuff)
     
  5. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,261
    Most people will recommend an engine other than Unity for 2D. The reason for this is simple. Unity is not designed to be a 2D engine. It has gotten tools that adapt it for 2D support. But the underlying technology for Unity is still 3D, not 2D. It is a 3D engine that can be used for 2D, if you want to, but it's core tech and approach is 3D.

    An engine that is built with "true" 2D support is most likely going to be better suited for certain 2D game types. And it will be 2D from the get-go. You won't have to figure out work-arounds or approximations. For some developers that is a big draw.

    Honestly, it comes down to personal preference. Unity's 2D support is decent, even if it is an adaptation. It presents certain challenges, but most of these are related to emulating classic pixel styles. As far as actual 2D rendering is concerned, it works fine. And the quasi-3D way in which Unity handles 2D scenes is actually easier for some developers to work with.
     
    MisterSkitz likes this.
  6. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    The others have all made good points. I will only add: GM limits you to a very small number of platforms. Unity runs on everything. Don't limit your future options — use Unity, or another truly cross-platform engine (if there are any).

    I've used Unity very successfully for 2D games, including pixel-based ones like this, and it works great.
     
    vakabaka and MisterSkitz like this.
  7. hamberge

    hamberge

    Joined:
    Aug 30, 2015
    Posts:
    36
    I think people make that recommendation because Unity is not initially straightforward to use for 2D.

    However, in my opinion, Unity is more suitable than Game Maker Studio because:
    1) the "hoops" you need to jump through to get 2D working in Unity are really only skin deep.
    2) C# is a far more robust language than GML, which makes even intermediate level coding activities much simpler. I did not enjoy using GML -- it felt like a very messy language.
     
    vakabaka, JoeStrout and MisterSkitz like this.
  8. MisterSkitz

    MisterSkitz

    Joined:
    Sep 2, 2015
    Posts:
    833
    GML will let you get away with a lot of stuff that can cause major bugs later down the road. (Based upon my experience with it)
    At least with the C# monoBehavior system, you have much more specific rules and when something doesn't work right, it seems much easier to diagnose the problem. And I'm only just learning the C# / Unity combo but I enjoy it much more than GML.
     
    vakabaka, JoeStrout and hamberge like this.