From Unity3D to Unreal Engine 4Martin Pernica | @martindeveloper
Who am I?
• Martin Pernica • @martindeveloper
• Lead developer in Soulbound Games • Rendering • GPGPU • Engine extensions • Game code
• … and sometimes CEO
First things first
• Disclaimer – this presentation is not intended as “Unity3D hate” or „UE4 promotion“! • Only reflect our experience with Unity3D and UE4
Let's start …
• Unity3D is widely used game engine • It has free edition and is easy to use • We used to work with Unity3D for two years
• On the other hand UE4 is paid and have royalties • And working with UE4 can be difficult for new users
• So why we decided move from Unity3D to UE4?
Indie
Indie budget
• We are small indie team with limited resources
• For Unity3D subscription we pay 225 USD per month • And per seat! • And no royalties
• For UE4 subscription we pay 19 USD per month • Also per seat • With 5% royalties
DRM
• In Unity3D is user limited only for 2 PC • When we cancel subscription, we cant use Unity3D Pro anymore
• In UE4 you can use unlimited number of PC • When we cancel UE4 subscription, we can still use UE4 and we
can also release the game!
Team workflow
• In our small team, effectivity is key element in development
• There are some areas where we are more effective with UE4 • Materials • Game logic • Visual quality • Engine programming
Team workflow
Team workflow - materials
• Graphic: “Hey programmer, I need this material to be more shiny” • Programmer: “Okay, tomorrow I will send you new shader”
• Tomorrow
• Graphic: “Thanks for new shader, but I think the previous version was better” • Programmer opens window and jumps …
Team workflow - materials
• Graphic designer needs to tune materials by yourself but it is really hard to teach them (read as impossible) ShaderLab, CG, GLSL or HLSL …
• UE4 by default contains powerful material editor • Yes, you can buy material editor for Unity3D, but why?
• Material editor needs to be by default feature
Team workflow - materials
• So we switched from “Hey” material workflow to UE4 material editor • Results are better, because designer can test more versions by himself
Team workflow - materials
Team workflow – game logic
• Game logic is often biggest code you need to write in your project • You need to write it, test it with level/game designer and update it
• Unity3D was good with quick iteration and with high-level full featured language – C# • But this was not enough for us
Team workflow – game logic
• Our goal was same as materials workflow – give game designer tool to create game using “modules” • Modules can be configurable
• Properties
• Modules are created by programmer • In native C++ • The C++ can be also problem for many programmers
• Game designer can modify game flow, in-game actions and etc
Team workflow – game logic
• In Unity3D we used “public properties” for more configurable game logic • But it was not enough • We also have to develop editor extensions for more configurable
game logic
• But in UE4 we have built-in solution - Blueprints
Team workflow – game logic
• Blueprints in UE4 are exactly what we needed • Blueprints are visual scripting tool/language
• Not suitable for most programmers (because we <3 code) • But excellent tool for game/level designers
Team workflow – game logic
• Programmer will create “modules” with configurable properties • Modules are standalone and with maximum configurable properties
• Game designer will use this “modules” to create game logic
Team workflow – game logic
• So we eliminated workflow when programmer needs to update game logic in code and send (push) new code to designer for testing
Team workflow – game logic
• How our modules works? • Blueprints are not “overhead” free • So critical logic is implemented in C++
• And in BP we only implement “call chain” of modules and some events
• And also, in Unity3D you can buy extension for visual scripting, but we want full featured engine where core features are “first-class-citizens” not only extensions
Team workflow – game logic
Engine programming
Source code and hot fixes
• If you use UE4 you have full access to engine source code (expect third party libraries)
• What does it meant to our team?
Source code and hot fixes
• We can modify the internal features of engine • Or also implement our custom features • Not a big deal for small teams but is it useful for us
• For example we adding new features to BP system, modifying engine UI and we implementing our custom C/C++ libraries
Source code and hot fixes
• But the better thing is – we can “hot fix” engine by our own • If you encourage the bug in Unity3D you need to report it and wait, and wait,
and wait
Source code and hot fixes
• At last but not least – engine is developed not only by Epic itself but also by community
• Which means the new features/bug fixes are more frequently released
Source code and hot fixes
• And official Epic UE roadmap is public on Trello! • And you can vote for your features
Visual quality
Visual quality
• Some projects already switched from Unity3D to UE4 because better renderer and overall visual quality – Republic Sniper or Eve: Valkyrie …
• Why?
Visual quality – Republic Sniper
Visual quality – Republic Sniper
Visual quality
• This notes are compared to Unity3D 4.*, not 5!
• UE4 features: • Fully implemented DirectX 11 • Physically-based shading
• IES lighting profiles • GI
• GPU particles • Particles light
• Temporal AA • Multi-threaded renderer • Dynamic occlusion culling (using frustum culling)
Others
• We have really great experience with UE4 email support and also with forum and answers hub • Often Epic staff comes to discussion and helps
• In the past we send some questions (email) about next-gen console development to UE4 and also to Unity3D support • For reaction from Unity3D we waited about 1 and half week! • For reaction from UE4 we waited about 1 hour
• BTW: For nearly same questions we waited about 1 month for reactions from CryEngine team …
Conclusion
• UE4 is not option for everybody and also is not silver bullet for potential problems with Unity3D
• But in our team we increased effectivity by using UE4 than Unity3D
Q & A
Thank for your attention!www.soulboundgames.com
@soulboundgames
Top Related