Unity up to 5.2.5 works on/for XP. For the UE4 you need 7 to make it work and while it can supposedly build for XP, I couldn’t get this feature to work when I tried. Now that is probably my main reason and probably not relevant since I am the last person standing against microsoft’s despotism. But there are others reasons that may talk to the other folks.
Unity comes with an IDE that is quite performant. The UE4 defaults to visual studio, that comes separately and is an humongous piece of **** (and I’m weighting my words).
And probably what’s the most important, Unity’s compiler is fast enough that it allows to make your game through trial an error. On the UE4 a slight change to the code base and it takes forever until compilation is done, which makes the engine only usable to people of experience who know where they are going and how.
Unreal Engine… I know this over 10 years, when i played UT99, in that time we had UnrealEditor 2.0…
UE4 is a master peace. simple.
Unity is a new engine. with a new focus, buy all, we dont have nothing, only THE CORE :v
UE4 integrate natively many things. And i prefer work with a free engine with native features and native integrations.
You’re almost always going to feel the difference in compilation times.
It’s a matter of C++ vs C# and how each engine is using them.
Neither is necessarily better than the other.
Certainly intellisense and re-compile is often faster in Unity, but at the cost of a lot of the power and safety Unreal provides.
Based on my personal view and experience it all comes down to documentations and support. Unity has a lot of plugins and support from various platforms that are growing.
Along with the support, they usually get some tutorials to help users learn how to publish/deploy their work. For example, Unity has already been used as a tutorial by Microsoft developers to showcase how to deploy into UWP which unreal hasn’t done yet.
I do think their new business model of monthly subscription is ****.
As a programmer with 10 years under the belt, I have to respectfully disagree.
I have used Unity, Cryengine 3 and UE4, and UE4 appeals to my programmer self the most. Full access to the source code and ability to change things at core level makes UE4 my engine of choice. I don’t even want to touch Unity with a 10 foot pole anymore. I cant digest that a programmer would find Unity more appealing than UE4, unless the programmer is clueless about C++ and doesn’t want to learn it.
I use Visual Studio with Unity and it is no less performant than MonoDevelop. This has to nothing to do with the IDE, but with differences of C++ and C# projects and the fact that UE4 includes a huge codebase within the solution that slows things considerably. Especially when you just create a new project or just load the solution up.
UE4 definitely has a problem with the coding situation. Besides being more intimidating for beginners, C++ is a pain in the *** to work with most of the time in UE. Combine the enormous size of the codebase with the slowness of Visual Studio, and you get a not very pleasant experience. Buying Visual Assist is pretty much required unless you want to sit around for 5 minutes every time intellisense wants to suggest a code completion.
So you can only build your logic in Blueprints, or delve into the annoyance that is C++ in UE4. There’s no middle-ground.
It’d be great if there was a Blueprints scripting language so that I can write my logic in a programming language without having to rebuild the entire engine (or do a partial rebuild/‘hot reload’ and hope it doesn’t crash while that’s happening). It’d also make sharing snippets of code and features much easier.
Unity is much friendlier in this aspect, which probably also contributes to it having a bigger community.
I am coming to UE4 from Unity and I can tell you that MonoDevelop (the default IDE) on Windows is an even bigger piece of **** than VS. I use the Visual Assist plugin for my UE4 projects which makes everything tolerable in VS so it’s almost as fast as the intellisense for C#. In terms of usability, Unity is still using a version of Mono (2.6.5 I believe, which came out in 2009) that has a nasty bug in it preventing people from using a foreach loops amongst a few other bugs that aren’t present in updated versions (even an update to 2.8 would give them C# 4 features but Mono 4.0 supports C# 6).
Unity was easy enough for me to learn the concepts of how making larger games work, but the severe lack of functionality out of the box, the reliance on the Asset Store, the poor performance on detailed/large scenes, their push for useless features over bug fixes, and the terrible new pricing drove me off to UE4. Granted it’s going to take a minute to learn the UE4 way of doing things but it’s a lot of fun being able to use blueprints for the simple behaviors and C++ for more complex or specific things. At this point between the two engines, I would use Unity for 2D and mobile projects and UE4 for everything else.
IMHO situation is much better with Hot Reload nowadays. When I tried it about a year ago it was crippling and I decide to stick to BP for as long as I can. Now I’m moving all gameplay logic to C++ and I did not bumped into any HotReload issues/crashes during this 2 weeks and HotReload takes only 5-10 seconds most of the time.
However it’s really annoying that you basically must use VAX/Resharper, otherwise it’s nearly impossible to do anything at all
I don’t find working with C++ in UE4 as difficult as many of the commentators on this thread find it, but I learned it in school and used it in UE3 prior to UE4. UE4 is a huge step forward from my perspective. If you ever tried to make a new project in UE3 ( not talking about UDK or a mod ) you’d see the improvement, there were about 85 steps to follow and a few errors in the instructions. Epic’s response was to it was that it was OK because most people only had to do it once.
But, the middle solution you are suggesting here I think would be great. I would love to be able to toggle Blueprint event graphs between visual and text, and able to edit them outside the Editor in text editor/ide of choice.
As far as needing VAX, Is CLion a viable solution, or is it just as slow as Visual Studio’s Intellisense?
This would indeed be amazing. I was scared off c++ in UE4 by seeing a couple of people brick their project when building.
On topic, Unity has lower system requirements as well as no “waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaait for light to build” situations. And it’s very difficult to brick the whole project so that it doesn’t open. The opposite is unfortunately true for UE4.
If you messed something up with C++ and you can’t open your project you can always open Visual Studio and see where the problem is by attaching VS debugger to UE 4.
I’ve haven’t heard of that happening with C++, just launch the Editor from Visual Studio and you can debug it.
Unity might open, but all the script components will be gone from everything, with no clue how to reattach everything. Happens regularly when working on a team project in it, even with Perforce managing it, it’s a complete pain for developing as a team.
It runs on older hardware, because it’s an older engine. Compare it to UE3 for last gen stuff.
In order to publish onto a console device, Sony has a list of requirements that the project must conform to (the TRCs). Microsoft has a similar list for their hardware (amusingly called TCRs). The exact details of these requirements I can’t go into.