Search Unity

Unreal Engine 5 = Game Changer

Discussion in 'General Discussion' started by adamz, May 13, 2020.

Thread Status:
Not open for further replies.
  1. unit_dev123

    unit_dev123

    Joined:
    Feb 10, 2020
    Posts:
    990
    Can i ask question, do you think multi-threading should be done from ground up instead of using ECS, and to use c++ like some people are suggesting?
     
    Last edited: May 25, 2020
  2. unit_dev123

    unit_dev123

    Joined:
    Feb 10, 2020
    Posts:
    990
    he does not know, a lot of people here, 'do not know' they are making assumptions base of little experience and issues with unity engine. it is all anecdotal i feel.
     
  3. Ofx360

    Ofx360

    Joined:
    Apr 30, 2013
    Posts:
    141
    I guess im confused at where they’re going too. I thought they were going to move people over too the ECS way (with the authoring components and all that) and slowly phase out monobehavior use. The current hybrid approach is just a stop-gap, i assumed.
     
  4. unit_dev123

    unit_dev123

    Joined:
    Feb 10, 2020
    Posts:
    990
    The problem is as unity grows it come closer to requiring AAA tools, as unreal engine was conceived from ground up. as a AAA tool it always had perf and cplusplus in mind. The man with the cat logo is advocating, perhaps unity should stop backwards engineering, and patching solutions like dots and other paradimes, and start afresh with cprograming with true multi-threading and own memory management, or supply access to cplusplus. However, other would argue this defeats the reason why unity is as popular as is.

    it is not very easy solution i feel.
     
  5. Ofx360

    Ofx360

    Joined:
    Apr 30, 2013
    Posts:
    141
    Multithreading doesn't require ECS. You can use it today in the monobehavior side of things.
     
  6. unit_dev123

    unit_dev123

    Joined:
    Feb 10, 2020
    Posts:
    990
    ah i see, thank you for explanation. but is its purpose like 'massively parallel ops?'
     
  7. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,200
    We are waiting for it to leave preview, but we are doing tests on it so we are ready to adopt. Our AI will probably be moved to it first and mostly the part of the utility AI stuff. Awerness code etc
     
  8. unit_dev123

    unit_dev123

    Joined:
    Feb 10, 2020
    Posts:
    990
    i see, we are testing something called ML agents but the learning files it generates it many Gigabytes in size. It is not viable solution.

    https://forum.unity.com/threads/wip-ai-testing.892162/
     
  9. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,200
    We have a use case for those. Will try it out when we get the time. In VR you only know the position and rotation of the head and the controllers. I was thinking of testing to add a additional tracker to my waist and feed this into the model. So it can learn to anticipate waist movement from 3 trackers only. Also to get leaning around corners you can voxelize the world and feed the model with that info when you learn it. That way it get contextual awareness and leaning should be more accurate detected.
     
  10. unit_dev123

    unit_dev123

    Joined:
    Feb 10, 2020
    Posts:
    990
    are u using invector 3rd person ai in conjunction with own system. i noticed virtual fighter looks similar to invector as we downloaded sample on asset store but currently i am making my own from ground up?
     
  11. unit_dev123

    unit_dev123

    Joined:
    Feb 10, 2020
    Posts:
    990
    After much study i found this

    https://forum.unity.com/threads/wip-open-world-forest-game.865069/#post-5882732

    to be very useful. u can hook in ik to find intelligent solution, and after testing it is very simple use i am going to update wip today if time permits. did you end up using something called microsplat sir to solve your terrain issues?
     
  12. Ofx360

    Ofx360

    Joined:
    Apr 30, 2013
    Posts:
    141
    Yup and its relatively easy to setup. On top of that, Unity did an excellent job of making it race-condition proof.
     
  13. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,200
    Written from the ground up.
     
  14. Tanner555

    Tanner555

    Joined:
    May 2, 2018
    Posts:
    77
    Alright, UE4 does have breaking API changes sometimes, just like Unity. And although the documentation is not the best, there's a large UE4 community in the forums, and the lead engine developers even chime in often to help users upgrade.

    A few API changes is nothing in comparison to new features being split apart from core unity features we are so used to. UE4 users can upgrade and all their materials, physics components, lights, textures, and animations are all updated automatically with all the newest features. Unity requires you to completely rebuild parts of your game to utilize features like the new input package, HDRP/URP, the new physics system, the new animation system being developed, etc.

    And that's a complex example. Developers who use Blueprints probably won't notice the API changes as much as code plugin developers. But UE4 can definitely be a pain for new programmers and have its share of compiler errors and crashes.
     
    MothDoctor likes this.
  15. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    14,028
    Their messaging isn't exactly clear. On their own website, the sentence after the one I quoted about "rebuilding the core" immediately changes topic to talking about packages.
     
  16. nxrighthere

    nxrighthere

    Joined:
    Mar 2, 2014
    Posts:
    567
    It mostly affects only those who work with plugins, but much easier for those who work with source code for the actual game/application. For example, properties refactoring in 4.25 requires to do some renaming across the codebase, if you are using it for a game/application and only care about output. But if you are a plugin developer, things there are much worse than that, because the feature behind the scenes was changed significantly, and what matters for you is not only output but the actual behavior on what the plugin is tied.
     
    Tanner555 likes this.
  17. MothDoctor

    MothDoctor

    Joined:
    May 21, 2020
    Posts:
    130
    For what's worth, I'm aware of only a single serious post-upgrade bug in blueprints things in 6 years. There was a workaround for it but it was fixed in the first patch. Just had to create a minimal project for nice reproduction since repro steps weren't enough to repeat by engine support ;)
    (It's fair to mention that blueprint in UE 4.0 has many issues and solved in few releases, wasn't that smooth to use it at the beginning. Nothing that would prevent from making games with it, though.)

    The API changes all the time, but rarely breaks thing seriously. Marketplace plugins used in my projects usually compile after a few quick fixes (including warnings), even with core refactors like UProperty (object) changed to FProperty (struct). In this case, Epic prepared upgrade path and described needed changes in release notes.

    Obviously if someone tinker with engine things, some API changes will force you to rework code.
    At least it's reasonable after the engine team refactors entirely mesh format and introduce new features like LOD generation for skeletal meshes or mesh modeling/sculpting in the engine.

    Documentation about API changes sucks... true that. Sadly it sucks everywhere. Abandoned hope for proper official source docs in gamedev years ago...
    Although access to source code solves most cases of undocumented API changes. Source code is usually the best docs. But even if you're unable to handle the update, there's a big chance that someone else in the open internet gonna help you. They can look at the engine's code too. And Epic employees don't need to care to leak some secrets from engine source since it's all published.
    That's all makes a huge difference in everyday work, not only on occasional API changes 3 times a year ;)

    Unity became Autodesk of gamedev and that's sad. Relying too much on buying out solutions from other companies. Often just stitched to the engine, sometimes you still need to pay extra for it (Bolt). Sometimes it backfires and had to remove Enlighten without being able to replace it (which is natural if some alternative wasn't in works for a few years).
     
    Tanner555 likes this.
  18. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,200
    About the URP / HDRP compatiblity problem. Lets say I want to run HDRP for desktop VR but URP for Quest VR. AM i totally out of luck then?
     
    Tanner555 likes this.
  19. LIVENDA_LABS

    LIVENDA_LABS

    Joined:
    Sep 23, 2013
    Posts:
    307
    Have a look at what we did in 2014 with the standard pipeline, BTW, we had 20 years experience before we even did these at the time. Stay tuned for 2021 announcements..



    2013


    2014


    Candella 2013


    CTAA 4K
     
    Last edited: May 25, 2020
  20. jcarpay

    jcarpay

    Joined:
    Aug 15, 2008
    Posts:
    539
    Nice, what happened with SpectraGI?
     
  21. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    10,275
    Unreal 4 used to break API more often, and community used to be far less helpful. (Unity community used to have more technical folks overall, while UNreal community used to have more folks that feel strongly about things, but can't really help you). It is, however, quite possible that with recent push for new feature unity decided to close the gap by regressing.

    One important note is community. In my experience, no matter what engine you're using, you can just assume that community does not exist, as you will receive no help with more complex things when you need it. There's docs, there's support, but that's it.
     
    Zarconis, Rewaken, Ryiah and 3 others like this.
  22. Benmaster

    Benmaster

    Joined:
    Aug 11, 2016
    Posts:
    36
  23. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    5,695
    Seems like it can be adapted to any lighting techniques, as it reuse pixel probabilities, ie you could assign random light index per pixels and achieve similar results, i wonder how it manage visibility (occluder shadowing) with the probability. But the gist is that it's probably agnostic from lighting implementations.

    That's from reading the article only, let's see about the paper later.
     
  24. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,200
  25. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    10,275
    Given that it has raytracing and is from nvidia, then they are probably trying to promote RTX cards again.

    However, OpenCL is a thing, and so are HLSL computing shaders. Meaning that whatever they're trying to make hardware exclusive can be probably generalized to run everywhere.
     
  26. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,200
    If we look at how well rdna2 have been adopted then thats not good news :D
     
  27. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    10,275
    Amd? That's still vendor specific.
     
  28. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    5,695
    It's not GPU specific it's just a clever resampling technique that allow each pixel to only sample a few lights per rays, then get the necessary data by sampling other pixel to reconstruct the full lighting, in screen space, with loss at discontinuity. It's a variant of importance sampling, think of it as a kind of smart denoiser.

    I just finished reading the paper
     
    IgnisIncendio and MothDoctor like this.
  29. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,200
    Nice maybe they learned their lesson from VRworks nobody implemented that since it only works with nvidia cards
     
  30. Raive

    Raive

    Joined:
    Jan 6, 2013
    Posts:
    15
    AAA console and desktop games in UE4 use Blueprints, not exclusively by any means of course, but they are used.

    Writing C++ code that becomes a node in Blueprints is where the power is.

    If you argue against Visual development then uninstall Unity immediately. The editor is all visual, shader graph and fx graph are all visual. Mecanim is visual. etc.

    Visual development absolutely has it's place as we can tell by not just working with a blinking cursor on a green screen anymore.

    Blueprints serve some situations. In Borderlands 3 it was used for quests, light AI and similar. Was it used for the player? No, C++ of course.

    Can you write a whole game in BP? Absolutely! Should you? Probably not in many cases.

    Can you produce a horrific monstrosity in BP? Absolutely, but the same can be said in C++ and C#.
     
  31. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    5,695
    Nobody is arguing against it, I'm the OG visual programming defender of the forum :p the point is that we need a balanced discussion about it, and pointing at limitation is just that, just going batman and punching people for no reason is not that.
     
  32. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    717
    Minecraft Dungeons also uses UE:


    Interesting, I thought Minecraft is written in Java so C# and Unity would be easier to use but that's not the case as Minecraft Mobile/Win10 was rewritten in C++.


    Anyway I wish Unity would focus more on il2cpp (and maybe burst) improvements instead of dots. There's still a lot of useless calls in il2cpp slowing everything down:
     
  33. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    10,275
    Trying to promote visual scripting this way only gives it bad rep and discourages people from using it.

    Quite a lot of people know what limitations of visual scripting are and when to use them.

    However, there's a reason why text languages hasn't been replaced for a very long time. Makes me wonder how many visual scripting supporters know what those reasons are.
     
  34. unit_dev123

    unit_dev123

    Joined:
    Feb 10, 2020
    Posts:
    990
    for low end devices performance is priority, initially for desktop minecraft was conceived in something called 'java' which used a 'java virtual machine' to deliver, but this has same performance issues as cprogramming that unity utilizes, except they using mono runtime which is a cross platform inception of the dotnet ecosystem.
     
  35. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    10,275
    It was written originally in Java, that's how some of the mods were implemented - by reversing the code.

    However, minecraft java is known for a fairly poor performance, and that's why Minecraft Bedrock exists.
    https://minecraft.gamepedia.com/Bedrock_Edition
    Bedrock edition is written in C++.

    Direct translation to C# might pose problem, as there are differences between languages (can't do full breakdown, due to lacking java knowledge.)
     
  36. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    5,695
    The same reason the inventor of the compiler (Grace Hopper) was rebuff when she introduce machine agnostic language. OBVIOUSLY :p
     
  37. grobonom

    grobonom

    Joined:
    Jun 23, 2018
    Posts:
    253
    OMG !!!

    I wonder at what frame rate those hundreds of statues ( only them ) would run on U3D without GI and only 1 realtime light ?
     
  38. iSinner

    iSinner

    Joined:
    Dec 5, 2013
    Posts:
    173

    This vid is a reminder to you all why you should wait till the tech actually releases as a production really tool.
     
    MadeFromPolygons likes this.
  39. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    5,695
    Apparently unreal is stealth advertising a new feature? I mean it's not out yet and they already have it :thinking:
     
  40. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    10,275
    If this statue can be downloaded somewhere, we could torture somebody's unity installation and see.
     
  41. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,200
    It was a few million tris if I rembered correctly, will kill your performance with just a few :)
     
  42. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    10,275
    With the right shader, It is possible to drop any GPU to knees using only one triangle.

    If it is available somewhere I'd be willing to give it a go.

    ---------

    Actually... lemme give it a whirl with a random STL model. I found a 1.6 million poly stl. Should be suitable.
     
    Last edited: May 25, 2020
  43. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    17,277
    It's 33 million.
     
    MDADigital likes this.
  44. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    10,275
    Speaking of which, Riva TNT 2 Pro could run a 2 mil triangle landscape at something like 15 fps. Granted, that wasn't a PBR stack, but still. So, 2 mil polys shouldn't be THAT much on modern hardware.
     
  45. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    7,759
    ECS and the package system is not the same as "They should have Unity 2 which is all these things that is a whole different version of the editor and all the new stuff and also they should have Unity 20XX.X whi
    No, this is entirely different.

    Having Unity 2 and Unity 20XX.X is not just a matter of having a different branch. Part of the reason the package manager and the massive, slow rewrites of the underlying editor tech to accommodate it is even happening is because Unity has a pretty monolithic codebase that spans well past being a decade old. If Unity 2 is supposed to be this thing where it's all "oh, it's ECS and the new pipelines and all that, as well as UI Toolkit and all these things," then Unity 2 is essentially destined to be what UE4 was to UE3.

    Packages and LTS are not maintaining a separate editor codebase to the extent a Unity 2 would require, far from it. If there was to be a Unity 2, so much would have to be stripped out and rewritten that it would be a monumental undertaking that would also draw developer time away from Unity 20XX.X. This is like going from Hitman: Absolution to Hitman 2016, not from Hitman 2016 to Hitman 2 (2018).
     
  46. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,200
    33 million tris are 3x33m vertices. That's alot
     
  47. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    5,695
    NO because vertices are shared by triangles
     
  48. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    10,275
    That reminds me of Monolithic vs Microkernel architecture debate.

    The way I see it, there's no real reason to put special meaning into "Unity 2" (we already ahd unity 5, by the way). No matter how massive changes are, it is not going to be a full rewrite, and as a result it is going to be a different branch. A big branch, maybe, but still a branch.
     
  49. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    7,759
    Unity 5 was not a substantial change from the previous versions, not like this.
     
    Rewaken and Tanner555 like this.
  50. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    10,275
    This is not true. Given that the model uses single material, the number of verts will be close to number of tris.

    Basically... a cube is 12 triangles, but only 6 vertices, if you drop normals and uvs. If you care about UVs and Normals being stored, then a cube is still 12 triangles and 24 verties. A high poly model, however is not going to have so many distinct edges.

    Look up indexed primitives.

    Not seeing it. It is still a gradual process and slow walking towards next feature.
     
Thread Status:
Not open for further replies.
unityunity