Why is Unity the most popular engine?

Dear god NO!!!

Most Greenlight games on steam are utter trash and it highlights the problem with Steam’s green light there has been corruption with greenlight a very long time now. Any game can pass through greenlight even a failed useless broken game that nobody will ever play

100% agreed with this.
Once a dev has purchase all the ‘tools’ to make the Unity engine work like they need it to then all the ‘extras’ it is a tough pill to swallow to change now that you are ‘defined’ into those tools. Unity does some really nice/convenient things to keep you there as well. “Here…look at these neat in-engine ways to do things…but don’t look over here at the black hack hole full of work-arounds…we are fixing those…someday.”

Good read, would read again.

From my personal experience, and since I do game development full time in the Indie scene, my biggest concern with Unreal is optimization.
I need my products to be able to run on as many machines I can get them to run on, why? Sales, I need sales to support my business, and
having a kick-*** game that looks great, but does not run on many machines is no good for Indie guys… Hence why graphics are really not
everything for the indie world, Look at Undertale, FNF and etc for example, look how much money they have grossed.

With Unity I am comfortable knowing I have a set of rules I can follow to make sure it runs on most PC/Mac hardware.
With Unreal, I am clueless, prob due to my incompetence and lack of knowledge of that engine.

Another thing that is kind of pushing me back on Unreal, is the 5% commission fee. Now lets do some math, since I have a launched
title, it would be over $5-6k of fees to Unreal already and the game has only been out for about 6-7 months now. With Unity I pay $75/ a month
which in a year run… is still only about $900. Quite a huge price difference as far as fees go.

Now with that all being said, do I feel that Unity is a better engine? No, I do not. I honestly feel that Unreal is, but I have to look at things in a business perspective as well.
Since most of my clientele are kids from Steam, who know my game via YouTube or whatever, I need to be able to produce a product that can run on not so great machines. Since they cant afford higher end hardware.

Thats my 2cents, but like I said I am on the fence for my next game project… at the end of the day the 5% royalty is the killer.

PS. lol at the c# vs c++, at the end of the day the complier does all the work for you, and who cares how it comes to be… Just focus on making your game / product the best it can be, and not how it got there. (even though I personally feel c++ is superior to c#)

Yes, but your case is an anomaly (in the good sense). For every successful indie developer, there are hundreds if not thousands of others that won’t make a single buck, and for those of them who paid in advance, hoping to create the next Flappy Bird or the mmorpg of the year, well, tough luck.

Not really an anomaly; if you manage to make something the kids on Steam are looking for and simple enough to run on potatoes, then you hit it big; doesn’t matter who you are…
However those kids are salty beyond mount everest’s heights, so good luck with that :wink:

Btw, UE4 runs on outdated hardware. You just need to understand its scalability methods.
And the 5% roys… Well, if you have steady income every month then good for you; but most indies make money only around two weeks after their game release (when it’s not a total flop) so paying 2 years of forced subscriptions to cash in two weeks of random revenue just isn’t suitable to the majority of indie game makers out there. I believe Epic is very well aware of that and were smart enough to adapt their licensing model to such reality.

Unity DOES have A LOT trouble running on even High End Rigs. I know this for fact as I am developing HD 1080p for Desktops. There are so many work-arounds that need to be done in Unity to get it even running the HD stuff. UE4 is running this stuff automatically by default. I agree with you that you have to Turn Things Off in UE4 for optimization…but I really like that I already know where the trouble is happening in UE4 because of this. So…this is my design point.

Again…definitely not bashing Unity or UE4 on any points. Unity gets a dev in with a lot of smoke and mirrors that are well developed to be this way. Much like the difference between purchasing various options on an automobile.

I see this argument a lot…especially when talking about single developer indies like myself. To get a real title done it takes at least a 5 member team for a 3D game for at least 2 years. So let us use a Per Year with a 5 team. The numbers are relative so simply scale the team. So for the sake of clarity in this excellent forum topic let us give all the comparisons up front and personal. Unity and UE4 users can make their own choices of course.

  • We really need to use Unity 2017 (coming in March) as the new price comparison.
  • Free is Free…so let us leave that off the table…with two exceptions 1) no Dark Skin 2) 100k USD cap per annual/year
  • $35 per month option (has Dark Skin) 200k cap per annual/year…Commitment Price $420 ($395 if using the Prepaid Option)
  • $125 per month option (Pro) Unlimited Cap…Commitment Price $1500 1/yr (same if prepaid or $2850 2/yr prepaid)
  • EULA between Epic and Unity are night and day. Read Unity’s first then have a cup of whatever you like…now read Epic’s. See the clarity difference?

