Search Unity

  1. Unity 2019.1 is now released.
    Dismiss Notice

Unity --> UE4 scene export.

Discussion in 'Works In Progress' started by neginfinity, Mar 18, 2016.

  1. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,422
    update 2019/04/02:

    Hello there, and long time no see.

    This is not april fools, but the tool has been updated and is currently available at github under BSD license and for no charge.



    https://github.com/NegInfinity/ProjectExodus

    Have fun.
    ------------
    Original message from March 16, 2016:


    I wrote a tool for converting unity engine scene to unreal 4 scene.
    It imports materials, meshes, etc.

    Video:




    The tool is not currently available anywhere, I'm contemplating selling that on either asset store if there's some interest...

    The clip is 30 minutes long, so feel free to skip ahead. Texture importing took forever while I was capturing the video.

    -----

    The tool has been released for free, it is experimental, unsupported and was last tested against Unreal 4.12.5.

    It is available here.
     
    Last edited: Apr 2, 2019
    DevMember and mk1978 like this.
  2. Tortyfoo

    Tortyfoo

    Joined:
    Mar 6, 2012
    Posts:
    127
    Are there any limitations?

    Not yet watched video so maybe this explains but a few bullet points about the process, any assumptions/options/limitations/etc. would help.
     
  3. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,422
    I'd advise to check the video. Just skip ahead when something takes too long in it.

    There are always limitations.

    • Terrain currently is not being processed. I might look at this eventually.
    • Export is one way at the moment. Unity -> UE4. You can' transfer files back right now.
    • Skinned meshes are not converted. I might look into this, but this was intended as a level transfer tool, not a character transfer tool.
    • Particle systems are not converted, and that one most likely is not fixable, becasue unity particles are a black box.
    • There are differences in lighting systems between engines, so even after export result won't be identically lit. You can see it at the end of the video. UE4 lights have slightly different shape/attenuation, and emissive light from static objects doesn't bounce. Converted scene will have identical materials, though, and meshes with emissive materials will have "use emissive for light" flag set.
    • UE4 doesn't import tiff files. This one needs to be handled by you at the moment, might be fixed later.
    • Exporter gathers material parameters from unity standard shader or from compatible shader (meaning same parameters). So, if you write completely custom vertex/fragment shader pair with completely custom parameters , that won't get transferred properly.
    • Some texture maps are not currently being processsed, but this one is easily ffixable. Currently material converts albedo color, albedo texture, emissive color, emissive texture, normalmap, occlusion, it also connects specular alpha channel (smoothness for specular setup shaders and maps it properly to roughness. Specular color is also used (both color and texture) when available. Adding support for the rest of unity textures should be fairly easy.
    Aside from that, you'll get meshes at the same locations, with same names, they'll be organized into folders, and you'll have corresponding assets from unity imported and properly converted into UE4. That means reconstructing materials, rotating meshes properly, etc.

    Pretty much, select what you want to export in unity, export it, go to unreal, import, and go for a cup of coffee/tea while engine imports textures.
     
    Last edited: Mar 19, 2016
  4. Tortyfoo

    Tortyfoo

    Joined:
    Mar 6, 2012
    Posts:
    127
    Thanks for those extra details, definitely helps. I'll watch the video later. I'd potentially be interested in a tool like this. Terrain would definitely be a huge plus if somehow could be achieved.
     
  5. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,422
    IIRC there were some tools that could read terrain data in unity, so terrain conversion *might* be possible.
    I just never needed to work with terrain, so I haven't looked deeply into that, and can't be sure if conversion is viable/doable.
     
  6. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    685
    @neginfinity - If you could convert standard unity terrain to an Unreal Terrain and retain the details of said terrain.

    Either way - HYPE!
     
  7. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,422
    Original video silently got deleted by youtube due to "failed processing" error. Thanks, youtube.

    Video reuploaded.

    Moral of the story: never upload avi to youtube, remux to mp4.
     
  8. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    7,198
    That would be very interesting, does it also port scripts ?
     
  9. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,422
    No, porting scripts would be either very difficult or impossible, due to vast differences in engine APIs.
     
  10. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    7,198
    Thanks
     
  11. khos85

    khos85

    Joined:
    Jul 21, 2013
    Posts:
    541
    Hi, when would this be available to try/buy? Even at this early stage, I'd like to try it:)

    Is your tool using serialisation to save into a binary/json file?
     
  12. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,422
    My apologies for the late reply.
    I'll be looking into putting this onto either Unreal or Unity asset store (or both) next week. I'll see how it goes from there.
     
  13. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    24,929
    Can't use the Unity scene in the unreal marketplace can you? Don't know, you'll have to make sure of the legal small print in using the dr charles level thing.
     
  14. khos85

    khos85

    Joined:
    Jul 21, 2013
    Posts:
    541
    Hi, not sure why this should be a legal issue, you're allowed to import/export other objects/data. How do you see this being a legal issue? Maybe I don't understand it, would like to know more about the specifics.

    Me personally I am staying with Unity as I love the tool, but would like to see how things compare in Unreal.I think a exporter tool would be a very useful thing to have.
     
  15. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,422
    I'm not planning to repackage someone else's unity content for unreal marketplace, if that's what you meant.

    As far as I can tell, using unity assets in UE4 project is allowed (see asset store EULA - it doesn't specify engine), plus there's absolutely no issue if people run the plugin on scenes they made themselves from scratch.

    You can get the rough idea by looking at the end of the video. The biggest difference is that UE4 processes emissive light from materials very differently - it doesn't bounce. On the other hand reflection tech in UE4 is better than unity stock reflections.
     
  16. Beloudest

    Beloudest

    Joined:
    Mar 13, 2015
    Posts:
    199
    Unreal Terrain to Unity would be awesome, Unity looks terrible compared to Unreal terrains.
     
  17. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    753
    But this is not only terrains, it is all the vegetation etc that might make a difference, the terrain object itself I think is the same.
     
  18. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    753
    Gaia makes pretty good "terrains" for Unity, have you seen some of the results from that?
     
  19. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,422
    I've released the tool for free, by the way. It is available in my signature, last tested against Unreal 4.12.5 and is completely unsupported.
    "No warrranty of any kind", as they say:

    Link.
     
  20. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    753
    Hi, I tried the link but cannot see where to download the file, is this a unity asset file? Apologies if I do not understand this.
     
  21. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,422
    Links lead to patreon which leads to bitbucket repository which should be public as far as I know. Also, there should be a visible readme in each repository.
     
  22. Jimbo10

    Jimbo10

    Joined:
    May 8, 2016
    Posts:
    6
    Its a great conversion project, but as you and others have drawn attention to the legal aspects.
    Its one year on but trying to get some legal agreement seems unlikely

    There isn't any [Contributor License Agreement](https://en.wikipedia.org/wiki/Contributor_License_Agreement) for Unity or Epic or the Unreal Engine.

    Recent changes to EULA by Epic in Legal terms seem to forbid any use of Public Domain software in Epic Products.

    Microsoft has agreed to Epic demands that *any* contributions become Copyright of Epic.
    Therefore it is unlikely that any content for Unity Asset store or from Unity Samples would be accepted.

    Microsoft demands that their Contributor License Agreement is signed by anyone contributing code agrees that the content is unique and comes from a verified source.

    The legal ramifications are huge but as a matter of etiquette, mentioning Unity in an Unreal conference gets you really "bad Karma", trust me, see my scars!

    An Independent developer with a foot in all three groups, but not employed by any of them, these are my thoughts on what has been agreed
     
    Last edited: Jun 23, 2017
  23. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,422
    Lemme check the eula. As far as I'm aware unreal eula only forbade use of viral opensource code (for obvious reason).

    This plugin is not viral-licensed.

    Also, nobody said anything about contributing content to unreal asset store. You use it in your own project. Unity asset store eula allows use of content in different engines.

    --edit--
    Well, alright. From unreal EULA:

    The project is under zlib license, which does not fall under "non-compatbile licenses" category.

    If you were talking about this section:
    Then I haven't submitted anything to epic games. So as far as I can tell, there's no new problem with unreal EULA.

    Besides, restricting people form using 3rd party tools would've been suicide for unreal engine.
     
    Last edited: Jun 23, 2017
  24. jfran227

    jfran227

    Joined:
    Dec 29, 2017
    Posts:
    13

    Can it transfer particle effects yet?
     
  25. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,422
    No. Only geometry and lights. Didn't bother with particles due to differences.
     
  26. DavidJares

    DavidJares

    Joined:
    Dec 18, 2016
    Posts:
    23
    So, as the links are dead, and the talk is over - I guess the project is dead ? Why ? Any chance of continuation ? I would really appreciate and even pay for such a tool ..
     
  27. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    753
    Maybe you should make a Unreal to Unity exporter... now that Unity has the very fast job system / burst compiler.
     
  28. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,422
    The project is not currently publicly available.

    My advice would be to check the thread again during first half of january.
     
  29. unity_MNhE_0x7-hmb9Q

    unity_MNhE_0x7-hmb9Q

    Joined:
    Nov 19, 2018
    Posts:
    2
    Можно купить этот плагин?
     
  30. unity_MNhE_0x7-hmb9Q

    unity_MNhE_0x7-hmb9Q

    Joined:
    Nov 19, 2018
    Posts:
    2
    Can I buy this plugin?
     
  31. elettrozero

    elettrozero

    Joined:
    Jun 19, 2016
    Posts:
    216
    Is there a way to export terrain to Unreal?
     
  32. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    24,929
    I would export just the heightmap and splatmap textures, then work from there. Accessing these are covered by tuts online / unity docs. This is the highest resolution method you can use, although you may need to resize the textures to power of 2, as Unity adds a pixel border along x and y.
     
    elettrozero likes this.
  33. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,422
    Hello there, and long time no see.

    This is not april fools, but the tool has been updated and is currently available at github under BSD license and for no charge.



    https://github.com/NegInfinity/ProjectExodus

    Have fun.
     
    HeadClot88 and Adam-Bailey like this.