I’ve been teaching Game Maker for about 3 years now and been using Unity for past 4 years and released 4 games with it.
As I’m researching for my next project, I was wondering what you guys think would fit better for 2D.
Currently I want to switch to Game Maker since my next game will most likely be 2D and I think in 3D most people agree that Unity is the better choice, generally.
What I like about Unity is:
1- The community is bigger. I’ve made a similar comparison to Corona SDK here before but the bigger community behind an engine means that the support will be better, more tutorials, more assets and most importantly in my opinion: less likely to get abandoned. Which happened in my case.
2- They still may be behind GM in 2D but they are catching up. But they haven’t caught up as fast as I thought they would back in 4.6 that they introduced 2D and if I want to make a platformer, I’ll most likely to use 2-3 assets at least to make things “normal”. Such as tile editor.
3- C# is far superior to GML in every way.
4- “Extendibility”. AFAIK, you can’t customize GM but it’s fairly and relatively easy to do in Unity.
5- In game editor that lets you tweak variables whilst game is running.
6- Easier to find programmer companions as there are far more people with C# background than GML. And people with any C family language or even Java can pick up C# very fast.
7- Asset store. GM has one as well but from what I’ve seen, Unity’s is superior both in terms of both content and quality.
8- Pricing. They haven’t released pricing model for GM and since Unity went almost free, it’s probable to see at least a change in GM’s but until then, Unity is free and now it includes all the export modules as well.
9- I haven’t had serious debugging in GM but having Visual Studio as coding and debugging tool is fantastic rather than GM’s editor from what I’ve seen.
10- Visual Studio.
11- I’ve heard that handling larger projects is easier in Unity but since we are a very small team, haven’t faced this.
What I like about Game Maker:
1- It’s meant for 2D.
2- It’s simple that you get faster to make your game rather than systems and editors and stuff. It’s not as versatile as Unity in terms of customization.
3- I’m used to more structured C based languages and never felt at home with scripting ones like Lua but coding in GML seems faster since it needs less structure (this can be both good and bad).
What do you think?