Archive 17/01/2023.

Unreal Engine 4 Source Code Released

Kingsley

unrealengine.com/

Let the learning begin! \o/

cadaver

That’s godlike. I can imagine Epic saying “This hurts you” to Unity :smiling_imp:

Of course, Unity and others are proven solutions that work right now, while UE4 is going to take time.

Hevedy

But need buy to view the code

friesencr

Now everyone can have shaders that make their characters look like they just got out of the shower.

cadaver

I think Epic just got a lot of $19 payments :slight_smile:

Though the conspiracy theorist in me wonders whether this means that Epic actually value this iteration of their engine less, and will deliberately not use as much effort to it, as during UE3 this kind of licensing would have been out of the question.

Azalrion

One off payment and full access but no updates. Not bad epic, not bad.

I think its more that most other major engines (cry, source, unity, etc) are now on a similar or free model and so decided it was a good step to stay competitive and appeal to the indie market more.

Hevedy

Read this:

-What modifications can I make to the source code?
You can extend it, modify it, fork it, or integrate it with other software or libraries, with one exception: You can?t combine the Unreal Engine code with code covered by a ?Copyleft? license agreement which would directly or indirectly require the Unreal Engine to be governed by terms other than the EULA. For example:

 Software licensed under the GNU General Public License (GPL), Lesser GPL (LGPL) (unless you are merely dynamically linking a shared library), or Creative Commons Attribution-ShareAlike License is Copyleft Code.
 Software licensed under the BSD License, MIT License, Microsoft Public License, or Apache License is not Copyleft Code.

-Can I share the Unreal Engine source code or tools with others?
You can share the source code or tools, along with any modifications you?ve made, with anyone who is an Unreal Engine licensee who is authorized to access the same version of the engine as yours, e.g. the 4.x.x version number of your installed build.

-Can I copy and paste the Unreal Engine code into my own project or engine?
If you use any Unreal Engine code in your product (even just a little), then your entire product is governed by the EULA, and royalties are due.

-Can I study and learn from the Unreal Engine code, and then utilize that knowledge in writing my own game or competing engine?
Yes, as long as you don?t copy any of the code. Code is copyrighted, but knowledge is free!

Your subscription payment automatically recurs, but you?re free to cancel at any time. There?s no penalty for cancellation.

When you cancel your subscription, you won?t receive access to future releases of Unreal Engine 4, however your login will remain active, and you are free to continue using the versions of Unreal Engine 4 which you obtained as a subscriber under the terms of the EULA.

Don’t say if after some months you can subscribe again.

Someone going to buy this month?
(No linux version fail)

cadaver

Yes, I just subscribed due to curiosity. There’s about 45 MB of .cpp files and 20 MB of .h files, so Urho has still some distance to go: we have 3.5 MB own .cpp files and 1.5 MB own .h files respectively :slight_smile:

The UE4 code is such a monster that it would take days to begin to understand its internals, so I don’t think I’m going to spend much time on it. What I don’t understand is how the hell can they compile the runtime to JavaScript in HTML5 deployment mode and have any kind of sane filesize for the resulting script, even if severely shortened / obfuscated :nerd:

Hevedy

[quote=“cadaver”]Yes, I just subscribed due to curiosity. There’s about 45 MB of .cpp files and 20 MB of .h files, so Urho has still some distance to go: we have 3.5 MB own .cpp files and 1.5 MB own .h files respectively :slight_smile:

The UE4 code is such a monster that it would take days to begin to understand its internals, so I don’t think I’m going to spend much time on it. What I don’t understand is how the hell can they compile the runtime to JavaScript in HTML5 deployment mode and have any kind of sane filesize for the resulting script, even if severely shortened / obfuscated :nerd:[/quote]

The size don’t is all.

Work in VS 2012 Express ?
I need new graphic card xD

cadaver

They recommend to use VS2013. If you use VS2012 you will need to make some changes and download additional dependency files. I’d prefer VS2013 anyway, as it looks nicer and runs better. Note that I haven’t tried compiling yet so I’m not sure if the VS Express version works.

Hevedy

Yes youtube.com/watch?v=usjlNHPn-jo 2013 express is fine :smiley:

primitivewaste

