I have a project in Unity and I am very frustrated with Unity’s poor terrain system. I am considering migrating my project to UE4 but I am not sure if it is worth the effort to migrate and learn a new engine.
What would really help me to decide is if someone with experience in UE4 could simply answer a “Yes, UE4 can do this natively out of the box” or “Possibly, but there is a catch…” or “No, there is no way UE4 can do this”.
Does UE4 allow “painting” any custom 3D models on a terrain with LOD?
Can I restrict where UE4 is allowed to “paint” 3D objects?
Does UE4 have a way to automatically generate imposters (by “imposters” I mean a billboard/sprite that updates as the camera move around it to simulate a different viewing angle of a 3D object like the Doom or Duke Nukem 3D engine) for LOD?
Does UE4 require separate texture files for 3D objects or can I combine it for performance reasons?
Can UE4 indicate on which terrain material a player currently stands and adjust the properties according to it e.g. sound, movement speed, etc.
Can I make (or fake) caves/holes in terrains in UE4?
How many different textures can I paint on an UE4 terrain before an additional graphics pass is required?
Does UE4 scale shaders based on a runtime set graphics setting. In other words, say a graphics card support a certain shader, but it too slow to render it and the user set it to a lower setting, can I switch to an alternative shader in runtime?
It is very easy and quick to test Oculus/Samsung GearVR mobile apps on a physical device using Unity. Is the same true for UE4?
Unity has the ability to specify export settings per platform, e.g. lower resolution texture for mobile devices, more constraint level-of-detail (LOD) groups, etc. Is this also possible with UE4?
Unity allows me to use my own custom network protocol. Is this also possible with UE4?
Unity allow multi-threaded apps. Is this also possible with UE4 specifically on mobile devices?
Will the base UE4 increase the download size of my app dramatically? I think Unity’s base size without any assets was about 15 MB (if I am not mistaken).
Does UE4 support bluetooth controllers on mobile devices natively?
I’d say migrating is highly dependent on how advanced your project already is.
to try to answer your questions I’ve numbered them
yes, with the Foliage system
pretty much no. The only filters are the type of object that will be accepted as a surface for painting. there’s no slope/material/etc filtering at all
there’s a tool but it’s not automatic. and the tool requires some preparation (i.e. making a level, setting it up accordingly, using the tool, and then you only get the impostor textures)
you can merge/atlas but then you have to adjust your shaders accordingly, and you’ll need some knowledge for this. -OR- there’s an experimental Actor Merge tool for this
yes, via Physical Materials
yes, you can make a hole in your terrain, put a cave with meshes inside it, and fill the gaps with rock meshes
not an easy thing to explain, it depends on a lot of factors. plenty of threads discuss this
yes but you have to make the scalability “version” manually on each shader (by using custom nodes that filter things in/out of it). choosing the shader quality level is not automatic though
no idea
some settings, yes. it’s done via ini files and it’s not super straightforward though
it’s possible if you heavily modify the engine. i.e. not recommended
no idea
I’ve seen some discussions about this, but no idea
no idea
btw it seems your project is a mobile game. I’m not sure on the state of mobile in UE4 but last I heard it wasn’t so great compared to Unity
If your project is mobile then stay with Unity as @Chosker stated. If you are desktop then I think you will need to find a line where you can draw a line and drop things on both sides to weigh in. @Chosker did a nice explanation of your list so I will not repeat it. I developed in Unity 4 & 5 Pro for a desktop game and am not going back (will still use Unity 5.6 Pro as my cutoff prior to the subs). I love and hate both Unity and UE4. lol
My project is rather large and carefully built from foundation up. As I am converting fully this foundation to UE4 I am finding the technologies and methods problematic.
*Intent here is not another comparison thread.
The UE4 terrain system is fabulous…but…it does not have the tools like World Creator Pro, Gaia, Terrain Composer, Landscaper…and others to make landscape initial set up relatively easy. The UE4 Foliage Tool works very well but is a pain in the *** to set up and change since it appears I cannot save brushes (I may be missing something). On this note…Unity default has the same issue…which is why there are some nice tools from the Asset Store for this sort of thing. I have not purchased it but Landscape Auto Material looks very promising and does help automate the landscaping process (from the videos).
UE4 Foliage Tool => Foliage Tool | Unreal Engine Documentation
Landscaping UE4 is taking me at least 4x than it does in Unity for similar quality. In fact I am currently using World Creator Pro and Gaia to create heightmaps and splats/color maps to help out the UE4 side of things. It is helping but still way too much clicking and returning to clean up when needing roads and paths and other buildings and places of interest.
UE4 animation is a pain in the ***. Simple as that. Unity’s Mecanim has some issues but it works really well and works with a wide array of skeletons. The exact same skeletons (DAZ and Mixamo) I use with no issues with many re-targetted animations I am having to figure out how to make the conversions in Blender…not buying Maya to use the UE4 ART Tools. I think I have it figured but there is still some slight twisting going on. I am not an animator so everything is trial and error…but based upon Unity vs UE4 on character importing…Unity wins easily. I think I saw a Blender to UE4 tool here on the forums…so may have to invest in that.
UE4 is a very complete engine. I have a post that lays out all the added costs to make a game in Unity with the same tools UE4 has integrated. UE4 is really nice to look at and does a lot of things very nicely. I love the fact that I can visually snap together some really cool shaders and see them in real time.
In the end both engines are very capable…and difficult. Since I work in both while doing the full conversion to UE4 I would say yes…make the switch. UE4 does support the high end mobile so why not? Unity does have enormous mobile support with a broader range of devices.
I hope that was not too long winded. Just wanted to give good information.
Cheers
Unity allow multi-threaded apps. Is this also possible with UE4 specifically on mobile devices?
It’s my understanding UE4 can provide milti-threading via C++ but the feature is not yet available in the blueprint nodes. So if you don’t mind coding then you can take advantage of multi-threading.
if you are building for mobile platforms and you are indie , or your game is relatively small , stay with Unity .
Dont get me wrong , not that unreal cant do it , it just doesnt comes out small ! an empty project built for android is 60+ MB ! for unity it is 15 MB , if you build for android arm7 , it’ll be 7 MB . in cocos2d-x it is 1 MB.
So unless you are planning to make something big , like Lords of the fallen< android version> which is about 1.3 gigabyte in size <made in unreal> , stay with unity for mobile .