4

Do you think that Unity is a good engine for beginners in programming?Why?

Comments
  • 0
    @kgbemployee
    I agree. I'm starting to find documentation and video tutorials on YouTube and the truth is that there are hundreds of them.My problem sometimes is the language because in Spanish there is not as much tutorials as in English.
  • 2
    It is really easy to start but can be a pain for big games. For big games, choose UE. And choose CryEngine when...well it's name is pretty descriptive.
  • 0
    Thank´s for your recommendation. Anyway, I dont plan to use CryEngine for a first contact with the video game development. I think that is one of the most hard to domain.
  • 1
    ... no, not really.
    it's a good engine.
    but it's not a good engine for programming beginners.

    why?

    it gives you too much freedom in structuring your code, and doesn't enforce almost any architecture, meaning beginners who are unaware they need to design and enforce proper architecture themselves, and/or have no idea how to do it, end up with utterly horrible shitpiles of crap which is buggier than a month-old carcass and slower than frozen honey.

    if you want to hop right into GAME programming without having learned how to be a good PROGRAMMER first, go with Unreal Engine.

    you might hate its obtuse strict enforcement of The One And Only Correct Unreal Way of how to do everything and anything, but at least your final product won't be utter unplayable mess.

    Although I strongly recommend first learning to be a good programmer, and then learning Unity.
  • 1
    @guarrions unity tutorials, as well as stackoverflow (and answers.unity.com) answers are, from my 5 years of experience, at best pretty bad, but usually more like Precisely The Worst Way How To Do A Thing™

    if you want to learn the sensible way, read blogs and tutorials from unity dev team and watch their conference talks.
  • 1
    @lamka02sk yeah, as i said, it becomes bad for larger games when you have no clue what you're doing regarding designing proper structure for your code (or when you don't bother doing it at all, because you assume engine is going to do that for you).
  • 1
    It's ok but the problem you run into is that you are pigeonholed into the "unity way of doing things" which basically boils down to everything being attached to game objects.

    You also see cancerous concepts like singletons being promoted by everyone all the time.

    Not to mention the editor can be quite buggy and has certian unintiutive quirks. There's also a severe lack of serialization and you find yourself getting assets just to implement functionality that seems like a no brainer.

    It's good for noobs because it removes a lot of overhead. However, it's easy to code things poorly given the nature of the framework.

    I was really into it for a while and have almost given up. It just seems like I'm spending less time getting things done and more time figuring out hacks and tweaks to bypass limitations at this point.
  • 1
    It completely depends on what you want to learn?

    want to learn hardcore game programming? C++ SDL / Directx12 / vulkan

    want to create a solid game for future release? use unreal

    want to just move something on screen without learning programming concepts use Unity..

    also godot seems to be a thing..
  • 1
    Unity is great as long as you like component based programming, which reads to me like "i want to clusterfuck this code very hard"
  • 1
    @kdion4891

    "It's ok but the problem you run into is that you are pigeonholed into the "unity way of doing things" which basically boils down to everything being attached to game objects."

    funny how this is part of precisely what i meant when I said, two comments above yours, that "you end up with a shitpile if you expect the engine to enforce a structure on you"

    did you know: you can use GameObjects as just a presentation-layer objects, and do all of the other logic outside, and beyond them? apparently not.

    the only thing you're FORCED to do at GameObject level is rendering. everything else you're free to put wherever, if you can do a bit of proper programming/architecture thinking.

    -singletons are necessary, what's your problem with them? how else do you expect to manage your global gamestate? except the tutorials are crap, as I also said.
  • 1
    @kdion4891

    "There's also a severe lack of serialization and you find yourself getting assets just to implement functionality that seems like a no brainer."

    [System.Serializable] + data classes. you're welcome

    if that's not enough, override the builtin serialization and do whatever you want. where's the problem?
  • 0
    @kdion4891

    "It's good for noobs because it removes a lot of overhead."

    it seems it's (as i said above) also good for noobs who don't bother to learn the environment they're working in, and prefer to bitch about the consequences of their lack of skill/knowledge instead.

    if you want an engine that's going to handhold you in how to write a sanely organized code, go for Unreal. and then get back and tell me about the pigeonholing into the "engine's way".

    (hint: UE has a default setting which deletes all objects below 0 horizontal axis, and all objects beyond 10k distance along any axis, because "we're an FPS engine, why would you want us to behave in any other way?". turning off that setting is hidden in a 2nd level window's 10th setting tab from top of the list. talk about pigeonholing.)
  • 0
    @EdoPhoenix hey, another person who expects their engine to do their code architecture for them!

    ...learn to code properly, will ya? ;)
  • 1
    It's amazing how salty people get when you criticize languages, engines, or frameworks they like.
  • 0
    @0x0000FFFF

    oh, another person who doesn't get the point of freedom of designing their architecture for themselves, and instead complains that engine let them to do their own clusterfuck and eat the consequences of that! ;)
  • 1
    @Midnigh-shcode yes I'm sure everyone in this thread is a script kiddie except for you. Unity is absolutely flawless and is the only engine in the entire universe that should be free of criticism.
  • 0
    @kdion4891 not what i said, "surprisingly".

    however, i had these same complaints. then i realized the engine is there primarily to give me asset loading, time management, and rendering functions, and me expecting for it to make me program properly was my own mistake.

    until then, i had the same set of complaints about it. since then, i have a whole different set of complaints about it.

    you know, it's the difference between when it's obvious to you that people complain about something because they don't get it, vs. when it's obvious to you that they complain about it because they get it.

    unity is like sdl+visual level editor.
    you wouldn't complain about sdl library that it doesn't force you to architect your code properly, would you?

    the problem is appearances. unity's ui looks simple so people assume it's for noobs and handholdy. unreal's ui looks complex so people assume it's for pros and pro.
  • 0
    so then they both attract mostly the opposite audience than they should. and then the reactions often reflect that.
Add Comment