Let us assume 50,000 units sold at $10 USD per title. Turned out to be a good game for the company. This is $500,000 USD Gross (which is what Unity and UE4 are both based upon).
UE4 takes 5% (after $3,000 per quarter) = $25,000 <= This is AFTER game is making money
Unity takes 0% but charges for sub = $420 + $1500 + $1500 (tools) = $3420 * 5 Members = $17100 <= This is partially BEFORE the game is making money

  • Note…You MUST read the Unity EULA very carefully when working with a Team. The $420 should actually be $1500 but it appears there are ways around that by having 1 team member with a Pro license and all the rest on the Plus license.
  • Unity also takes about $1500 from the Asset Store to get the engine in the same exact state as UE4 is out of the box. We are talking No Development Time and Apples to Apples…so most of these tools are on a Per Seat Basis One Time Cost…$1500 * 5 Members = $7500
    Net will be $300,000 depending upon publisher take and other things…used 40%. So…the company needs to be funded…25%. 300,000 * 0.75 = $225,000 left for the team…$45,000 per team member.

So the Company made $75,000 Net in the end.
UE4 took $25,000 of that for a $50,000 left over for computers, lights, water, and whatever else.
Unity took $17100 of that for a $57,900 left over…

End result is $7,900 to the Unity Wins side.
So Unity 5 is actually still less expensive but where the cross over actually is depends upon the team size and life-cycle of the project. As the team size grows the longer it takes Unity to cross over UE4 and the more units need to be sold to make a profit in the first place.

In the end the cost of the engines really makes not a lot of difference in the end. The real difference is WHEN the company is ‘feeling’ the pinch from the development money. UE4 is pretty much fully complete out of the box. Yes there are features that should be part of the engine but there are other topics doing this. Unity 5 needs money up front to get to where UE4 is. Once that money is invested into Unity 5…both of these engines do wonderful things. They both have bugs and they are both fixing them. UE4 you also get the source out of the box but for most of the hobbyists this is a pipe-dream. This is a very nice option to have once you get to a point though…not so with Unity without a lot of USD.

In the end…both engines are very good and very popular. In either case as developers both Epic and Unity are making game engines that give us access to making something we dream of in a relatively small team environment.

Cheers
O

Could you elaborate on this? I’m a Unity+Playmaker user and I’d like to know more about what Blueprints can do that can’t be done with Playmaker.

Could you elaborate on this? I’m a Unity+Playmaker user and I’d like to know more about what Blueprints can do that can’t be done with Playmaker.

Yeah but the only people paying the bills for game engines are the successful ones. All the broke game designers wanabee don’t matter because either they’ll go for the free software or they will crack it if they have to pay.

Unity is popular, because they are the Borg, and assimilating everyone.
The Unity logo indeed represents a Borg cube.
Resistance is futile! :smiley:

borg1.gif&stc=1

Games made with:
C++ proprietary/UE4/[CE5] for gamers.
C# Unity for housewifes/kids/office planktons.

Developing more comfortable:
Proprietary/UE4 for gamer developers with balls.
Unity for housewife/kids developers.

Housewifes making games for housewifes.

Housewifes/kids/office planktons are more than gamers => real world.

But its 100% true, if i say that if UE4 will replace Blueprints with C#/Mono - then UE4 will become even more polular than Unity for housewifes. But no one will listen.

So my opinion: Blueprints is just fancy toy which everybody likes, but no one wants to use. Absence of C# drammatically slowing down UE4 popularity. UE4 replaced unreal scripts with blueprints, UE5 must replace blueprints with C# (and then make C# to C++ compiler in UE5.15 version). C# should be integrated similar to Blueprints, so if i make UCLASS/UPROPERTY/UFUNCTION in C++ i will get according class with properties and functions in C#, so we can use same macros and marco-parameters like we did for Blueprints. Cheers )

