7 ms·
It's a shame Unity seems so intent on making itself unattractive to developers. I prefer writing c# to c++, and I think Unity's onboarding experience is much be
by Kapura 3y ago
It's a shame Unity seems so intent on making itself unattractive to developers. I prefer writing c# to c++, and I think Unity's onboarding experience is much better than Unreal. But when it comes to a non-solo-development effort, when you need to start thinking about businesses and numbers and all the things that aren't making the game, Epic has made Unreal attractive, and partnerships with the Epic Games Store can boost that value even further.
Unity's recent moves to me speak to a fear that they've more-or-less hit their market saturation point, and now they're looking to extract more from the developers who live in their slice of the pie. I fear this will make that slice shrink, which will create more fear, and then the problem spirals.
- ActionHank 3y agoI've been eyeing out UnrealCLR, it looks really promising!
- WillPostForFood 3y agoUnfortunately it looks dead - last release was over a year ago, commits tapering off.
- Auracle 3y agoIf Unreal (natively) adopted C# that would absolutely be a killing blow to Unity, to the point where I'm amazed they haven't done it.
- kevingadd 3y agoThere was C# support for Unreal (contributed by the Mono maintainers) at one point but Epic actively blocked it. They want everyone on C++ and nothing else
- msk-lywenn 3y agoThey gave UnrealCLR an epic megagrant. How can you say they "actively blocked it" ?
- kevingadd 3y agothe megagrant appears to have happened in 2020, the blocking of unreal C# happened years and years prior and put an end to development (community and otherwise) at the time (pre-2017, I don't know the exact date)
- matt3210 3y ago[flagged]
- fnordpiglet 3y agoI think a lot of people find the learning curve of c++ fairly extreme, especially when considering the amount of knowledge to do idiomatic programming in c++ required to “do things elegantly.” C# and related languages tend to have idioms baked in closer to the syntax and grammar. My view of c++ after 30 years of it is it’s great if you’ve got 10 years experience programming it within a team of seasoned c++ programmers who shows you the ropes. Even then I think rust is the language I wished for all these years (albeit not for game dev yet). Finally, for the reasons rust isn’t great for game dev, c# and ilk generally have excellent reflective and dynamic natures making them sort of the sweatpants and old T-shirt language for game programming. That said, it locks you into using stuff like mono and stuff for cross platform which makes me a sad.
- whoisthemachine 3y ago> That said, it locks you into using stuff like mono and stuff for cross platform which makes me a sad. Microsoft's .Net Core runtime (now just .Net) has supported Linux and MacOS since 2016, so this information has been out of date for 7+ years. https://devblogs.microsoft.com/dotnet/announcing-net-core-1-0/ https://devblogs.microsoft.com/dotnet/announcing-net-core-1-...
- fnordpiglet 3y agoOh thanks! I stand corrected. Good to see.
- TylerE 3y agoBut that does NOT include WinForms.
- Qwertious 3y agoDefine "better language". If you don't need performance then C# can make your life much easier.
- mentos 3y agoI was super excited for Garry Newman's project to bring C# to UE but never transpired: https://sbox.facepunch.com/news/dev-blog-2 https://sbox.facepunch.com/news/dev-blog-2 Maybe ChatGPT6 can port the UE C++ codebase to C# and we can call it UE6
- bpye 3y agoThere was also Mono UE [0] - which was being developed by some of the Xamarin folks. I’ve not played around with any game development for a long while - does C# end up popular here just because people are familiar with Unity? I definitely get that C++ is not the most productive language - though improving perhaps. Simply loading the .NET Core CLR is not difficult [1] - but unless things have changed since I last tried binding C++ interfaces to C# is time consuming, especially if you want to be able to implement an interface in managed code. [0] - https://mono-ue.github.io/ https://mono-ue.github.io/ [1] - https://learn.microsoft.com/en-us/dotnet/core/tutorials/netcore-hosting https://learn.microsoft.com/en-us/dotnet/core/tutorials/netc...
- kevingadd 3y agoPart of C#'s popularity with indies is due to the legacy of XNA. Thousands, probably tens or even hundreds of thousands of indies got started with XNA and released games using it, so it's natural to stay on C# whether you move to FNA, MonoGame, Unity or Godot
- Aerroon 3y agoTo add: C# is a language that is easy to pick up. If you've written Java then you could basically just start writing C#. Probably even a C or C++ background would allow you to do that. Maybe even knowing js is enough.
- Rohansi 3y agoS&box is still in progress and using C# but it is now using the Source 2 engine instead. You can actually get invoted to it on Steam and play/build games for it now too. It previously used UE4 and C# integration was all working with that but, as soon as they found out that they could get access to Source 2, they took the opportunity. Makes sense because the team is significantly more experienced with the Source engine since most of them have previously worked on or with Garry's Mod.
- abrolhos 3y ago>> [...] I'm amazed they haven't done it. Never interfere with an enemy while he’s in the process of destroying himself.
- sBqQu3U0wH 3y agoI don't mind C++, but can you delete the script file without closing the editor yet? It was such a turn off for me at the time that I abandoned all intentions of ever learning to use Unreal Engine.
- dgellow 3y agoHonestly, Unreal C++ isn’t that bad or hardcore. It’s fairly high level, and Unreal APIs are pretty well designed. You spend way more time dealing with Unreal specific stuff and your game objects than dealing with C++ issues.
- Kapura 3y agoI don't think that's true, and I don't think the juice would be worth the squeeze. Unreal's flavour of C++ is heavily managed, relying on preprocessing of header files to create garbage collecting pointers and a whole heap of other things you don't think you're signing up for when you think about a C++ codebase. There is no simple place to begin if you're trying to make it C# friendly. But most of my issues have been with engine philosophy, where Unreal has bent over backwards to expose things to their visual scripting language. It feels like every single feature has a mandate to work in a blueprint tech demo, and as a result few of them are pleasant to code against and almost none of them work together coherently. These are not issues that depend on the language used.
- Auracle 3y agoC# being the deciding factor an incredibly common refrain in game development "what engine do you/should I use?" Whether or not it's justified is another manner. I haven't personally dealt with the modern Unreal Engine but natively supporting C# would, at the very least, make people a lot more likely to switch over.
- Kapura 3y agoI think if you used the modern Unreal Engine you would change your tune.
- Aerroon 3y agoI was surprised that Unreal Engine didn't just translate Blueprint directly into C++ code. They already have a text-based version of Blueprint. You can see it when you copy a blueprint graph and paste it into a text file (or at least you could when UE4 launched).
- kriro 3y agoDisagree. Unity is pretty strong on mobile and multi-plattform. Enough to survive on this alone (imo). I also think Blueprints is already a strong competitor for the share of users who find C++ too complicated (non-programers and people who have only dabbled in scripting). I think for "traditional programers" the difference between C++ and C# isn't big enough to make a difference and frankly people with a gamedev background probably prefer C++. That being said as a non mobile guy who occasionally dabbles in engine stuff I'll be migrating to Unreal for good now. I haven't been a paying customer for a while now but I used to pay for Unity back in the super early days of AR. Or I guess take another serious look at Godot :D
- ummonk 3y agoMobile is the kind of use case where the pricing changes will be massively impactful though. If you're selling a non-mobile game for $10+ then you can just eat the per-install fee, but if you're shipping a free to play app or a $1 app? The per install fee could make your business model nonviable.
- Fire-Dragon-DoL 3y agoI mean, knowing c++ and c#, I am always terrified about the former. There is an enormous set of things that shouldn't be touched and a whole set of gotchas in managing headers, writing macros, templates. Granted none of the two are used at my day to day job.
- kkukshtel 3y agoI've been tracking this (Epic Megagrant awarded!) project for a while that attempts to do very much that: https://github.com/nxrighthere/UnrealCLR https://github.com/nxrighthere/UnrealCLR I'm also surprised though they haven't just gone and added C# support as a first class option, it seems like such an obvious win.
- deleted 3y ago[deleted]
- qwytw 3y agoIsn't Unreal still significantly more expensive with the 5% royalty at least as long as your game costs more than $5-10? Edit: am I wrong (mathematically?)
- NohatCoder 3y agoThe problem is that Unity has a lot of customers that make freemium/ad supported/low cost (mobile) games. $0.20 per install is absurd when most players are gone after less than an hour of playtime. Of course if you sell games at $60 a piece it is not a whole lot, and the regular seat pricing of Unity is most likely a far greater expense.
- gsuuon 3y agoThis does look pretty bad for hyper-casual and casual Unity devs. The total earning per install could easily drop into the negative and even with the $200k revenue buffer, it'd be easy to end up with almost nothing. I imagine these folks will just shut their game down around the $200k mark if they see their LTV hovering at or below $0.20.
- qwytw 3y ago> shut their game down around the $200k Wouldn't upgrading to Pro be a better option? Yearly subscription for a seat seems to be worth about 10k $0.2. Also you're cost per install is almost certainly going to be significantly below $0.2 because every install outside of: "United States, Australia, Austria, Belgium, Canada, Denmark, Finland, France, Germany, Ireland, Japan, Netherlands, New Zealand, Norway, Sweden, Switzerland, South Korea, and the United Kingdom" (I wonder how did they create this list, e.g. Spain and Italy seem to have a comparable or even higher cost-per-click than Sweden , Austria, Finland etc.) will cost just $0.02
- gsuuon 3y agoYou're right, upgrading to pro would be better at $2k/seat/yr which gets you a much larger million dollar buffer. Also, I'm noticing that the revenue thresholds seem to be per-game not per org - so actually, the new pricing isn't that bad!
- kalupa 3y agoI wonder if this shift away from developer happiness is due to Unity now being beholden to a new master: the stockholders
- badRNG 3y agoYet another victim of enshittification this year. Tech sector has been hit especially hard.
- depereo 3y ago[flagged]
- sha90 3y agoThis isn't really a solid argument since stockholder investment isn't even "money"; it's collateral in the form of market valuation against which Unity borrows. The actual "money" (dollars in a bank account) comes from lenders who look at a bunch of factors and make determinations about how much $$$ to give. That money isn't free, but it's got very little to do with "the shareholders" in general.
- chii 3y ago> it's got very little to do with "the shareholders" in general. no it's got everything to do with shareholders, because ultimately, the money the shareholders invested into the company will need to be recouped by the shareholders, by any method they can. And in a cut throat business of game engines, unity is trying to squeeze out every bit of juice it can. It still has some advantages over godot atm (such as big install base, and a pre-existing network/momentum which is hard to dissipate), and my guess is that unity is trying to get revenue up before godot takes their lunch in a few more years.
- 3seashells 3y ago[flagged]
- deleted 3y ago
- golergka 3y agoHow is Unreal's mobile gaming situation? I haven't worked in mobile game development for a few years, but at least through the 2010s, Unity was an undisputed king of free-to-play mobile games for studios who weren't rich enough to develop their own engines.
- pnw 3y agoUnreal has limited traction on mobile, which is now >50% of the gaming market. It's likely one of the reasons Unity thinks they can get away with this. The last number I saw had Unity above 50% share with Unreal under 15%. It's difficult to champion high end features for your engine but keep it suitable for low end smart phones. Epic made a good attempt to win mobile devs back in the Infinity Blade days, but given their recent focus (not to mention lawsuits against Apple and Google), it seems they intentionally decided to deprioritize mobile and focus on PC and console.
- hesdeadjim 3y agoI have an open world game I have to make run in 1.3GB of RAM for my min spec. I just can’t see a world where I could do it in Unreal. And unity knows that and is trying to get away with murder.
- lobsterthief 3y ago> Unity's recent moves to me speak to a fear that they've more-or-less hit their market saturation point, and now they're looking to extract more from the developers who live in their slice of the pie. I fear this will make that slice shrink, which will create more fear, and then the problem spirals. Man, you just described [enshittification](https://www.wired.com/story/tiktok-platforms-cory-doctorow/ https://www.wired.com/story/tiktok-platforms-cory-doctorow/) to a tee