Never though I would be able to access the unreal 4 source for $20.
Can’t wait until I finish the project(nothing game related) that’s been keeping me from urho3d.
Then I could dig into unreal 4 for the benefit of urho3d course… I may never make it back out though. :stuck_out_tongue:

weitjong

No subscription from me until I see the little penguin showing its head on their website.

Hevedy

xD
Looks like the contributors need port to linux

silverkorn

It’s funny because as my memory goes on, the 1st Unreal Engine was Linux compatible, well, at least the server engine.
I also think it was one of those first engines to use SDL at this time and easily “wine” compatible…

Hevedy

Unreal Engine 4 supports Linux and Valve?s Steam Box efforts from Day 1

muktware.com/2014/03/unreal- … ay-1/23300

weitjong

Despite what the title says, that article only mentions “Linux” twice. In the title and in the last line at the bottom of the story which says:

However, on the Unreal Engine website it states this:

[quote]
SYSTEM REQUIREMENTS:
Desktop PC or Mac
Windows 7 64-bit or Mac OS X 10.9.2 or later
Quad-core Intel or AMD processor, 2.5 GHz or faster
NVIDIA GeForce 470 GTX or AMD Radeon 6870 HD series card or higher
8 GB RAM[/quote]
And clearly there is no sign of “Tux” in their home page.

Could anyone here that already seen the source code confirm whether the UE4 engine and tool support Linux platform or not. I would really hate to waste my hard earned money.

Hevedy

Are working in, but not supported for now

boberfly

About the Linux support:

From what I can see the editor isn’t supported but the runtime has some build steps that are Linux-related, but would only build on Windows via .Net or Mac via Mono. It isn’t polished and there is indeed SDL in the ThirdParty directories but I don’t think it is linked up in the runtime part yet for the audio or GL renderer context-creation, but it looks trivial to implement as you can see how they target Mac/Windows backends. Getting the build system to work on Linux+Mono would take some time though, and changing any Mac defines as more or less posix/unix defines instead where it makes sense. Also the required compressed blobs have lots of pre-compiled libraries that you would need to make yourself and chase around for ThirdParty source code.

About the engine:

As their FAQ/EULA says, knowledge is power so learning bits from their engine can only benefit projects like Urho3D. :slight_smile: Getting BRDF and physically correct shaders working in Urho sounds like one side project I’d like to do, and reflections and things for shader model 5 platforms.

Something like blueprint would be a great alternative to scripting, and could be achieved in the Urho3D editor as all the building blocks are there (attributes, loads of events, data i/o via variants, util functions for math, etc.), we would just need to make a node editor gui (logic brick editor gui to not confuse Urho3D’s existing node object) and serialise it to XML/Binary the flow graphs that could be auto-converted to C++ code via filling up a LogicComponent base class or something crazy for any given nodes, then getting your compiler to build it behind the scenes via the editor? :slight_smile: Not sure how you would get hot-reload to work though…

weitjong

[quote=“boberfly”]About the Linux support:

From what I can see the editor isn’t supported but the runtime has some build steps that are Linux-related, but would only build on Windows via .Net or Mac via Mono. It isn’t polished and there is indeed SDL in the ThirdParty directories but I don’t think it is linked up in the runtime part yet for the audio or GL renderer context-creation, but it looks trivial to implement as you can see how they target Mac/Windows backends. Getting the build system to work on Linux+Mono would take some time though, and changing any Mac defines as more or less posix/unix defines instead where it makes sense. Also the required compressed blobs have lots of pre-compiled libraries that you would need to make yourself and chase around for ThirdParty source code.[/quote]

Thanks Alex F. for the summary. I guess patience is a virtue. I will wait till they officially support Linux and make a one-off subscription to grab the code.

Hevedy

[quote=“weitjong”][quote=“boberfly”]About the Linux support:

From what I can see the editor isn’t supported but the runtime has some build steps that are Linux-related, but would only build on Windows via .Net or Mac via Mono. It isn’t polished and there is indeed SDL in the ThirdParty directories but I don’t think it is linked up in the runtime part yet for the audio or GL renderer context-creation, but it looks trivial to implement as you can see how they target Mac/Windows backends. Getting the build system to work on Linux+Mono would take some time though, and changing any Mac defines as more or less posix/unix defines instead where it makes sense. Also the required compressed blobs have lots of pre-compiled libraries that you would need to make yourself and chase around for ThirdParty source code.[/quote]

