Unreal Engine 4 is now available to everyone for free(unrealengine.com) |
Unreal Engine 4 is now available to everyone for free(unrealengine.com) |
Can you use UE4 to build large online worlds like those in Rust and The Forest? Or is there a limitation like some people have suggested? What is the specific limitation exactly it hasn't been clear.
Can you use UE4 to build cross platform games, on mobile and browser?
Does UE4 have something like Crytek's terrain editor? That's my one favorite thing about Cryengine is their environment editor.
>In 4.6 maximum size of map is 20km x 20km.
>Now to put it into perspective. Single continent on Azeroth in WoW (exluding Northend and Pandaria) is something like 7x4km.
I was thinking of creating a giant map like Altis and then putting players on it to roam around and stuff. Cryengine makes this very easy I think but haven't gotten to it.
Yes, though with a significantly reduced feature set due to the limitations of mobile and browser platforms.
Also, the UE4 runtime once compiled with Emscripten is about 50MB, and that's before the game itself is even loaded (as of v4.7.1).
The last barrier to entry to someone who's trying to explore game making with Unreal has been removed. Thank you, Epic!
Its free as in a mob protection money is given freely, with a lot of strings attached.
Overall a very smart strategy. Free Software Walled Gardens I highly believe will start to become a common thing in the software industry. As you get most the benefits of Free Software, without the normally feared industry risks.
You want ideological purity? Go write your own system.
UE4 is a source-available, gratis game engine. This is fine. It is not open source, nor is it free or libre.
Many open source projects do something like this, a dual license where the source code for the project is GPL, but the creator is willing to license it for something as non-gpl to people unwilling to release their source code.
This requirement set by unreal is very very analogous. They just have some shifted priorities, however for me this project now meets the standard of what I would consider "ethical".
Could it be better? Sure why not? It could be GPL dual license, people who want to benefit from open source but release closed source I think should have to pay, that would be better. However, this library can now be effectively used for open source initiatives. This is fantastic.
That's my estimation of the situation anyway, you perhaps do not see it like this. Could you go further into your position?
No it's can't be because UE4 is proprietary: http://opensource.org/osd
This brings the best of both worlds. Freedom in the foundations, and an incentive to have real innovation in end user apps.
But patents and copyrights should expire after ten years.
Another important thing - Xamarin.Forms should be in the free edition, if it is aimed for starters.... Big studios or established companies can afford to develop native UIs for each platform separately.
... so?
What provision on that page would I violate if I made an FLOSS project based on UE4?
Unreal's license for obtaining the source does not permit you to redistribute in source form, so you can't comply with their license and still fulfil that point.
While it's certainly trivial now for most anyone to obtain that source independently, you can't include that source in your own project while still distributing your own project under any license that the OSD would label as open source.
So no way UE4-based project will be FLOSS or even open source.
I think you mean the source code is available (i.e., anyone can download it), which is different from its coming with an open-source license, which is what most people mean by "open source".
- not subject to or constrained by engagements or obligations
- given or available without charge
So, is the product free, as in available without charge, as implied by the clause "available for free"? Yes.
Is it free, as in not subject to or constrained by engagements or obligations, something that is in no way implied by the content of the article? No.
Is your argument based on an excessively restrictive, ideologically motivated definition of the word "free" that does not fully represent how the word is used in practice?
Yes.
You're not constrained by obligations if you choose not to make money with your product. So yes, it can be free of charge and free of obligations. Developers have to earn money somehow, unless you want Unreal to cease to exist. This model not only makes perfect sense, the product can absolutely be free in every sense of the word.
People whining about this are being ridiculous.
Free software very much is subject to engagements and obligations, these being the terms of the respective license.
Is your argument based on an excessively restrictive, ideologically motivated definition of the word "free" that does not fully represent how the word is used in practice?
It's funny, because by your own statement, "open source" is also an excessively restrictive and ideologically motivated definition, what with OSI and FSF definitions being largely equivalent. For some reason I doubt you believe this.
When you're talking about software, you should not blame others for assuming "free" refers to the FSF definition, especially in announcements targeted towards technically inclined audiences.
Why would you say that?
I actually explicitly believe that the FSF and OSI have coopted the term "free" in order to bend it to their own definition, while in fact espousing a position that explicitly advocates for licenses that restrict user freedom in very specific ways.
They, of course, happen to restrict freedom in a way that many folks like. But it's undeniable that, from the perspective of the individual user of software, BSD-licensed open source (for example) affords greater individual freedoms than that provided by GPL-licensed software, specifically because the latter is "subject to or constrained by engagements or obligations".
- "Open source"
- "Free"
- "Libre"
and again, as I see it, they all have mutually exclusive definitions. ie.
- the source is available to see and compile
- the project may be used without financial expense
- you may do with this project, and its source code, what you will (and personally I accept the restriction that you must preserve that right for others as not compromising this.)
under these definitions, I would now call the UE4 engine free and open source. I would not call it libre.
Do you object to any of these definitions?
In this context, all of them (well, maybe not "Libre", for which you have an approximation of the usual definition.) The common combination "Free/Libre/Open source Software" phrase comes from three different names for approximately the same thing in Software:
(1) Free Software under the FSF's Free Software definition [0]
(2) Open Source Software under the Open Source Initiative's Open Source Definition [1]
(3) "Libre", a term sometimes used parenthetically to distinguish Free Software in the Free Software sense as discussed above from free-of-charge (gratis) software.
OK, maybe it's better to call it "we're-not-gonna-be-a-dick-about-it" license.
Now if they had said "Unreal Engine is now available as free software" that would have been more confusing and misleading.
The OSI doesn't define "free" at all, it defines "open source" via the Open Source Definitions. The FSF defines "free software" via the Free Software Definition. Neither of these definitions restrict user freedoms, though the FSF tends to develop and promote licenses that arguably do so (the licenses the FSF's develops and promotes are not the only licenses it recognizes at fitting the Free Software Definition, which is pretty similar in substance to the OSI's Open Source Definition.)
Think of it this way: it's on par with false advertising which companies do get sued for. That's why companies make signs like "up to 30% off" and not just "30% off" (when only some items are 30% off). It is considered, by most, a mis-representation or false hood; a lie if you will.
1 https://www.unrealengine.com/blog/welcome-to-unreal-engine-4
The phrasing is ambiguous, unless I'm missing some grammar rules. And no, I'm not asking out of pedantry.
Not only does it reset per quarter, it is per product as well.
https://answers.unrealengine.com/questions/15056/need-some-c...
Other, much lesser known, engines have attempted to do something of this sort by acting as an intermediary eg. publisher, planning to pay developers after they were paid by Apple. For obvious reasons that was immediately dismembered by the community.
The only way I can figure is they'll ask for an iTunes connect login so they can check on the numbers for themselves.
Speaking as a developer, it just sounds like something to be avoided from the start.
I imagine the revenue distribution would follow a power law here. So it would only really make sense for Epic to go after non-compliant "whales", where the unpaid royalties exceed the legal costs.
Also, the more profitable the project, the lower the non-compliance rate, probably. It makes little sense to defy the royalty agreement if you have a successful project.
I would think they have some sort of enforcing mechanism. It almost seems like the $3,000 limit is a signal of the cutoff when it starts becoming worthwhile to pursue scum buckets.
My understanding, from previous versions, is that Unity offered a lot more tooling than Unreal. Also, Unreal's SDK demanded a lot of C++ code, which can be unappealing for small studios compared to Unity's Mono and several possible (managed) language choices.
However, Unreal appears to be much more capable, and better performing.
Also, is Crytek still competitive? It used to be competitive with Epic's offering, but was Windows-only.
EDIT: Unreal does have a comparison page for Unity developers: https://docs.unrealengine.com/latest/INT/GettingStarted/From...
What I hate about unity is the whole interface editor thing, it's big and you must use everything to use it. Is this Unreal Engine more earth to earth when it comes to programming ?
If it's a powerful 3D renderer but it's hard to use for simple things and it's not easily extensible, it's not really worthwhile.
I see it's very powerful, but I'm still wondering about the real utility of an "engine" versus a library.
For example, if you have some new idea and you are a programmer, and you want to be able to experiment and not be constrained by the design of the engine, I doubt such engine would really be relevant. Programmers need simple tools and frozen platforms.
I guess this engine is great for small studio who want to make a real 3D game quickly, if their programming style fit well, but if you're an indie or a demoscener and you're just experimenting, this engine is just too powerful.
I mean it's great to have such great and powerful tools (if they can last at least 5 year and not make projects obsolete) for free, but I don't see becoming a standard in the game programming community, and I don't know why...
I'm completely in awe of the feedback loop here. It even compiles and swaps code while you're in the game!
I would be nice to see someone try that with these assets.
I do wonder if Paris apartments have big glass double doors between the lounge and the master bedroom though. Could make visiting friends a little, erm, intimate.
Is it just me or is the source not public yet? https://github.com/EpicGames - No public repos
Also, they would be required to allow GitHub users who weren't UE4 subscribers to create forks, which is a violation of their licensing terms.
Public GitHub repos just aren't really suited for projects that aren't open source.
...technically all they did was lower the price by $19 a month.
...and bought a lot of press for that
...and a lot more shots at the 5% revenue.
It's really great of course. But better yet, it's really very clever.
Throughout its history, the best innovations in gaming have come from such people, the most recent being Palmer Luckey.
Unity can be used for free, with limits on certain features but good enough for school. Runs even on crappy $500 laptops.
What a great way to handle it.
"If you have paid for a subscription on or after January 30th, you will receive a pro-rated refund for your latest month's payment after March 12th."
So not only do I get most of my money back, but also the $30 credit.
Epic rocks.
---
EDIT: I see now it also says as much in the announcement, if only lacking the specific details.
Say, hypothetically you had an advanced visualisation component that you wanted to build in UE, or a virtual tour part of a much larger app. Or even using it to provide some sort of AR experience, however this was just one feature of a much much larger project, which revenues could be in the millions. Does that mean they get 5% of the whole thing? Or just the part that directly relates to the game engine?
Not knocking it, I think it's a great model, but it does make for an interesting problem. I think Unity is a better choice for this sort of scenario, of course, but still.
Your move Unity. $4500 per seat up front or $225 per seat per month for all-platform access is looking even less appealing for small Indies.
Epic is really getting ready to eat Unity's lunch I think. The graphical quality of Unity 5 is comparable, but Epic is making huge updates on short timeframes and they keep doing stuff like this.
For anyone interested, blueprints are great for prototyping, but once you have too much complexity in a BP it can easily cascade inefficiencies to the point it becomes very noticeable, so I would suggest using C++ with VS 2013 community edition, which now works with the plugin the Epic provides.
Also, there are some features that you can only access if you compile the engine yourself, so that is probably also a good idea for anyone serious about their project.
However, while I like Blueprints and hate C++, I still think it needs something in between such as Lua or C# (I'm fluent in both, both come with pro/cons)
Also, with this news I'm a bit concerned about it being free, the growth that may lead in a lot of trolling on forums and misinformation. By that I mean, if you have a financial commitment to something, you're a lot less likely going to bash it publicly since you've put your money down towards it. I hope that they can keep the quality of the community to high standards like they have, with clear questions and answers.
I'm actually a little curious about this, What does Lua or C# provide for you that using C++ in the context of UE does not? or is it simply familiarity with Lua and C#?
About time we stop the 500 monkeys reinventing 500 wheels in parallel (at least it's concurrent monkeys, they smell nicer).
I don't have any experience with Unity to compare, though.
Haven't found a list of games made with UE4 to try out the final output, but the simplest demos here open but run at 0.2 fps on Integrated Graphics https://forums.oculus.com/viewtopic.php?t=11538
And for phones you can't do much on older hardware. METAL is iOS8 only. So this demo https://itunes.apple.com/us/app/epic-zen-garden/id915975445?... starts with iPhone 5S.
I know there are quite a few Unity games out there in the market. I had ruled out Unreal and kinda settled on using Unity for my tinkering with games, because of the pricing differences...but now that Unity is so much more expensive at $1500+$1500 for each platform you want to support (if you don't want a Unity splash screen and the limits of the free version), and Unreal being effectively free forever for me (since I sincerely doubt any of my tinkering will result in a game that makes $3000+ a quarter, ever), I'm leaning toward giving Unreal more of my attention. But, I primarily want to develop for mobile, so having an effective mobile deployment process with the engine is kinda mandatory.
would love if they support WP8.1 as well..
Regarding the editor, unreal is pretty amazing. It really shines in the tools department. Check out the landscape editor, materials editor, and animation tools on youtube. Pretty fantastic stuff.
The game engine itself is better than unity in almost every way with a few big exceptions:
1) multiplayer map size. unity can pretty easily support large online worlds 2) support for mobile/tablets. unity is the dominant platform on those devices. 3) community support. unity has a much larger community, better documentation, and a much more populous online store (though unreal is catching up)
According to this thread, as of version 4.6, the maximum supported multiplayer map size out of the box is 20km x 20km. Is this the limitation you were referring to? That wouldn't accommodate an MMORPG or Minecraft, but otherwise seems quite big.
Regarding the editor, unreal is pretty amazing.
If it runs....and that's a big IF. The editor ran like absolute rubbish originally on macs, to the point where it was actually unusable.
They've done a lot of work on that, but it's still miles away from the unity editor.
I think it's really hard to argue the unreal editor is better; it's a lot slower, but it does have some nice tools.
You also can't create extensions as easily (if at all?) as you can for unity.
As you say, they're two different things, and the unreal editor is actually not bad... but if you were to compare them, the unity one would certainly rank more highly.
Now, the multiplayer map size limitation seems odd nowadays.
Evaluation of software, be it library, framework, sdk or a whole engine+tools is much much harder than writing actual software, especially when royalties, copyright and other legal issues are involved.
In reality there is no way of knowing what would do your best, so you can look at specific bad parts and take that into decision making, for example, for what I've heard (and possibly it could be wrong):
- Unity is not really good when lots of people have to edit the same files, merging is not really good, and the server option does not really cut it. (For example Quake's engine .map text files are not so bad to merge in cvs/svn/p4/etc.)
- Unreal had always had the bad "fame" of 30-only fps game, while this is okay for certain shooters, or 3rd person games, it would've never worked for "Call of Duty" where the brand was simply established with 60fps. To some people this might sound a bit pedantic, but 60fps matters! (And >60fps does not really, unless you need to swap frames for a 3D VR device of sort)
That to be said both engines surely have really good parts. From little I've explored in Unity, what got me first was the ability to extend the editor while it's running - I could add menus with functionality while it was running - this is super cool.
Unreal on the other side is well known engine with lots of people from the AAA game industry familiar with it, and while the editor might seem completely foreign to people starting in the game industry, it's pretty well known by many others (I guess they don't advertise it much).
The hidden gem of Unreal for me, was it's internal UI system, which could be used as a separate project - it has docking, controls, etc. - it might be a good replacement for Qt, MFC, wxWidgets, etc.
I can think a lot of games that are ue1-4 that are not bound by fps limits at all.
Editor in UE4 is streamlined from what UE3 was. Its now quite easy in the end.
I am confused, so is Unreal unable to do 60 Hz?
Do you have any experience with the UI system or know about any projects using it? I wonder what Gotchas or limitations may exist.
https://www.youtube.com/watch?v=JFZCp4xsPmo : Unreal Engine 4 Blueprints in Solus (1h)
Of course that can be interpreted many ways (Are there active email lists? Are there active forums elsewhere?) and raises other questions (What's the best way to learn a tool/technology?) but it's at least one useful metric for checking in on my FOMO.
I really like this easy 5% above X model. Seems fair enough.
How could a company so successful not turn profit?
[0]: http://www.ign.com/articles/2014/06/24/crytek-reportedly-in-...
I recommend everyone interested in the two try both. I personally prefer Unreal Engine, but everyone is different.
Unreal Engine is also moving quite quickly, adding new features, marketplace content, improving the UI, etc.
[0] At least that is how I read the whole situation
I love the way their engine renders water and had ideas for it.
The programming experience in UE4 is great, but is clearly not what you are looking for. It's very opinionated, And your code very much needs to fit within it's framework.
> If it's a powerful 3D renderer but it's hard to use for simple things and it's not easily extensible, it's not really worthwhile.
It's not a powerful 3D renderer. It has a quite nice 3D renderer. But Unreal is a game engine, and must be treated as such, it's renderer isn't really modular, and if a 3D renderer is all you want, I suspect you can be better suited elsewhere.
> I see it's very powerful, but I'm still wondering about the real utility of an "engine" versus a library.
I could perhaps go through a lot of examples to help illustrate the point, but perhaps the significant amount of games that ship every year based off of Unreal Engine is better evidence that there is significant utility in the "engine"
> if you have some new idea and you are a programmer
What if you aren't a programmer, what if the idea fits within the bounds of what the engine is built to do. Certainly, there are large classes of problems that UE are poorly suited for, but there are also large classes of problems that a web browser, or even a blender are ill-suited for, use the tools when they suit your problem.
> I guess this engine is great for small studio who want to make a real 3D game quickly, if their programming style fit well, but if you're an indie or a demoscener and you're just experimenting, this engine is just too powerful.
I'd agree that this engine is poorly suited for demoscene type work, but depending on your game, UE is great for indies, and depending on what your experiment is, can be great for experimenting.... Not all experiments are technical in nature.
> but I don't see becoming a standard in the game programming community
Unreal Engine is already a standard in the game programming community, and has been for 10 or so years.
In addition, worrying about powerful graphics as an indie game dev is like worrying about distributed database scalability as a minor e-commerce startup. Your priorities are messed up and, just like how you can just get away with mysql on a free heroku instance as long as you have interesting junk to sell on your ecommerce startup, so too can you get away with a shoddy 2d engine with box2d physics as long as your story is engaging (or your mechanics are fun).
Of course do whatever you want. Most of my projects have been HTML5. But at the same time I recognize that free importing of nearly any format of 3d assets into unity and built in animation, collision, physics, ability to edit nearly all parameters at runtime, even code. Is a huge boost once you get used to it.
>What I hate about unity is the whole interface editor thing, it's big and you must use everything to use it.
Unreal Editor is even bigger.
>...earth to earth when it comes to programming ?
~4k headers, they have their own build system. Using Xcode is not very fun, it's either indexing/compiling, or just waiting while the build system tries to decide which files were changed.
A powerful machine with SSD for Unreal is a must. Unity is not that beefy (thus responsive), but you don't get a powerful editor for materials, AI, visual scripting and so on out of the box.
Also guys at Unreal prefer new features over stability. Every release is a fight with bugs.
Unity was just as bad on the stability department in my experience. And at least Unreal pushes their new features to production quality. Unity on the other hand seems to push for new features just to hit a feature list on a box cover.
Game development forums are full of skeletons of people that tried to roll their own "game engine", forgetting that their goal was to make a game[1]. Unity (haven't used Unreal yet) makes it so that you can get a prototype done in less than a day. I probably looked like a kid waving my phone around like a joystick to steer my sub around a 3D ocean, changing the handling, etc. Starting with a graphics library would make that a multi-day task.
[1]: No really, when I was younger I essentially stopped working on my game and developed a fully compositing GUI/Window manager. Fun, but totally besides the point.
I haven't used Blueprints myself as I prefer their C++ option but I have seen a number of gamedev streams using Blueprints exclusively.
Pretty amazing, really. I've been in graphics since just drawing a line on the screen of a $6000 (2015 dollars) computer was a big deal for a beginner; now you can get a seriously robust graphics engine for no cost, develop on a week's-pay cheap computer, and publish for $50 per $1000 revenue after you make enough to bother paying for.
No reason to whine, save for the sake of whining. You can still start with gcc if you like.
ETA: per another current thread, you can get a suitable Linux workstation for $89 http://symplepc.com/blogs/news/16853255-symple-introduces-th... Tack on a USB monitor for another $89, and you can write the Next Big FPS for $178 plus 5% of meaningful revenue.
A small step up would be something with a proper graphics card and a quard core processor. You can get a very nice computer for $450 nowadays:
http://www.gamersnexus.net/pc-builds/1786-cheap-gaming-pc-bu...
Also, not being able to test on Windows would be a major problem as that's going to be the lion's share of your sale. If you're budget conscious, I'd spring for a 3 year old laptop that came with an AMD or NVIDIA chip. That would be a low end desktop today, but can probably be had for $200-300 or so. Toss in a $80 SSD, and off to the races. I find laptops depreciate fast and that most people haven no idea how valuable that NVIDIA or AMD sticker is on their laptop. That's the difference between being able to play 70% of the games on Steam and being able to play 10% of the games on Steam.
I know this probably isn't the place, but I am fairly sure they mean income, not revenue.
It doesn't matter what the word means outside this sphere. Otherwise, "engine" usually refers to something like a car engine.
Also, the US isn't the land of the cheap sakes, which kind of doesn't fit "for most".
That's just it though; if you wanted to use this to make a completely free GNU/Linux game, you could, without ever paying a cent to Epic. If you do decide to make a game for profit, it's only when you "make it" that you have to pay for your tools. I see it as a fair and equitable arrangement, where both sides profit if and only if the developer is successful.
For 3D games on mobile, UE should perform pretty well. If you're doing 2D games, other engines may be more efficient (although UE does have a 2D mode).
Now I'm a generalist, that ended up as tools engineer, so I might be talking complete non-sense, but again when I've talked to anyone from my previous studio or others that was the overall sentiment - Unreal can't give us 60fps unless Epic are directly involved and custom version for a game is done.
(Obviously you can do 60fps always, but it may not be up to the visual quality of other 60fps games).
Looking at UE4 and blueprints, it seems that they've understood their weak point and worked aggressively on fixing it. So it could be that UE4 would deliver 60fps just fine matching visual quality of other products at the same fps. (aaah, now someone would add - what about resolution? heh, I dunno - I think upscaling is just fine, but then you have all these crazy journalists digging up... frame rate is much more important though)
income, especially when of a company or organization and of a substantial nature.
(I'm often puzzled that when I suggest a nigh-unto-free solution to a problem, someone usually complains some form of "but that's not optimal!" Of course it's not optimal if you're not willing to put substantial resources into it. Just because the solution isn't perfect doesn't mean there isn't one; do what you can with what you've got, and you'll make progress toward perfection.)
Which isn't to discourage people, there is a lot you can do with that kind of mid tier machine, but you are probably much better off trying to something else than UE4.
I'm glad there's another no-cost video game engine available, but I don't think it qualifies as free software in the Free Software Foundation sense of the word free. I haven't seen the actual license though, so maybe it is actually free. It would be awesome if it was.
Of course, what matters more is what you do in that 20km, but it's also a limit coupled tightly with distant mesh performance and float accuracy issues.
Unreal Engine's built in networking systems are suitable for 64 players, maybe 128 tops. It's replaceable, but I wouldn't recommend delving into that.
I will say this though, if you have 1 C++ programmer with UE4, they can create functionality not builtin to the engine and expose it via Blueprint (the visual scripting language) for non-programmers to use. Blueprint is a fantastic and very easy to use tool. Take a look at the forums to see the incredible things people have built with ZERO programming knowledge.
And talking about Blueprint code is done through screenshots https://forums.unrealengine.com/showthread.php?60637-Unable-... I guess there is still no auto generated text representation you could copy paste.
https://mono-ue.github.io/about.html
If you want to code in C# it is the primary language for Unity, and a commercial third party unsupported add on for UE4.
Also the Pro license for Unity is pretty expensive up front -- a few hundred for Pro and then another $100-200 for iPhone, another $200 for Android, etc and thats per month (or $4500 one-time payment for desktop + iOS/Android) regardless of how much you make with your game.
Pro is $75 per month or $1500, then $75 per month for iPhone. And you can't just stop paying, it's a 12 month contract! If you pay up front then try to upgrade it's $700.
If they had an option to pay royalties and less up front it would be a much better proposition for upcoming indie devs. But they had some pricing thread where they asked the community after Unreal's $20+5% offering and decided it was best to keep current pricing. Perhaps the community felt that if you can't pony up a few K, don't crowd the market with your games?
I believe there's also some hard coded limits around the number of simultaneous players (16?), though it seems fairly easy to work around. Again, not sure about performance.
If a company was gaming this pricing creating 100 products each earning $4,000 (vs. $400k) they are saving $15,000 and are likely to hurt their business via customer confusion.
Other than the particularly small scale operations (someone's side project, etc.) if the product hasn't hit $3000 revenue in its lifetime, even small/medium sized business would be fairly troubled in the standpoint of sustainability.
"6. Records and Audits
You agree to keep accurate books and records related to your development, manufacture, Distribution, and sale of Products and related revenue. Epic may conduct reasonable audits of those books and records. Audits will be conducted during business hours on reasonable prior notice to you. Epic will bear the costs of audits unless the results show a shortfall in payments in excess of 5% during the period audited, in which case you will be responsible for the cost of the audit."
I can't build a decent car for less than the cost of a low end BMW. But, there are plenty of other companies than can.
So, the real question is what are the other options out there and I suspect there are few engines that can come close.
However, UE4 is much more than just a graphics library. I'd argue that it's editor alone is worth many times more than their rendering features. And IMO, it's trivially worth the 5% of revenue.
Once Epic exercises that right, any further distribution of the product would be a violation of Epic's copyright and Epic could file a DCMA takedown.
Whereas if you're an indie developer writing image processing code for example, it is going to be hard to find infringers and harder to strongarm them into coughing up licensing fees.
I expect this has the effect of keeping source code behind closed doors that would otherwise be public.