Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Anyone here abandon Unity for another engine only to return later?

Discussion in 'General Discussion' started by Kev00, Sep 11, 2020.

  1. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,469
    About bloat, it's more like unity have like 4 animation system (legacy, mecanim, kinematica, the ik rig thing) with each their own interfaces and workflows, presented as if they are their own independent solution while they are actually complementary, and it's not clear what is their performance profile. You still have 4 ways to author shading with built in, urp, hdrp, custom srp, 4 way to write shader with surface, vertfrag, hlsl and shadergraph. And on top of that you have to deal with arbitrary limitations you can't custom code around because unity say so, like removing authoring of light in unity pipeline because unity knows what's good better than you, limitation you generally met two third in implementations with a string of 4 years old non addressed bugs, half implemented features, and arbitrary limitations they don't see why you would want that despite it being standard, which mean you throw all your work to start custom only to discover more of the same problem. Repeat for every other aspects.
     
    LogicFlow, Deleted User and Ricks like this.
  2. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,877
    Surface shaders dont count as they are just an abstraction of the vertfrag part, but the rest I agree with :)
     
  3. koirat

    koirat

    Joined:
    Jul 7, 2012
    Posts:
    2,009
    Good point with an animation system and rendering.
    I don't call bloat a half implemented features they got it's own criterium.
     
  4. Frednaar

    Frednaar

    Joined:
    Apr 18, 2010
    Posts:
    153
    If you are looking for a game engine for mid to high end windows projects, I highly recommend Unigine.
    It does not yet support xbox and sony consoles but soon will.

    Very easy to learn coming from Unity and uses C#, we are a team of 3 and everyone is extremely happy....
     
  5. Ne0mega

    Ne0mega

    Joined:
    Feb 18, 2018
    Posts:
    702
    I did, (from 2019.3) without a single problem or hiccup. I almost thought I should start a thread, because people rarely voice praise when things like this go right. I was expecting massive pain and problems, but amazed I did not have a single issue.

    On Topic. No. I would be a fool to leave Unity at this stage. Furthermore, Unity has put out two sample projects for standard game types (3rd person and a FPS). Those types of games, and casual games, can be made in any engine, easily now.

    However, those are also the types of games that get published, and nobody ever cares, because they have been done 1000 times.

    ECS and DOTS are going to revolutionize games and genres, and those are the types of games, new games, with new concepts that will get noticed and played.

    The corporate tone of Unity concerns me greatly, but I am optimistic because of the technical direction of Unity . If the former destroys the latter, I'll switch engines.

    I am just hoping I get finished before they change their terms of service to take everything from "the creators" they supposedly believe the world is better with more of, because their "margin maximization managers", HR and PR teams took over, bleeding the company of soul, freedom, and therefore, talent, so they just squeeze the creators for every penny they can get, with Corporatese letters telling us "what you need to know".

    Next I expect Unity to start touting their ball pit, ping pong tournaments, and snack trains, trying to recruit talent, a sure sign morale is low at the company. Publicly traded corporations are soul suckers. Unity just raised $1.3B. Anybody think that means faster and better implementations of things like the SRP, ECS and DOTS? Yeah right.

    If history of public companies is any indicator, we are going to see $1.2B of that capital spent on marketing, "charities", massive waves of new hires in the accounting sections of the company, and tons of new offices in worldwide cities, even though the product is digital.
     
    Last edited: Sep 18, 2020
    LogicFlow and protopop like this.
  6. koirat

    koirat

    Joined:
    Jul 7, 2012
    Posts:
    2,009
    This is why we keep this thread hot, so people can notice it ;)
     
  7. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,004
    The original question has “anyone here” in it, “here” being these forums and from the people here on this thread, it seems that the answer is mostly no, since no one came up to say “hey, here I am, I left and now I am back” we can conclude that the answer to the original question is “mostly no”.

    But since you want to generalize outside of these forums, I think negative sentiments towards Unity are at an all time high, and I see a lot of people leaving Unity, people who haven’t returned, and a whole other bunch of people trying to find opportunities to leave.
     
    Last edited: Sep 18, 2020
    Mark_01 and Ryiah like this.
  8. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,134
    Including YouTubers. Brackeys, who had some of the best and most easily understandable tutorials for Unity, announced today that they're moving onto other things. None of the content is being removed but it will eventually become outdated and I'm not aware of too many other creators with videos as easy to follow as theirs.

     
    Last edited: Sep 19, 2020
    Mark_01, MDADigital and Antypodish like this.
  9. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,469
    Well I mention shader graph too, it's the same kind of idea but for code. Still that's one thing to decide where you should do shading.
     
  10. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    I never really saw anything from him, the few times I did follow a link to a video from him I wasn't very impressed with his coding standards.

    I just quickly browser the video, he didn't mention that unity had anything todo with his decision to move on rather that he wanted to try something else than gamedev?
     
  11. koirat

    koirat

    Joined:
    Jul 7, 2012
    Posts:
    2,009
    Brackeys and Sykoo well know unity3d youtubers. Have they made any game with unity, or any game at all.
    I have always considered them influencers than game developers.
     
  12. Deleted User

    Deleted User

    Guest

    What kind of games and genres would be available, but not available with already existing solutions?

    You know, we already have MMO RPG relying on a data-oriented paradigm for decades already. It's nothing uncommon to apply data-oriented patterns under engines like UE4 with blueprint-exposed OOP gameplay framework - underlying C++ systems aren't all bound to OOP and limited to the game thread.
    If Unreal or Unity wouldn't cut it, there's nothing new either to build an engine from scratch designed to fully support any pattern you'd like to.

    I don't see where Unity DOTS would provide anything new from the gamer perspective. They just optimize C# which isn't that's great for demanding video games out of the box.
    Now, Dreams by Media Molecule is something fresh. Or attempts on building a virtual creative universe like Roblox.
    Or cross-play finally enforced by Fortnite - which might lead to spawn games designed to be played by "gamer" (PC, consoles) with the casual person (i.e. gamer's partner") on mobile. That's would a new type of game.

    But... you know... I might not see something obvious. If you imagine something fresh that might possible by having out of box ECS in Unity, I'm all ears
     
    Last edited by a moderator: Sep 19, 2020
    bobisgod234 and neginfinity like this.
  13. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,134
    Below are links to the games made by Brackeys and to an article discussing his presence and successes in the Ludum Dare competitions. I very much consider him to be an unofficial Unity evangelist. Unity evangelists do push the engine but they're active in their fields too.

    https://brackeysgames.itch.io/
    http://tonsofhunstudios.com/spotlight-brackeys
    https://unity.com/community/evangelists
     
    Last edited: Sep 19, 2020
  14. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,004
    Exactly, plus outside of Unity, Data Oriented approaches are not uncommon and ECS is as old as ... Thief 1 (1998) ?

    I think too many people bought into Unity's hype of "we figured out a way to not be terribly slow, by doing what the rest of the industry has been doing for decades (and losing whatever ease of use we had in the process)" as being some sort of revolution that will bring new things.
     
    LogicFlow, Kevathiel and neginfinity like this.
  15. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,324
    Do you have any links for that? First time I see Thief 1 being mentioned in this context. I'm curious.
     
  16. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,004
    My knowledge of it comes from some talk / stream where Sean Barrett was participating and he mentioned it (I think).

    So I don't have any links handy, but a quick Googling provided me with these two which seem pretty informative (although I only skimmed them)

    https://www.gamasutra.com/view/feature/131762/postmor-tem_thief_the_dark_project.php
    the powerpoint file : https://gist.github.com/paniq/c32ac8447a7cc5c33a45

    (note: it seems they called their system "Object System" since ECS as a name wasn't a thing yet, but the principles are the same)
     
    Mark_01, Martin_H and neginfinity like this.
  17. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    A ECS that truly utilized JIT optimizations would be interesting to see. I bet burst would have hard to keep up with core 3 / net 5 CLR.

    The machinecode that the CLR spits out often beats cpp which is kinda cool.
     
  18. koirat

    koirat

    Joined:
    Jul 7, 2012
    Posts:
    2,009
    I think we should stop all negative feedback right now and only praise the engine.
    The more stock they will sell the better future for us.
     
  19. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,004
    Unity is a great engine if you want to have a headache from frustration all day!

    And they totally aren't going to implode any time soon!
     
  20. SlimeProphet

    SlimeProphet

    Joined:
    Sep 30, 2019
    Posts:
    50
    What's a better alternative then? I don't think there is one, except for people who like C++ and don't particularly want to make a 2D game.
     
  21. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,004
    Validity of alternatives heavily depends on what you want to make.

    For us, as I said previously, for our next project we're looking into making our own "engine".

    There are alternatives around. And C# is vastly overrated around here.

    But in any case, Unity can be a frustrating engine and company regardless of the status of competition.
     
    Mark_01 and Kevathiel like this.
  22. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,324
    No.
    upload_2020-9-20_2-57-28.jpeg
     
  23. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,324
    GameMaker/RPGMaker/RenPy/Cocos2d....

    If you're dealing with 2d visuals, rolling out your own stuff is not out of the question. Just raw libsdl with bunch of image loaders, and something like tiled for level editor.

    It is also possible to make a 2d game in Unreal. Seen this done couple of times.
     
    Kevathiel likes this.
  24. kdgalla

    kdgalla

    Joined:
    Mar 15, 2013
    Posts:
    4,357
    I haven't "abandoned" Unity, but I use Game Maker Studio all the time. Unity has added a lot of 2D features lately, but if you want to make something that looks like an old NES/SNES game, you still can't beat GMS for performance and ease-of-use. If you were going to make something more modern, like Hollow Knight, you're probably going to want Unity, though.
     
    NotaNaN likes this.
  25. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,134
    Last edited: Sep 20, 2020
    nxrighthere likes this.
  26. tmcdonald

    tmcdonald

    Joined:
    Mar 20, 2016
    Posts:
    160
    Ryiah likes this.
  27. DoKiz890

    DoKiz890

    Joined:
    Jun 21, 2019
    Posts:
    11
    For all you guys in UE4, is there any tools like Timeline & Cinemachine, is UE4 particle system / shaders node based too like VFX Graph?

    Those are the only tools ive been using in unity lately for playing around with realtime animation, I wonder if I could also do it in UE4, it'd be interesting trying out new engine...
     
  28. Deleted User

    Deleted User

    Guest

    Well, there's Sequencer for animating anything in the world. It's designed from ground up for serious work with features like
    - cinematic workflows, along with simulating real-world camera stuff
    - movie render pipeline: rendering sequences out into movies, with the highest possible quality
    - other Sequences embedded as sub-scenes, ease of toggling alternative takes of the same shot
    - possible to call and bind blueprints events
    - exposed editor scripting to blueprints/Python
    - In 4.25 even possible to keyframe skeletal animations (with Control Rig)
    - (advanced) for a programmer it's easy to write its own Sequence tracks, but that for custom systems or APIs like FMOD

    https://docs.unrealengine.com/en-US/Engine/Sequencer/Overview/index.html
    https://www.unrealengine.com/en-US/onlinelearning-courses/your-first-hour-in-sequencer

    And yes, there's Niagara as a node-based particle system. It seems much more advanced than VFX Graph.
    - Already supporting reading data from other particles, make them interact with each other - like creating flocks. (bugs and birds from UE5 demo)
    - They're already working on fluid simulation (the portal from the last scene of the UE5 demo). They aim at "Hollywood-grade vfx".
    - Integration with other systems: raytracing, new Audio Mixer (passing frequency spectrum to particles or even triggering sfx from Niagara), Chaos destruction, blueprints (obviously).
    - Supporting importing simulations from Houdini.

     
    MadeFromPolygons, Mark_01 and OCASM like this.
  29. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,084
    Tried Unreal for a week, my biggest issue was how bad Visual Studio and intellisense works with their C++. It can't handle engine + game source. Epic uses Visual Assist plugin, there's also ReSharper and new Rider for Unreal. Without paying for them I'd say ignore C++ and just use Blueprints at start.

    Other issues:
    - worse documentation than Unity (at least there's engine source)
    - Unity's AssetBundles/Addressables and exporting/loading them in runtime seems superior to whatever Unreal has - important for me as I want to make modding my game easy directly in editor
    - no avatars in their forums :) (makes reading them slower)
    - different scenes/prefabs/serializedfields setup - more complicated than Unity

    Sticking to Unity for now as I don't see many advantages in porting my current project. Maybe will try Unreal again in next one. Depends on what UE5 will have to offer and if Unity will finally finish their networking solution.
     
    PutridEx, FernandoMK, Rewaken and 3 others like this.
  30. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,134
    Until you want to start working with the latest features coming out. Just as an example the new input system is very poorly documented with most of my understanding of it coming from analyzing the source code of it.
     
  31. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    The scripting API from earlier with examples and explanations is excellent. They need a team on this type of thing for new sections of the API. I understand that changes may occur..so change the danged examples and explanations of when, why and how to use the specific API reference. They got 1.6 billion now..so get on it Unity. If this is where yer beating Unreal then it is on the money to keep rapidly abreast of the changes and keep the API updated as per the old way.
     
  32. Kev00

    Kev00

    Joined:
    Dec 6, 2016
    Posts:
    229
    I hate to derail the thread... but I can't help it.

    I can't think of anything more friendly than

    if(obj == null) return;

    As far as I can tell there is a new generation of coders fresh out of university who think null checks are to be avoided like covid. In fact, last week we had one new gen coder argue with a 20+ year database engineer that his schema was wrong because it allowed for nulls. Apparently, the (1-N(0) relationship is also a problem.

    Of course the fallacy here is thinking all systems have clearly defined boundaries, when in reality (especially in business systems) the boundaries are ever changing and in many cases unknown.
     
    Last edited: Sep 21, 2020
    ippdev and Billy4184 like this.
  33. Kev00

    Kev00

    Joined:
    Dec 6, 2016
    Posts:
    229
    wow.. I thought these guys loved Unity.
     
  34. Kev00

    Kev00

    Joined:
    Dec 6, 2016
    Posts:
    229
    For me it's not the language features or its particular implementation quirks that make or break Unity. It's the fact that my projects have been corrupted so many times now from upgrades. My project is getting huge at this point and upgrading to the latest version is no longer a safe bet. Perhaps the lesson for me here is that the version and features you start your game with is the version you should end with.

    Of course, I was looking at unreal for the past little while, but it just feels like I'm starting over again.... Maybe I should have picked up unreal from the start. :( oh well.
     
  35. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,004
    If it's any consolation, as soon as Unity moves to DOTS and SRP etc fully, you'll also be starting over.
     
    Deleted User likes this.
  36. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,324
    Code (csharp):
    1.  
    2. void myGameObjectFunction(GameObject &obj){
    3. //stuff.
    4. }
    5.  
    obj Cannot be null, so there's no null check. But that's C++. The function also indicates that it is modifying content of obj, otherwise it would've been marked const.. If it is a member function, it also indicates that it is modifying the instance of the class it belongs to.

    That's not a new way of thinking. With sufficient practice in other languages, you'll try to move all sanity checks to compile time, and reduce number of checks done at runtime, because conditions that occur at runtime have to be reproduced, while compile time checks are performed during every build. Basically, something that triggers compile error is preferable to something that only happens at runtime.

    Database design and software are different domains.
    ------------
    Going back to your example, from a more pedantic standpoint, one could also argue that null in this case acts as a magic number and does not adequately convey intent between piece of code, and correct way to do it (in C#) would be.
    Code (csharp):
    1.  
    2. if (!isValid(obj))
    3.     return;
    4.  
    Where isValid would perform sanity checks, including nullcheck. A possible benefit of this appraoch is that it says what it checks in plain english, and that it can be extended later to a more complex procedure.

    Lastly, if the function has to throw, then we could even go with:
    Code (csharp):
    1.  
    2. checkIsValid(obj);
    3.  
    But in this case that creates a small issue of requiring a stack trace.

    That can be extended further into something like that:
    Code (csharp):
    1.  
    2. void checkValid<T>(T obj, string throwMessage = "") where T: new(){
    3. ///
    4. }
    5.  
     
    Last edited: Sep 21, 2020
  37. Kev00

    Kev00

    Joined:
    Dec 6, 2016
    Posts:
    229
    Sadly, I already had to partially start over in unity just to fix corrupted prefab inheritance. So it’s either press forward and suffer again or exit and spend 2-3 months learning a new engine.
     
  38. Kev00

    Kev00

    Joined:
    Dec 6, 2016
    Posts:
    229
    This is a good explanation. I just disagree that it’s a code smell. If you code using null in a consistent manner it’s not a problem. It gets the job done just fine. It also makes code easier to understand. I have my simple null check and you are now using those funky <T> things to compensate. I just hope you are not suggesting using Exception throwing as programming logic because that would be horrific.

    My larger point is that null is a fundamental part of data relationship mapping. And since objects are both data and functions that act on data, null is never going away. null will always be a data value

    I think it’s like trying to remove 0 from the number system. Sure the romans didn’t like 0, they considered it a code smell, but that only made them more miserable when doing math.

    I also think that the marriage between code and databases exposes the fact that null at run time will always be possible. In other words, that singleton known as dbnull.value is still null. You might hide null in some way but it’s still there.
     
  39. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Its not at all friendly for your fellow dev that needs to spend alot of time debugging the system becasue code like that (can) swallow errors.

    I love early exists though, and also sometimes you need to be pragmatic. I looked for first null check in oru game, here it is. written by me :D

    Code (CSharp):
    1.         public void IndexNewBullet()
    2.         {
    3.             if (Magazine == null) return;
    4.             if (Magazine.Empty) return;
    5.  
    6.             Bullet = Magazine.TakeBullet();
    7.         }
    its valid for the firearm to try to take a bullet even if magazine is empty or magazine is missing from firearm
     
    Last edited: Sep 21, 2020
  40. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,580
    So what does it tell you, when having Magazine == null?
    Why ti's state is permitted at all?
    It is unclear, but assume, that clip is not present. Or there is potential error in code, trying implement early exits.

    Why not having full control and having state, like Clip.IsPresent, Clip.isEmpty?
    This way is also much easier later, move bits to Dots, or to just jobify things if required.
     
  41. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,772
    If it works, don’t touch it until it breaks.
     
    Rewaken, Ryiah and pcg like this.
  42. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,084
    Didn't have many issues myself but I from what I read it's also the case in Unreal (if not even worse).

    Always backup project (source control) before upgrading, I guess if I had any issues I'd report them to Unity, revert the project and keep using older Unity version until it's fixed.
     
    Rewaken and Antony-Blackett like this.
  43. bobadi

    bobadi

    Joined:
    Jan 3, 2019
    Posts:
    593
    I'd guess changes magazine and for example it drops. so it becomes null.

    Clip.IsPresent, Clip.isEmpty
    he could implement this check it before IndexNewBullet(). does that change the design?
     
  44. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    You can actually drop the mag while firing :p example



    Clip.IsPresent etc feels more data driven like ECS. This is classic mono-b. Were the magazine is the actual compnent attach to the magazine gameobject.
     
  45. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,469
    Which game dev said "games are glorified databases"?
     
  46. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Its pretty cool though with games, there domain is not abstract like a business domain. You have things you can touch and see, like magazines, firearms, scopes, etc, etc. :D
     
  47. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    For all the fancy rhetoric and theory your team is epic in I could have pulled off that whole game, all the gun types, multivariant gun grips and trigger safety using a procedural IK system and as few well done Mecanim graphs, including this vaunted pull a magazine while firing in way less time, a few months tops for the underlying mechanics and then spent the rest on level building and a full body character with avatar customization system. The gun system would have taken me two weeks tops..and I would have used many
    Code (CSharp):
    1. if ( !something ){ fahgeddaboutit; } else { dealWithIt; }
     
    Mark_01 and neginfinity like this.
  48. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    Yeah.. and if it ain't there you can say I ain't got it instead of throwing an exceptional fit that you ain't got it. Ya know..like real life you just carry on with the tasks ahead like an adult.
     
  49. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    Apparently they loved views more. The only youtuber tuts I can hack for more than three minutes is a fellow named Tim Corey who does C# tuts. I still have to listen to him at 1.5X or 2X speed.
     
  50. pcg

    pcg

    Joined:
    Nov 7, 2010
    Posts:
    292
    And this ladies and gentlemen is how you Finish projects ;)
     
    JoNax97 likes this.