Thanks Alex F. for the summary. I guess patience is a virtue. I will wait till they officially support Linux and make a one-off subscription to grab the code.[/quote]

unrealengine.com/blog/41-update-preview

jenge

Unreal Engine 4 is amazing, truly. However, none of our dev boxes can run it very well, especially on OSX (my gaming box does fine). It will be interesting to see if/how Unity adjusts course in response.

Hevedy

If your boxes don’t run that good, need buy one box bigger.
Unity have the medal to the worse performance.(All time 1,2,3…)

boberfly

There’s a roadmap now:
trello.com/b/gHooNW9I/ue4-roadmap
Linux native editor in May/June :slight_smile:

cadaver

And now Unreal Engine 4 source code access is free without subscription.

Note: if you had an expired subscription, you will need to remove your github account association, then re-add it, to get a fresh invite to the EpicGames organization. The Unreal account profile does not save if the only edit you do is clearing the github association, so change for example your address temporarily as well.

GoogleBot42

Now that the source is freely available maybe Urho3D could freely use some concepts and ideas from the engine. Their licence encourages it! :smiley: https://www.unrealengine.com/faq

cadaver

Well, realistically it’s a monster codebase that has for the most part completely different architecture. It’s possible that some isolated pieces may be worth taking inspiration from, though.

hdunderscore

UE4 has a lot of cool ideas we could pick up from without even needing to look at the source, eg: zones with post process effects and inherited materials. I haven’t used it since launch so there’s probably plenty of other goodies too.

TikariSakari

I tried out the UE4 for few hours, which isn’t much. For me the experience was far from pleasant. The editor crashed more than once per hour. Compile times took ages, could be my old windows hard drive about to go kaput.

I didn’t look at the settings that much, which most likely explains it, but it ran a lot slower on my android than Urho does when I was trying to have animated characters. This is something I just can’t figure out what Urho does, but on my android urho has just been a beast when I tried to compare it to other 3d-engines. Most likely my test case has been quite terrible. I’ve basically just ran 100 same animated models that have 1 shared texture, and Urho has been extremely performant for it.

Something else that kinda put me off was the apk sizes. I have no idea what it packs in them, but they are quite huge. One scene, one model and blocks was 100 megabytes…

GoogleBot42

:open_mouth: Wow… that is not acceptable for a commercial program…

100MB for UE4 on android? That is pretty huge for a phone I can understand why. The packager clearly doesn’t remove parts of the engine not in use. I wonder if there are any defines that can be used to remove some features from the build… How big was the Urho3D apk?

Seems that in general UE4 and other AAA game engines are just WAY too overkill for the majority of projects. Urho3D meets my expectations in this and may other areas. :wink:

TikariSakari

Tried to play around with this a bit more. Something that I truly liked about the ue4 is the dual stick system on android: [video]https://www.youtube.com/watch?v=414CHmaAvGI[/video]

This is not my video, but when i press the joystick down, it actually moves the center point to the point where I press the thumb. Also the thumb sticks have been scaled large enough, compared to running urho on my nexus 5, in the sample the joystick is just way too small. Same goes with all the other buttons. I have been thinking about where and how to scale them up, but I didn’t look too closely. I think something like knowing pixel density would go great way with the scaling issue.

rogerdv

I tried to test it in my office PC and editor barely moves. Also, I need Visual Studio 2013 if I want to develop C++ projects. I would like to know what VS 2013 feature is so awesome that UE cant live without it.

cadaver

Most likely they want to fix / limit the environments to which to deliver prebuilt binary dependencies, as C++ libraries built with different VS compilers are incompatible.

codingmonkey

VS 2013 feature is so awesome that UE cant live without
Intellisense + VA + multicursor :smiley:

GoogleBot42

[quote=“codingmonkey”]>VS 2013 feature is so awesome that UE cant live without
Intellisense + VA + multicursor :smiley:[/quote]

I know… :confused: Being a linux only guy VS is kind of my envy… :wink: I love the features but I love linux more. Thank god for qt creator which has some of those features that I like about VS 2013. My poor comp cannot run windows in a VM and expect things to be fast.

sabotage3d

Have anyone tested how does it compare performance wise to Urho for mobile ?

TikariSakari

I guess it depends a lot how well you know stuff, but from my test, urho beats hands down in performance on my android with rigged animated meshes on my Nexus5.

