5 ms·
Well, I've used both extensively, and they are good at different things. Unreal is far better IF you fit cleanly into one of their templates (first person, thi
by rlp 8y ago
Well, I've used both extensively, and they are good at different things. Unreal is far better IF you fit cleanly into one of their templates (first person, third person, etc). Superior renderer with great built-in post effects, FAR better multiplayer support, better materials/shader editor. However, if you try to do something substantially different than they have imagined, it can get ugly very fast. The C++ used is strange, with all kinds of weird GC macros strewn about. As a programmer, I hate blueprints. I wish there was a scripting language alternative. And god help you if you actually want to modify the engine code substantially, it's a monster (not poorly done, just sprawling and extremely complex). Look at the nvidia gameworks integration, it's all these forks of the engine built by random people, it's a mess.
Unity shines in its flexibility, easy scripting, and fast workflow. I can whip up a script in C# very quickly that does exactly what I want. With that scripting, I can have a lot of control how the engine and rendering and post effects work, much more than Unreal. Prefab workflow makes much more sense than anything in Unreal blueprints. Mecanim is not as fully featured in some ways as Unreal's animation system, but with the Humanoid skeleton, animations can be used easily on different models. With Unreal, you need to use retargeting, which is painful and can have serious problems if the models are even slightly different in size.
- wokwokwok 8y agoThe kind of sad thing to me is that I’ve talked to several people who hold UE4 up as a shining example of “modern C++ done right”. ...but it’s really quite a mess when you look closely. A successful project and “good code” aren’t necessarily the same thing.
- lasagnaphil 8y agoUE4 uses their own C++ containers (such as TArray and TMap), which is very far from modern C++ (which recommends using STL like a part of the language). And UE4's macro system has garbage collection support built in, which would upset the modern C++ folks using shared_ptr and unique_ptr. They don't even like macros, they prefer using template metaprogramming whenever possible...
- failrate 8y agoRe: scripting Ue4 has the source available, so you definitely can integrate your preferred scripting language.
- rlp 8y agoYou're technically right, but that's potentially an enormous task. If we're comparing Unity with Unreal functionality, integrating a scripting language should include editor integration, debugging, etc. I'd rather spend my time actually making a game.