* You have to pay to remove the unity logo from your games. This causes low quality games to proudly show the unity logo and well funded games to hide it.
* Very few devs are likely to release on console while on the free tier of unity pro but this has a daunting effect on the aspirational newbie, I guarantee. Lots of people have this silly habit of thinking about the monetary opportunity of their amazing solo indie game that will definitely never happen, but it still GETS THEM ON THE TOOL which is important
* Needless to say, breaking their own networked multiplayer setup and not even having a working replacement.
The engine really is fine, but the business is poorly run, and I feel that drives the trajectory of the engine downwards.
I'd like to add the biggest issues from the point of view of a small independent game studio:
* Open bugs from years ago
* Refusal to fix bugs in the LTR = long term support version. They always try to weasel their way out by asking you to upgrade to the latest beta, which nobody will do mid-production.
* No source code access and no option to purchase it, because they are above negotiating prices with small companies.
* Bug reports are forcibly kept secret. For example, try searching for "Particle Rendering Errors & Flickering - Last light color in unity_LightColor0[] multiplied by random small number" which is a bug that affects 2018 LTR, 2019 LTR, and 2020 LTR and is still unfixed. (It's ID 1242620)
As the game developer, you're then forced to work around bugs in the Unity C++ core with pixel shaders and the stuff that they expose to C#, which is horrible for readability and (of course) very fragile.
Contrast that with UE where you have full source code and can step through things in a debugger...
> *Very few devs are likely to release on console while on the free tier of unity pro but this has a daunting effect [..] this silly habit of thinking about the monetary opportunity of [..]
I fully agree, the idea that my small irrelevant hobby game might end up somewhat successful and I might be able to sell it on console and be maybe able to live from and for it for ~1 year or so are quite tempting.
On the other hand the idea that even if my hobby game gets successful I will most likely never be able to put it on console is quite off putting.
For a hobby game earning 1800 yearly in profited is a lot.
Not even speaking about you having to put it up upfront and every year (I'm not sure if it's every year you still maintain or sell the game).
I mean typical prices for mini hobby games are 5-10 at most 20, if we go with 10 it means you would need to have already had 180 customers before publishing on a game console which is you only target e.g. the PlayStation is a problem.
And sure that might not sound like much, but we are speaking about small hobby projects of often young people, potentially worried about how to pay their student loans or teen not yet earning money.
And sure they probably will target Steam first.
And sure in the sells aspects this doesn't matter for EA, but it will make more young people use different things for their first games.
It's not about weather it is expensive, it's about it feeling expensive for the next generation.
Furthermore when it doesn't matter from a sells perspective why increase the burden? Why not just reducing the "less expensive" limit from 200k revenue to 80k or so?
A lot of people will want to push to consoles to begin with, not to PCs. It's still a good deal if you're successful. But it's $1,800 lost if you're not. That's a big number to some hopeful newbie.
To add to the list, Unity changed their policy on console development 6 days ago, and didn't tell anyone or even give an explanation (this article was written after a few developers noticed it in the license by chance). Whether or not it was a good choice is almost overshadowed by the lack of disclosure or transparency.
The truth of the story is Unity just changed how Xbox builds work, and not much more.
Console manufacturers providing tools for development after you join their dev programs is bog standard stuff. In fact only needing a key is a huge step forward, back in the Wii-U days Nintendo would provide the actual binary of Unity Pro with changes baked in, not even a key.
If I had to guess Sony and Nintendo are paying some sort of fee to get those Pro licenses they then give to devs for free, and MS was relying on the fact that Unity didn't gate console targets.
Now Unity is forcing MS to join the program, which really isn't unreasonable to me. I'm going to go out on a limb and say it's a way to recoup the very real cost Unity incurs supporting these targets to the benefit of the manufacturers.
Oh and I forgot my personal favorite. Filling my harddrive with TB of log messages saying the telemetry failed to phone home due to no internet when left alive overnight.
Seriously asking... what's the benefit of getting them on the tool if the tool can't be monetized? What's the angle here for Unity as a business model? Some kind of revenue sharing arrangement or something for if/when a game ends up successful?
Unreal Engine does revenue sharing and the whole engine is free to use for anyone wants to. IIRC until certain amount of money Epic takes no cut from the sales. That’s a million times better than what Unity is doing.
Yeah it's only 5% on revenues above a million on a title by title basis. Very generous terms and incredibly indie friendly. Probably more expensive for large successes, but imo much more preferable.
> Seriously asking... what's the benefit of getting them on the tool if the tool can't be monetized? What's the angle here for Unity as a business model? Some kind of revenue sharing arrangement or something for if/when a game ends up successful?
First to answer your question, luring in devs to the unity ecosystem is very good for unity because it creates a supply of unity devs who go on to create demand for the engine at studios. People don't like to switch tooling. It's sticky, like microsoft office.
But second, that's sort of my point. Unity is already fairly heavily monetized. You must already buy this license if you're making $200k or more on their engine.
But what if you're a solo dev who wants to publish something fun, small, and non-lucrative? Or something you think could be lucrative but is kind of a shot in the dark? $1,800 (per year) is a hefty price tag to take that shot. It doesn't move the needle on business revenue but it does scare away indies. Others are saying this is to get the console vendors to pay for it but honestly that sounds like its still adding a lot of friction.
That makes sense. Thanks for answering. I don't have much familiarity with Unity as a tool or as a company/business model, so I didn't realize they already had alternative monetization methods.
yes I used to pay for unity but if I were an aspiring dev today, I'd jump right into the unreal ecosystem as their freemium model makes much more sense to start in.
I‘m not a game dev but we used it for an AR feature where I worked. We only needed 2 seats, so not a big customer. There have been some stupid interactions with Unity:
- Pestering us for weeks about urgently needing to arrange a call with us and repeatedly refusing to tell us what it is about over Email, turns out one of devs didn‘t activate his seat and another user created an account with his work email an they thought we were abusing the license.
- Back then they offered build server licenses but there was nearly nothing in the docs about it, only „call us“. So we did and we had to arrange a call with one of their partners advising us on our use use (dynamically generating assets over an API). All of this boiled down to: 5 Instance license for the price of a normal seat.
Why all of this required hours of my and my co-workers time in calls is beyond me. All if this could have been done with like 4 mails max.
It‘s not only Unity‘s issue. I can‘t even create an AWS account anymore without someone calling me to talk about my „use-cases“.
This insistence on personal calls and account managers is such a drag.
Just feature your contact points prominently on your page and explain your offer publicly. I‘d rather have someone competent answer my mails than talk to someone who is just going to schedule another 3 calls because they are only sales people.
"Godot does not officially support consoles (save for XBox One via UWP) currently.
The reasons for this are:
To develop for consoles, one must be licensed as a company. Godot, as an open source project, does not have such a legal figure.
Console SDKs are secret, and protected by non-disclosure agreements. Even if we could get access to them, we could not publish the code as open-source.
Consoles require specialized hardware to develop for, so regular individuals can’t create games for them anyway."
I want to like Godot, I just dislike too many of the design choices. I don’t like the signal pattern at all. GDScript is fine for small games. C# integration is an afterthought and shows with the rough api; especially working with signals.
You still need to pay for a devkit even with Godot, and be on good terms with Sony, Nintendo, Google and Microsoft, which give tier 1 preference to Unity.
And support isn't free. Unity must be paying Sony, Nintendo, Microsoft to give support on console. So maybe Unity just decided to pass on the cost to the developer a bit and also filter out a bunch of newbs that drive the cost higher.
At least in the past Microsoft and Nintendo (not sure about Sony) used to actually pay Unity to implement/maintain support for their consoles. IIRC, when you had to buy licenses for each platform separately, developers who had the Nintendo SDK used to get the engine support for free (can't remember if they had to pay for the editor license themselves).
Nintendo used to provide a Pro build of the latest Unity that didn't rely on your existing licenses in any way to function.
IIRC you could even use it to make a release PC game builds, but I'm sure Unity could figure out what you were doing if you actually shipped with it as a workaround for buying your own license.
UE4 has been able to export to switch for a long time (Snake Pass notably released on switch, before any other console, 4 years ago)
For Godot, there are companies that do the porting (presumably they developed their own interfacing layer), these services seem to be not very expensive, and one of the Godot founders runs one of these companies IIRC.
Exactly, this porting business model is quite common in the gaming industry, and one of the reasons why most studios don't really care about 3D APIs portability.
Especially given the tech demos coming out for the next unreal. I forget the name of the system they're using for lighting or texture detail... but it's pretty friggin impressive.
Lumen is the lighting system. Nanite is the technology allowing you to use much (like, orders of magnitude) higher polygon counts in a scene (basically an infinitely dynamic LOD*). You can download the early access UE5 now and I've got to say, they are lightyears ahead of Unity, technologically.
Considering how beginner friendly UE is (visual scripting, graph based material editor, etc.), and their (IMO) much better pricing scheme**, I think UE will eventually replace Unity as the go-to engine for indie devs unless Godot really step up their game.
* This is an oversimplification. I don't really know what I'm talking about
** completely free until $1M in revenue, then 5% royalty. You also get free access to Quixel Megascans and Mixer (which are normally quite expensive) and full access to the source code. Not to mention MetaHumans which is a game-changer in itself
1800/person/seat is a pretty minimal cost, at least in the US. Even if you're paying your people 40k per year, it's a 5%-ish increase in costs, at most. Probably much less once you factor everything else in.
I'd be interested to know how many non-hobbyist devs are seriously affected by this.
As a ps3 owner who was considering that it might be fun to make a simple game or utility it's a total non-starter.
Of course I can make a game for free on my desktop, laptop or phone and have many options available. But I was literally just last night thinking about making something for use with a controller on the sofa and bookmarked Unity for further consideration. I'd rather use Godot but I don't think that works with consoles at all.
It sounds like this still works for older versions of Unity? I am not imagining anything elaborate/commercial. The ps3 is not the best computer (or even console) I own, but it's one I like and use daily, even if just for a few minutes to play an old game or watch streaming video.
Edit: after looking around Unity's website it seems they're just not catering to hobbyists at all any more which I guess makes sense from their business perspective. Oh well.
Unity is completely irrelevant here, your first question should be "Will Sony give me the software and the hardware to make a PS3 game/software?" and answer in 2021 will most likely be hard no because PS3 is so old at this point (remember that retail console is not a devkit nor a testkit). Which only leaves homebrew toolchains to explore, and they are not supported by any of big engines today.
Yes, the price is very affordable for even small independent studios knowing that engine licensing costs are one of your biggest non-labor expenses, but the price is also set high enough that an individual will easily have it out of budget.
Only hardware is marginally more expensive, and only sometimes.
Dude if UE makes me a millie I would happily hand them 5% for it, considering that would be all I owe them, ever. Especially for all the free assets they provide.
Agreed. It's a very good model for building their customer relationship. I would be happy to give them 50k. It is revenues however, not profit. This might not look as favorable if you're running a moderately sized studio with payroll costs.
Seems like these types of devs go to PC first anyway, since the cost of getting started there is so much less than consoles. I doubt anyone in the industry will be too broken up about it.
You only need one seat I think also. Just for when you're building to console (At least that's the way it used to be when you could only build to certain platforms on pro) Eg. If I was doing a build I'd just use the seat and if my colleague had it i'd ask him to relinquish it.)
The license doesn't allow doing that, you can't really mix free and pro on the same project (also if you work with multiple people probably the company has > 100k revenue). Of course Unity doesn't really have any good way to enforce this...
I was about to use Unity for a project (for a larger organization) and had considered biting the bullet and buying Unity Pro… but I didn’t want to have my work turn to ash as soon as my side project ran out of funding and the license expired. Permanent licenses that you have to buy are one thing, but… Being forced into buying a subscription service (& legally being prevented from using the “community” version) just makes me way too hesitant to want to use the Unity environment. Especially for side projects (and if you can’t use it for side projects, you will be less likely to use it for main projects). If the project has a delay (pandemics happen, could have a medical problem, etc), then I risk running out of money for subscription.
If it was just paying for maintenance, or for memory limitations, CPU count, or compilation speed, that’s one thing. But if all your work turns to ash if you don’t pay the fee… that’s just not an ecosystem I want to invest time and money in.
That reasoning is precisely why we switched form Autodesk 3ds max to Houdini. And then we were positively surprised by its power and have never looked back.
You just have to write your own engine nowadays. Yup. Maybe even make your own console. But don't write in someone else's language. This is the "deserved to be shot" argument of things. You just aren't allowed to complain somehow? Why not?
> But don't write in someone else's language. This is the "deserved to be shot" argument of things.
Amen.
Remember all those closed and proprietary "4GL" programming languages throughout the 1990s? And all the business software titles built using them? All gone now.
In one of my previous jobs? Nope! ...and no intention of replacing it!
I liked the job but wrangling that unholy cobbled together mess made me want to fly to America and commit seppuku in front of the Progress offices to express my displeasure.
Well, you can get mad, but your only real recourse is to unhitch your wagon. Most unity users won't do that, they don't have the resources or ability to make their own engines, and many are not even able to effectively use the reasonable competing engines like Unreal.
Unity users are pretty much a captive market at this point. Really good business for Unity, probably not so good a situation for Unity users long term.
Unity doesn't dogfood their own engine. Unity does not develop any games themselves. This is completely unlike Unreal, who has always released games using their own engine. Unity doesn't do it, and it shows.
Unity has a handful of features that either barely work or only work in some contrived prototype case. They still have 3 different rendering pipelines without clear direction on which you should use.
They have this whole new game architecture (DOTS) but it seems like you should not use it. It's just there to confuse you.
They have a new GUI coming soon? Maybe?
Mobile builds are a complete clusterfuck with all the native code plugins you have to integrate. As soon as you get a few native code plugins (which every serious mobile game does), it takes several days of messing with your build pipeline to make things build properly on iOS and Android. And then you have to do it all over again every year to keep up with platform changes.
They've also released a ton of plugins and features for AAA games and cinematics that are completely useless to indie devs and mobile devs. I would love to know what their revenue split looks like between mobile, AAA, indie, and everything else. From my perspective, they haven't done much the past 3 years to make mobile dev & indie dev better.
Still no good webGL export if you care at all about load times. I'm not sure if they have just given up on this or what.
The Unity Editor also just has weird problems sometimes. It gets exponentially worse if you have large projects too. This is why Unity never sees these problems because they only work with small prototypes. They have no "real" projects which can easily get into the 50+ gigabytes range. At that size of a project, you start to have more weird issues.
Unity is still (usually) the best choice for mobile and indie, but man I wish they would just spend the time to make their own mobile game, see the many pain points, and fix them.
I will say, they did create and release the Addressables system, which is a big improvement for resource loading on mobile. Also their acquisition of TextMeshPro and support of that plugin for rendering text, super good. Their shader graph editor is still WIP and tied into their rendering pipeline mess. Nested prefabs are also a huge improvement.
If I was Unity, I would setup 2 internal game teams. One team building PC & console games, another team building mobile games. Build real games, release them on the app stores, and keep them updated for 2 years. Who cares if they don't make any money, that isn't the point.
This is a realistic usage of the engine and it would expose problems that Unity doesn't seem to know about.
These issues are definitely real and need to be fixed. However, I do think that the URP/shadergraph pipeline has been unfairly maligned -- I've gotten some great results with very few bugs using HDRP as a solo dev (granted, the target platform is PC and it's running on a newer non-preview release). I made this game exclusively with shadergraph and HDRP deferred rendering and it runs quite well -- https://youtu.be/Vwu7gTVgDzo
I would also add their animation system is crap. If you try something like Animancer, you will never ever want to interface to the AnimatorController stuff because is so badly designed.
Overall their business model of providing some kind of foundation to be filled up with plugins is terrible. I don't have an issue with plugins, but needing to rely on plugins for the very basic things like input management, localization, animation, source control... Just so they do less, and earn more (because otherwise people would just wouldn't pay for that, presumably?). That's a shitty way to run a software company.
Only recently they have started to care, but I think it is too late, and it will be hard to beat the momentum that Godot already has. I would bet that in a couple years the tables will turn and Unity will be juggling to keep their market share.
Their WebGL export template update broke the loading bar (unityProgress callback returning 0% then 100%).
I got into an argument on the Unity forums with a maintainer about whether this was a necessary feature. That was surreal, and I think spoke volumes as to how it came to be broken in the first place.
> This is completely unlike Unreal, who has always released games using their own engine.
I wonder if the Unreal Engine team's testing includes recompiling and retesting shipped Unreal games to make sure engine updates don't break backwards compatibility.
That's an issue you don't have if you provide source code.
If a customer relies on bad architecture/undefined behaviour, that shouldn't pull back all the other customers that want their subscription materialize into engine improvements.
Unity doesn't have a single source code license or price. It's negotiated per-contract and usually has strings attached (e.g. be the first to ship this tech, attend UnityCon and give this demo). They only do it for big companies as well.
I would also try to completely redesign how mobile builds work in Unity. Instead of Unity creating a brand new xcode / android studio project every build - it should be able to take an existing xcode / android studio project and just add the Unity build to it. That way, theres no more stupid post-process steps that inject all your native code plugins into your xcode project. This step is super fragile and constantly breaks. You can keep your xcode project updated manually and the mobile plugins would no longer need to develop their unity build pipeline.
I am quite sure Google, Microsoft, Nintendo and Sony gaming and AR/VR business units already test Unity enough to give it tier 1 treatment on their platforms and 3D API integrations.
1. Their package/plugin system sucks (last I tried it anyway). It basically just seems to download a bunch of junk files for every plugin without any intelligence, and if the package updates you have a big mess on your hands, trying to combine your app code with the newest plugin code.
2. You are pretty much forced to use C#, even though the company has more money than god and could easily fund grants to allow for great variety of language options. By siloing themselves within the C# ecosystem, they will likely never have an ecosystem of third party development tools that could improve the lives of their users.
The old package system definitely sucks. The new system has promise but until it works for asset store assets it's a bit limited.
You can actually use F# quite well in Unity, I've done it, you just need to develop in a separate visual studio solution. Debugging is a bit of an issue too but it is a reasonable experience overall.
You can also develop native plugins and doing so with C or C++ for certain things isn't uncommon. In this case you mostly want to avoid interacting with Unity APIs though and just write standalone code that Unity code calls into.
There's lots to complain about with Unity but it's not all bad.
Agreed about packages - you can no longer make custom updates to them to them either if they are installed via the package manager. They didn't think through their package manager before rolling it out. And now that it's out, it's going to be super hard to change it.
> If I was Unity, I would setup 2 internal game teams. One team building PC & console games, another team building mobile games. Build real games, release them on the app stores, and keep them updated for 2 years. Who cares if they don't make any money, that isn't the point. This is a realistic usage of the engine and it would expose problems that Unity doesn't seem to know about.
The reason Unity doesn't do this is pretty simple, and it's the same reason people get really angry when Amazon begins to manufacture high margin products themselves and pushing other sellers out of the game.
Epic has no qualms with such things, and it seems like there's no end to what they can get away with, so why wouldn't they?
>The reason Unity doesn't do this is pretty simple, and it's the same reason people get really angry when Amazon begins to manufacture high margin products themselves and pushing other sellers out of the game.
I think you do not understand why people are angry with Amazon. Say there is a dude that discovered that he can make money if he sells coffee cups with black cats painted on them, Amazon then runs an SQL query or run some ML and find all profitable products including the coffee cups and they then find where the dude buys the cups , negociate a better deal with the manufacturer, make tons of money and the dude gets frustrated.
Unity making 2 games would not upset the developers, they could make the game "open" for all customers so anyone can learn from them.
Because you're competing with the businesses who decide your fate as an engine. If you're Valve, you want games to be on Steam - and you'll push for that when games use your engine, even if it isn't explicitly stated or even intentional. This doesn't make Sony and Microsoft happy, obviously. You might argue that the platforms are different, but that continues to become more and more irrelevant as it becomes easier to release the same game on many platforms and crossplay becomes more commonplace.
As a result, these marketplaces will try and favor some other engine, such as Unity.
I think it's tough for the average techie on here to really grasp the nuances of business (mostly due to lack of direct XP), so I'm not going to belabor the point.
I understand that there is potential a conflict of interest involved... but Unity's customers also want an improved product. It's a competitive disadvantage compared to unreal that they don't dogfood their own product.
Direct product flaws in Unity are more likely to push customers away to a competitor compared to nebulous business relations conflicts.
In theory you have a valid point, but in practice it just hasn't been an issue. See the previous commenter who pointed out that every engine company, with the exception of Unity, has always released games on their own engine. I have literally never seen any complaints about that.
You seem concerned about app stores, I think this is a different topic, I do not remember of any engine that is forcing developers to use a specific app store but I could see it happening that some engine will get features that would create such a dependency if used.
A different solution I think works is to have the developers do support , you have your regular support handle the first contact but then have support forward non trivial stuff to developers and have them respond to customers. After a dev has to tackle same weird issue over and over again with support he will have the idea on how to make the thing more intuitive or less buggy.
Sony, Nintendo, Google and Microsoft, give tier 1 preference to Unity anyway, so this will hardly matter for those that actually get to be allowed to rent a devkit.
Not everyone that wants to develop for consoles gets the privilege to do so anyway, only when the game manages to win the hearts of publishers, and the company has a sound financial history to ensure being able to deliver the game.
Realistically no one can develop for a console without having a significant amount of funding.
Microsoft had an indie storefront a while ago , but it's essentially gone. I wasted hours , and 25$ trying to get my Unity game to build for Xbox S. The tools Microsoft has for hobby devs are just completely broken.
Looking on the bright side with Steamdeck we might see even more great handheld PC games.
I wish Godot was anywhere near Unity, but it's not. UDK melts my computer and I've never been able to do anything with it.
More reasons to not learn unity. Free tier is to learn the product and test on various hardware. Do you know how many students rely on free tier to learn? Who exactly is selling games for consoles without a unity pro license? That's breaking the free license.
This feels attempted shakedown of the console manufacturers to get them to pay for Unity for their licensees. Looks like Sony and Nintendo have coughed up while Microsoft have not. Not sure I can blame Microsoft for not wanting to pay.
Does this applies to UWP games (the ones you can run on Xbox with the Creators Program)? I was considering learning and doing some hobbyist games with Unity and Xbox.
=> How does the GDK compare to the Microsoft Universal Windows Platform (UWP)?
"UWP apps and games are community-supported only; partners inside Xbox managed programs (Xbox, Xbox Game Pass, Xbox Game Streaming) should use Microsoft Win32 + GDK."
I expect a fate similar to XNA, given that HoloLens also deprecated UWP.
I don’t think GDK is a valid alternative to UWP for hobbyist development.
> Xbox console development requires the “Microsoft Game Development Kit with Xbox Extensions (GDKX)”. Games will need to retarget and rebuild for Xbox One or Xbox Series X|S with the GDKX installed.
> The GDKX is currently only available under confidential license within an NDA Xbox program (e.g. ID@Xbox).
Given that games are mostly DirectX with maybe 5% of UWP-dependent code I personally don’t mind if they deprecate it at some time in the future.
That is obviously not a fair comparison. Apple's developer fee is there to create a little bit of a filter and to help reinforce the legal agreement for getting access to pre-release stuff, and running code on your own hardware. The fee probably doesn't even cover the overhead on the program. Apple makes their money through the App Store and selling hardware. Unity is getting all of their money from licensing their software.
It doesn't really do any of those things, though. It's an arbitrary fee. Look at Google's Play Store fee by comparison.
While I agree it's not a fair comparison, the Unity fee at least provides substantially more value than Apple's, like covering the publishing process for multiple console platforms, which is almost always relatively expensive.
Google doesn't really do a manual review of every submitted app (I don't know how many minutes/hours they spend on a single submission but I guess the cost of this alone might add up to more than $100 if the account is used to submit a lot of apps/new versions per year)
Which, just to do the math out - means that Apple is guaranteed to be cheaper as long as you make less than 12k. That math, of course, ignores platform hosting fees (i.e. Steam/EGS/GoG will take a chunk of profits as well on PC - and I have no idea what console fees are like).
Assuming you're not doing it as a hobby the flat cost is far more economical unless you release a lemon in which case the scaling cost does minimize the losses at least.
According to Apple's Powerpoint in Epic v Fortnite [1] 30% is more or less standard, for consoles as well as on PC. Microsoft was supposedly also going to 88/12 though that seems like it might have been dropped.
* You have to pay to remove the unity logo from your games. This causes low quality games to proudly show the unity logo and well funded games to hide it.
* Very few devs are likely to release on console while on the free tier of unity pro but this has a daunting effect on the aspirational newbie, I guarantee. Lots of people have this silly habit of thinking about the monetary opportunity of their amazing solo indie game that will definitely never happen, but it still GETS THEM ON THE TOOL which is important
* Needless to say, breaking their own networked multiplayer setup and not even having a working replacement.
The engine really is fine, but the business is poorly run, and I feel that drives the trajectory of the engine downwards.