I am absolutely sure though, someone who knows their stuff can get a lot more out of unreal engine though. And most likely same goes with urho3d

So here is my scene, 400 animated characters with urho on my phone:
http://i.imgur.com/ufKSWdq.png

And this is scene with 100 animated characters on ue4 on my phone:
http://i.imgur.com/ksXvlOr.png

The 24 fps from unreal, I managed to get it up to almost 40 after one week of trying to tweak stuff, but eventually I gave up, even though I really wanted to like it and learn to use it. The thing that finally made me give up on using ue4 for mobile is the apk sizes. It seems to be almost impossible to make apk-file under 50 megabytes with ue4 even with empty scene. Or you can make under 50MB apk, but you have to split your assets and data to apk and obb files. Also a side note is, that apparently google store has some limits for APK-sizes, and honestly having 120MB files for mobile phone for a single game is imo bit streching it.

Something to note with the fps and unreal is, that if I increased the amount of bears from 100 -> 400, the fps drop wasn’t linear, aka from 40 to 10, but more like from 40 to 20, so I am not sure how the difference would have been with something like tons of objects. Also I never figured out how to do batching with unreal, which probably would have had a huge impact on performance. I think I read somewhere that currently ue4 doesn’t have any kind of auto batching, but you have to do it yourself manually or something.

I am not sure how viable test this is, since it uses same character just cloned, which might be something that works incredibly well on urho, but really bad on ue4. I think having every model being different would be better suited test. There is also the fact that my models aren’t huge in polygon count, and I think ue4 would prefer to have high poly models more than low poly ones.

As a side note I did this same test on unity5 freemium as well, and in terms of performance unity and urho were pretty on par. Unity seemed to pull ahead a bit when using mobile shaders instead of the default ones. For some odd reason for my phone the cpu skinning were faster with unity than gpu one, but on my friends mobile phone with the cpu skinning unity lost hard with this performance compared to urho. I never asked my friend to try out gpu skinned version, so I don’t know if that would have worked better.

Anyways like said I wouldn’t trust my own benchmarking to be the whole truth, and neither should anyone else.

sabotage3d

TikariSakari thanks for posting your results. I would be interested to see single rigged character benchmark plus physics stress test.
I will try to do IOS test this week, but I had problem with UE4 compiling on xcode properly. Did you use Blueprint or C++ for your benchmarks with UE4 and with Urho3d did you use Angelscript or C++ ?

TikariSakari

For urho I used 06_SkeletalAnimation and c++. I just changed the model to my bear model, which has according to blender 528 verts, 1052 triangles, 526 faces and 13 bones. Some of the bones do have ik-constraints, and I am not sure how ue handles such. I never tried non-ik characters (+ my windows partitioned hd said farewell few days ago, so I can’t try).

For UE4, I used blue prints to create the characters, as in spawn them into the world. I also tried to manually just simply drag and drop the characters into the world then copy pasted it around. I did try to change material to unlit at one point, remove shadows from characters, but since my knowledge about 3d overall is terrible, I wasn’t able to get much performance gains. If I profiled correctly I was bound by gpu at least in the beginning, but I am not sure about later on. I did probably miss something that was slowing my test down.

boberfly

Hi TikariSakari,

Thanks for the insight, I’m currently debating whether or not to use Urho3D or UE4 for a side-project of mine which involves mobile VR. From the looks of the renders, Urho3D would be in forward rendering mode ES2.0 yes? UE4 might be in deferred/gbuffer mode using ES3.1+AEP based on the somewhat blitted image there not being the native res, I think there are rendering tiers in UE4 to let you go into unlit ES2.0 mode which plays favourably to mobile more and should match Urho3D’s single-pass ‘unlit’ rendering mode. Instancing wouldn’t be on mobile in Urho3D though, batching I’d say should be automatic surely on UE4.

Getting back to my decision I really don’t know currently, but the 50mb APK overhead is a good deterrent for UE4 on mobile, is it simple enough to remove features to get a smaller binary? In Urho it’s super-simple especially when dropping angelscript or lua to get a leaner binary.

sabotage3d

Can someone make a mobile physics tests I am curious how does the UE4 physics system compares to Urho’s Bullet Physics implementation.

GoogleBot42

I am also interested in seeing the results… although the results probably won’t change my mind. :smiley: