from unity3d to unreal engine 4

36
From Unity3D to Unreal Engine 4 Martin Pernica | @martindeveloper

Upload: martin-pernica

Post on 08-Jul-2015

2.422 views

Category:

Technology


2 download

DESCRIPTION

Presentation from GDS 2014 about how our team is more effective with UE4.

TRANSCRIPT

Page 1: From Unity3D to Unreal Engine 4

From Unity3D to Unreal Engine 4Martin Pernica | @martindeveloper

Page 2: From Unity3D to Unreal Engine 4

Who am I?

• Martin Pernica • @martindeveloper

• Lead developer in Soulbound Games • Rendering • GPGPU • Engine extensions • Game code

• … and sometimes CEO

Page 3: From Unity3D to Unreal Engine 4

First things first

• Disclaimer – this presentation is not intended as “Unity3D hate” or „UE4 promotion“! • Only reflect our experience with Unity3D and UE4

Page 4: From Unity3D to Unreal Engine 4

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?

Page 5: From Unity3D to Unreal Engine 4

Indie

Page 6: From Unity3D to Unreal Engine 4

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

Page 7: From Unity3D to Unreal Engine 4

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!

Page 8: From Unity3D to Unreal Engine 4

Team workflow

Page 9: From Unity3D to Unreal Engine 4

• 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

Page 10: From Unity3D to Unreal Engine 4

Team workflow - materials

Page 11: From Unity3D to Unreal Engine 4

• 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

Page 12: From Unity3D to Unreal Engine 4

• 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

Page 13: From Unity3D to Unreal Engine 4

• 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

Page 14: From Unity3D to Unreal Engine 4

Team workflow – game logic

Page 15: From Unity3D to Unreal Engine 4

• 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

Page 16: From Unity3D to Unreal Engine 4

• 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

Page 17: From Unity3D to Unreal Engine 4

• 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

Page 18: From Unity3D to Unreal Engine 4

• 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

Page 19: From Unity3D to Unreal Engine 4

• 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

Page 20: From Unity3D to Unreal Engine 4

• 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

Page 21: From Unity3D to Unreal Engine 4

• 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

Page 22: From Unity3D to Unreal Engine 4

Engine programming

Page 23: From Unity3D to Unreal Engine 4

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?

Page 24: From Unity3D to Unreal Engine 4

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

Page 25: From Unity3D to Unreal Engine 4

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

Page 26: From Unity3D to Unreal Engine 4

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

Page 27: From Unity3D to Unreal Engine 4

Source code and hot fixes

• And official Epic UE roadmap is public on Trello! • And you can vote for your features

Page 28: From Unity3D to Unreal Engine 4

Visual quality

Page 29: From Unity3D to Unreal Engine 4

Visual quality

• Some projects already switched from Unity3D to UE4 because better renderer and overall visual quality – Republic Sniper or Eve: Valkyrie …

• Why?

Page 30: From Unity3D to Unreal Engine 4

Visual quality – Republic Sniper

Page 31: From Unity3D to Unreal Engine 4

Visual quality – Republic Sniper

Page 32: From Unity3D to Unreal Engine 4

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)

Page 33: From Unity3D to Unreal Engine 4

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 …

Page 34: From Unity3D to Unreal Engine 4

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

Page 35: From Unity3D to Unreal Engine 4

Q & A

Page 36: From Unity3D to Unreal Engine 4

Thank for your attention!www.soulboundgames.com

@soulboundgames