Search Unity

UE4 to Unity

Discussion in 'General Discussion' started by shion33, Oct 21, 2019.

  1. shion33

    shion33

    Joined:
    Oct 21, 2019
    Posts:
    14
    Hello, I'm an amateur dev and I've been working in UE4 for a while, but after finding out about Unity's DOTS I've really considered switching. I'm just wondering if anyone has experience going from Unreal to Unity and could share some of the major differences? I know the programming is done in C#, which is no big deal for me since I'm used to C++ and C# would be easier if anything.
     
    dogzerx2 likes this.
  2. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    9,448
  3. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    I think it should be easier, but there isn't a lot of those AAA features you get with unreal out of the box with unity. So be prepared for some tinkering and setup.

    I mean I only used unreal once then closed it down because my computer at the time couldn't handle it so. . .
     
    akaBase likes this.
  4. shion33

    shion33

    Joined:
    Oct 21, 2019
    Posts:
    14
    Thanks, this looks like a good place to start. Although much of it is to do with the GameObject system, which I assume isn't used with the DOTS much or at all.

    So Unity is more customizable? I'd much prefer that over all the AAA features that Unreal has, which are mostly oriented towards artists.
     
  5. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    I would say unity is the go to for rapid prototyping. I think a lot of indies soon wake up to the fact that they're never gonna make a AAA game with such limited resourses so unity despite its flaws is the clear winner.

    I've got to be honest, I have a leaning towards 3D and high end graphics so I'm always drawn towards tech like unreal and lumberyard and raytracing etc but ultimately I know it is just a pipedream.

    If I was to ship a real game it would be a 2d platformer where unity shines.
     
  6. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    Oh and once you start scripting in unity you'll wonder why you spent so much time in blueprints or writing verbose c++ classes (most ppl don't even get that far)
     
  7. Frienbert

    Frienbert

    Joined:
    Nov 14, 2012
    Posts:
    112
    you don't need to create a graphically high end game to use the tools unreal provides. They use a lot of those tools on the cartoony graphics of fortnite.
     
  8. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    No that's true, but you can't deny unity is king when it comes to prototyping literally anything.
     
  9. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    I think that really comes down to where you have practice. I've seen people do really quick stuff with lots of tools.

    As long as your tools are good - and there are loads of great tools - then the bottleneck is more often the developer than the software.
     
    MadeFromPolygons likes this.
  10. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    9,448
    yeah. (although apparently that is the easy way currently, since there is some converter system in between.. or thats what i remember reading in some thread - personally haven't really even started on dots yet)

    check out youtube also, lots of interesting stuff
    https://www.youtube.com/user/Unity3D/search?query=dots
    https://www.youtube.com/user/Unity3D/search?query=burst
     
  11. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
  12. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,983
    Honestly doing DOTs right now if your new probably isnt the way to go given its constantly changing still. Until its out of development, you will have a harder time learning it + learning unity instead of just learning unity.

    They also had to rewrite massive parts of the engine + shader system to handle fortnite. Unreal is made to make a handful of game types, and anything outside of that requires literally rewriting parts of the engine itself. Trying to get it to make say an RTS is mindboggingly difficult compared to the way you would do it in say unity. Dont even get me started on the fact that you cant make a game without using the blueprint system for a ton of stuff.
     
    Last edited: Oct 23, 2019
    iamthwee likes this.
  13. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    4,436
    My humble advice would be don't chase engines for performance features, chase the one that makes you get stuff done quicker and scope down your game to meet performance targets. If you're far along the way in UE and think you could complete your project there, I'd suggest doing that. If you wouldn't abandon much work in switching to Unity, I think the switch may very well make you more productive, but I would recommend not trying to push for any kind of content that is super challenging on performance. Not because it can't be done (it can) but because if you do that, you won't realistically have the capacity left to focus on making your game fun - and that's where your big time investments should go imho. Speaking from painful experience here...
     
    MadeFromPolygons likes this.
  14. konsic

    konsic

    Joined:
    Oct 19, 2015
    Posts:
    995
    I like Unreal. I started with UDK but U4 introduced high perfomance cost when working with editor.
    I can work in it but it lags when compiling, switching windows if you don't have very expensive PC.
    Build size and editor size is abundantly high.
     
    dogzerx2 and MadeFromPolygons like this.
  15. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,205
    Have you tried the HDRP? Our other programmer works primarily on Apple hardware, and he had to switch to his backup Windows system because his Apple hardware couldn't drive the new render pipeline without having to buy an expensive eGPU.
     
  16. konsic

    konsic

    Joined:
    Oct 19, 2015
    Posts:
    995
    Yes, I'm using HDRP. It could be better for sure. My computer can't run Unreal with smooth experience when you need to open new tabs, compile, build light, and it takes too much of space.

    In HDRP shader graph takes some time to save. Progressive lightmapper is also time consuming so I adjust time on the end of the day for such tasks.

    Unreal is great tech but you need to invest in serious computing power to get the most of it.
     
  17. 5argon

    5argon

    Joined:
    Jun 10, 2013
    Posts:
    1,555
    One guy I know switched from Unity to Unreal and never look back, because he said animating (especially humanoid) in Unity sucks and the event on animation system is equally hard to use and not maintainable. (So rigging is coming and non- backward compatible DOTS animation is coming, that says something that the current solution is not up to industry's need)

    When he goes to Unreal (he said) all custom editors and coding he had to make in Unity are already there waiting, that the switching cost ended up miniscule compared to having all the tools he wanted to use appearing automatically and not having to keep patching them up anymore.

    I explained the DOTS revolution, but he said he got work done and don't need DOTS even though it is interesting. UE Blueprint is a codegen, that's no data-oriented but it's efficient and make it more difficult to make performance mistake because you didn't write that section of code (e.g. it properly uses preallocated object pooling, in a way you can look at that allocated memory of class instances as "data oriented" though it may not be as linearized granularly as DOTS components). Blueprint is still performance if you are interested in DOTS because of performance advantage. I followed DOTS not just because of performance but also that it is refreshing.

    Conversely I also know one other UE guy that says making UI in Unreal was awkward, and Blueprint is not the right representation for this work. I think the same previously with Unity but 2018.3 nested prefab changes that (so.. a button is actually the same button with different text). With playables director and signal emitters in 2019.1, working with UI in Unity is now enjoyable. (but we don't talk about performance, until runtime UIElements arrives at least)

    Not that I know anything about what UE offer in animation area and I have never made any games with humanoid character, but just to say that maybe it is just a certain one feature that ended up prominent in your game that makes the engine choice. If I want to make 2D side scroller with lighting and saw the latest Unite Copenhagen about URP and its 2D shader/graph authoring support, I would definitely leaning towards Unity instead of UE for example.
     
    Last edited: Oct 24, 2019
  18. I'm pretty much a Unity-fan for multiple reasons, but I wouldn't say I don't look at other stuff as well. Never looking back is a mistake in my opinion, because we have a very strong phrase in developer circles: choose the best tool for your goals. If it means employing Unity, then be it, if it's UE, then download UE4 and go to work. It is simple as that.
    It's never either/or. It's whichever helps you realize your concrete project and if the next one demands the other, just switch to it without any hesitation (I mean if you're sure that that's the best move).
     
    dogzerx2 likes this.
  19. konsic

    konsic

    Joined:
    Oct 19, 2015
    Posts:
    995
    When connceting with people in games, then knowing more than one engine can get you hired if you want certain job.
    I think it's necessary to learn and get to known more than one engine, if you want to get hired.
     
  20. 5argon

    5argon

    Joined:
    Jun 10, 2013
    Posts:
    1,555
    I am surprised you quoted at this particular word place because this defines his attitude right now. He is now a very biased UE fan instead of a tech people. In the sense that Unity "hurted/betrayed him" and wastes his time so no matter how Unity improved he is determined to not touch it ever again. Distrust of uncertainty that he would have to face next, though could be prevented by carefully evaluate everything and lock version when you start it is just not possible to avoid all surprises.

    For example I decided to base my UI on playable directors and evaluated usecase somewhat in 2018.3 before going all-in, but I failed to expect that it couldn't run events unless programmatically added a callback, which is needed in a place like wait for UI to animate out first then unlock the touch in lower layer. I was very lucky that 2019.1 has signals added immediately or I would be really annoyed. This is not counting bugs like signal evaluating twice at frame 0 or evaluation is late if frame number an even number, but bugs are not as scary as missing feature because they will be fixed at some point as long as you can pin them down in a repro.

    To OP : You will want to evaluate everything related to your game as much as you can. One example in Unreal you may used to make a material with graph and it of course works. Shader graph is a code gen for the actual shader file that you now don't have to write. The shader file have to respect rendering pipeline when to do what. UE just works because the pipeline is fixed unless you edit the source, in which case the built-in shader graph may no longer produce compatible output. But Unity added this just a while ago. Unity added scriptable pipeline (SRP) which is nice but also made 2 premade pipeline called URP and HDRP. Then, Unity can make a shader graph tool that output result compatible to this URP and HDRP. So a little surprise is that shader graph do not work with built-in pipeline and you must use either URP or HDRP. Small surprises, but doesn't mean there is no more. Something little but unexpected like cannot display enum argument in `UnityEvent` where elsewhere it showed up properly, may impact your workflow or not.
     
    Last edited: Oct 24, 2019
    Lurking-Ninja likes this.
  21. Needless to say this is not the first time I met with such behavior.

    Oh man, if I would not touch every tool I felt was lacking something I couldn't work anymore. :D
    After the honeymoon with the fresh and shiny new engine he will realize that it is a software as well and all software contain bugs. So, whatever. Sooner or later he needs to realize that these are tools and the people behind them are profit-hungry companies. End of story.
     
  22. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    When I get my windows box, I'll do an unreal engine noob2pro thread and let you guys know. :D
     
  23. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    1,998
    One UnReal to Unity trick is colliders:

    1) Unity doesn't have specific damage or trigger zones like UnReal. Instead, you create a collider and check the isTrigger box. Now it's not a collider anymore -- it's a non-obstructing trigger. There's no place to enter damage or show it's a kill zone. You have to script that. The system just knows to run OnCollisionEnter or OnTriggerEnter depending on if isTrigger is checked.

    2) Unity doesn't have a slider for collider detail, using the mesh as a guide. If you don't want a box, sphere or capsule shape, you need to hand-make it from several colliders. If you want a lower-poly version of the mesh as the collider, you'll need to make it yourself and create it. Anything with a hole or depression requires that you hand-make the edges out of several simple colliders.
     
  24. shion33

    shion33

    Joined:
    Oct 21, 2019
    Posts:
    14
    Thank you all for the advice. I definitely understand that Unity lacks many of the features that Unreal has built-in, but as someone else said, Unreal also has many limits which tend to be very hard to overcome. For example, in my project I wanted to utilize run-time terrain modification, but I've found no foreseeable way to do so in Unreal. In Unity however, it seems to be not just doable but quite simple to do. And although Unreal's performance has definitely improved over the years, there are some things I want to do (lots of projectiles, foliage, destruction) which I'm afraid will be too strenuous. This is why I've interest in the DOTS, and also because I think it will allow for better code maintainability. Although it appears to still be in its infancy, so I'll probably wait until at least the next major update to try it out.
     
    dogzerx2 likes this.
  25. 5argon

    5argon

    Joined:
    Jun 10, 2013
    Posts:
    1,555
    Full version is coming 2020.1. So likely that the next or at most next next beta release is the feature-wise complete one.

    upload_2019-10-25_13-43-36.png

    I think you definitely want to wait until at least a new conversion workflow that was teased in Unite Copenhagen arrives in beta. It's a huge workflow upgrade. (Let you potentially based an entire game on this workflow, where previously we must try to craft up the entity programmatically and it was scary and stressful somewhat)

    upload_2019-10-25_13-47-49.png

    You may want to watch this and see what else to wait for :


    About impossible things you mentioned, from UE I often have an impression that everything AAA-looking is possible, because the big games are showing Unreal Engine at splash screen. For example I am playing Monster Hunter World and I see Unreal logo. Then I think massive foilage and destructible environment must be possible somehow. (Inversely in Unity most of the time low budget studio puts a logo because they cannot afford, and it didn't show Unity's potential so sometimes I think maybe that UE-look is not possible)

    (Also I keep a rough diary of sorts trying to compare UE and Unity but writing is currently all over the place, maybe if you got massive free time you can read them.)
     
  26. akaBase

    akaBase

    Joined:
    Aug 22, 2017
    Posts:
    35
    I had the same issue and by the time I built my (this) workstation I was/am a Unity dev.
     
  27. Marble

    Marble

    Joined:
    Aug 29, 2005
    Posts:
    1,268
    I really like your diary, by the way, 5argon. I find it one of the most interesting and reasonable comparisons of the two engines, and you inject a lot of humility into your weighing of pros and cons.
     
    iamthwee and 5argon like this.
  28. konsic

    konsic

    Joined:
    Oct 19, 2015
    Posts:
    995
    I watched this. @5argon, is UE4 volumetric lightmap the same as Unity's light probe groups?
    If you see UE4 volumetric lightmap are the same probes for indirect light calculation like LPG in Unity.

     
    iamthwee likes this.
  29. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    I really enjoyed reading your blog, definitely one of the best comparisons out there without the obvious biases.
     
  30. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,983
    great write-up @5argon as a user of both I agree with most of your points. I think that if SRP, DOTs and new multiplayer + physics wasnt coming to unity I would have fully switched to unreal for my latest project. But with all these things coming, I feel like we are about to break into new territory where quality and performance is considered the same for both engines!