LOL what a lame and totally untrue answer.

Simply, because it was free and popular first.

The first four characters of your name are spot on, the last five however… less so…

Check out this:

https://www.unrealengine.com/blog/how-disc-jam-reached-60-fps-on-intel-processor-graphics-using-unreal-engine-4

If you use UE4’s mobile renderer, it runs well even on integrated graphics.

Hey yo… Unity now has on board ‘Natalya Tatarchuk’.
That woman is seriously a genius!

Expect Unity surpassing UE4 rendering quality in the coming years, for real.
That woman is really THE graphics engineer; I’d say she knows more about graphics than Carmack and these other high profile developers.

Better Epic Games keep on focusing on the toolset and pipeline now since that’s what Unity doesn’t have, because after she does her magic, UE4’s graphics will be superior graphics no more.

I’ve seen high-quality stuff done in Unity on par with Unreal/CE if not better. And yes, she’s a real diamond in Unity’s tool belt so expect even more. The biggest advantage of Unreal vs. Unity at the moment is that Unreal is artist oriented whereas Unity is programmer oriented. It is something that Unity want to address with upcoming Unity 2017:

Competition is always to the benefit of us :slight_smile:

The real battle now is between Unity and Unreal and Lumberyard playing a catch-up game.

Hello everyone,

I am a game programmer for more than 11 years. My expertise is in game development, but I also have some extensive experience in game engine development (I have dived into any game engine source I could get my hands onto).
After so many years of game programming I have formed I could say my own image of what is good and and what not, what is old school, what is cumbersome to use and what is not.
Let me give you a UE4 code sample:



UCLASS(config = Game, hideCategories = (Actor, Input, Rendering))
class TEST_API ATimeOfDayManager :  AActor
{
	GENERATED_BODY()

:

	ATimeOfDayManager();

	virtual void Tick(float DeltaTime) override;

protected:

	virtual void BeginPlay() override;

private:

	float LastTimeOfDay;

	float TimeSinceLastIncrement;

	UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Components", meta = (AllowPrivateAccess = "true"))
	class ADirectionalLight* PrimarySunLight;

	UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Components", meta = (AllowPrivateAccess = "true"))
	class ASkyLight* SkyLightActor;
};


An now an equivalent code in my “vision”:



[Config = Game, HideCategories = (Actor, Input, Rendering)]]
class TEST_API TimeOfDayManager :  Actor
{
	DEFINE_OBJECT

:
	
	TimeOfDayManager();

	virtual void Update(float DeltaTime) override;

protected:

	virtual void Begin() override;

private:

	float LastTimeOfDay;

	float TimeSinceLastIncrement;

	[EditAnywhere, BlueprintReadOnly, Category = "Components", AllowPrivateAccess]]
	DirectionalLight::SharedPtr PrimarySunLight;

	[EditAnywhere, BlueprintReadOnly, Category = "Components", AllowPrivateAccess]]
	SkyLight::SharedPtr SkyLightActor;
};


This is based on a C++ framework I worked on. I tried to “simulate” the Game Object Component architecture Unity has in C++. It works but it’s limited and I have some issued with C++. It was a proof of concept and UE4’s UnrealHeaderTool inspired me to make it. You can take a look here https://github.com/katoun/KeyEngine
I love UE4 for it’s professional look and feel, performance, but I simply hate how hard is to write code : exposing a property of a class to the editor is weird, the syntax is cumbersome, and the properties of an Actor visible in the Outline window just scares me.
In the end I am an advocate of beautiful, simple and functional code. The engine is there, the performance is there, we just need to expose it to the programmer in a simple and easy way to work with. I know that is possible. UE4 hides from us the boilerplate code to expose properties to the Editor, why not raise the bar even higher?
Regards.

Yeah, UE4’s C++ is not perfectly organized;
Btw, there’s no reason why to use “config = Game” when you aren’t serializing anything to the actual Game.INI file.

Hey , well, I am still giving UE4 a chance after so many attempts to use it, but there are some things I still don’t know, like this one. :stuck_out_tongue:
I want to write code in the fastest and simplest way possible and so far C# has given me that (at a small cost of performance). I know C++, I have worked with it for many years before.