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. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Can I be of service to lower the barrier of learning Unity?

Discussion in 'General Discussion' started by efermerides, Dec 19, 2022.

  1. Unifikation

    Unifikation

    Joined:
    Jan 4, 2023
    Posts:
    1,068
    The opposite, at this point, is true, as you'd quicker get to realising that all the things listed are somewhat borked, at a point of less significant sunk time costs, thereby having less resistance to switching.

    True for end users. For sure.
     
  2. tleylan

    tleylan

    Joined:
    Jun 17, 2020
    Posts:
    531
    Seriously (but don't believe me look at studies) when people post nonsense generally speaking nobody with any sense listens whether it is a good idea or not. "Unity has no interest..." and "They have the exact opposite vested interest" makes no sense.

    Tell us instead about the company that you run, the team you are a part of, the incredible way you service your customers.

    Unity isn't hard to use, developing software is hard. But if you start with the idea that the management, designers and developers at a company (and you can name any large company here) then you fundamentally do not understand business.

    You have not magically figured out what the "dopes" at other companies do not understand. And importantly, if you have then sell that knowledge or put it into practice, make millions for yourself and oodles of money for the people who rush to purchase your product.

    Someone define the barrier that gets lowered? The one where you do not need to understand C#, graphic design, logic, software testing, marketing and some level of physics?

    Rename the thread "we're just grumbling here".
     
  3. efermerides

    efermerides

    Joined:
    Nov 23, 2020
    Posts:
    11
    Hey @angrypenguin thanks for clarifications there, and yes I'd love to watch a documentary about the evolution of the Unity engine and how they changed the game (pun intended). I really appreciate the insights and this discussion. I can give concrete ideas only based on where I stand, but I'm not every user group of Unity. Nor can assume that I know all of the diversity of user needs. You're pointing an important challenge already, make something for the pro and the newbie. As a UX person I'd need to understand the range of user groups and their different needs, and also what are Unity's priorities. This will help not only define what are the problems are but also how frame them. Simply put making improvements for the experts can be a very different thing than making things easier for newcomers.

    My initial request was to try and reach out to someone at Unity already working on, broadly speaking, making the Unity engine easier to use. That was based on the assumption that a. Unity is doing UX research on how to improve the usability of the engine and b. they're thinking of new user acquisition through ease of entry into the engine (this is certainly not the only way). But these genuinely could not be a problem-framing that Unity is using. There are many teams in Unity and likely they have competing and overlapping priorities, like in any medium and large companies. So I put myself forth as a potential feedback giver, beta tester, research subject, co-designer, etc trying folks like myself who are coming from a UX/2D design background and learning Unity. I linked it with the Ultra Simple Creation job posting I saw, so I figured there were some efforts internally to simplify parts of Unity.

    The tactical ideas I can provide are only through the eyes of a newbie. It wouldn't be fair for me to pretend to give ideas for pros, which I have not done research on, nor am I part of that user group.

    • Maybe have a version of Unity that is with "training wheels" (this is what I perhaps assumed the Ultra Simple Creation Tool is): a type of skinning with certain simplifications and more explanations. Trying to mitigate the pain points setting up a Unity project (selecting which version to download, which render pipeline, packages to download, and platform to build for, all of that is overwhelming for someone starting out). Simplifying and shortening the time between intention and creating something fun.
    • In general, better content design right in place. Meaning clearer, better definitions of terms used (what is a Rigidbody vs Collider). Help me understand what something is quicker without me having to watch a 20 min tutorial video...or read dry documentation that's only text and with no visuals. Some ideas could be better tooltips, maybe with animations rather than just words. For example, Joints, show me what the settings do in a visual way, so I'm not trying to interpret what something may mean. So it's bringing the content to where the user is, but without disturbing the functionality.
    • Better error messaging in the console. So much of it is just mysterious. Better error messaging altogether.
    • If something you're trying to do is a known bug, then please tell me. We all have spent hours trying to understand why something isn't working only to know that it's a known bug, or maybe you didn't check this one box or didn't set this one setting.
    • An update to the design system so that it's stricter, more standardized and more predictable. So that interna teams and external developers will need more rigor and closer attention to abiding by UX standards. Numerical input fields need faster control and update (up and down carets, or response to up/down keys).
    • Better grab controls for modifications to objects in the scene.
    • A more predictable search within the tool itself (help me find where this component is or where that feature is)
    • A much simpler way to understand when something is being controlled by code behind the scenes vs a setting in the inspector
    • I don't have a concrete idea for this, but teach the user the mental model of how Unity is made. Like you have a scene, you can put stuff inside the scene, but not just objects also code, and all of that stuff is actually code you can modify directly, but you can also put components, etc. What the hell is a render pipeline and why should I care. Unity has a specific pattern on which is built and they expect you to interact with, but it takes a while until you realize what that pattern is.
     
  4. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    1,491
    Unity is simply not for absolute beginners. If you just start out programming, I'd rather recommend Game Maker or RPGmaker.

    Honestly, if major things can be explained in 20 minutes, everything is fine (and the existence of so many tutorials is actually Unity's strong point).
    We are talking here about a hobby you will spend literally 500 hours on if you want to achieve anything noticeable (aka something that will be played beyond your direct circle of friends), let alone make a career out of it. A couple dozen of those simply shall be tutorials watching and docs reading.

    Also one thing to keep in mind: If we ever are at a point thanks to magic ala ChatGPT5.0 and you can make a game that today takes 500h, in 5h, then you will STILL need to spend 500h to make something "noticeable".
    Reason being, the standard on the market of what people perceive as playworthy will have naturally increased. Just like we do not get hyped about Pong nowadays anymore :)

    Btw. Unity's docs are visual. There's often a button "Switch to Scripting" or "Switch to Manual" which let's you switch between the usage of the feature int he editor with images of the editor, and usage in code only.

    Oh boy, you better never ever touch a C++ compiler in your life :D
    No really, taking Burst aside, there are only a handful of errors you will encounter besides syntax errors (and for those, your IDE helps quickly ). Furthermore doubleclick usually leads you to the causing line of the error.


    Of course things could always be improved, but unfortunately simplicity limits the possibilities quickly.
     
    Last edited: Jan 15, 2023
    angrypenguin likes this.
  5. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Legend

    Joined:
    May 5, 2014
    Posts:
    1,447
    You are super passionate about this quest, so I highly recommend you apply for a job at Unity. :D
     
    efermerides and MadeFromPolygons like this.
  6. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,519
    Yeah, I also assume that's what "Ultra" is from their description. While it's probably based on the same tech, its Editor is likely to essentially be a different product for a different audience.

    Putting yourself forward as a tester and feedback provider is always cool. Unity do contact people to do that occasionally, though I've no idea how they select people.

    Purely because I love discussing this stuff... :)

    Are you aware of the (?) icons on built-in components? They take you to the relevant manual page and, as a newcomer, I found Unity's manual to be one of its strengths (circa ~2010, I believe the competition has improved since!).

    Unity does have its share of opaque error messages (I bug report them), but most of the time I find they're pretty good. Do keep in mind that if the computer knew enough to give you a solution then there wouldn't be an error. Errors arise precisely because the computer can't tell what's (meant to be) going on.

    Fully agree that better search, and usability in more places, would be fantastic. I would love, for instance, to be able to filter which Component types show up / are expanded in an Inspector view.

    Some of the other stuff you've suggested there doesn't seem to fit with computer science. For instance, while I'd love Unity to tell me I've run into a known issue, that would require either mind reading, or a boggling amount of engineering from the ground up which wouldn't be reliable anyway. If it could be done then everyone would already be doing it.

    What's problematic about how the manual currently does this? For people who've not done software development before, what about the courses Unity provides?

    As @DragonCoder says, the reason Unity is hard to learn isn't because it's poorly designed (though, again, improvements could be made), it's because it's a tool used to perform work which is incredibly complex. To use my typical example, one doesn't become a rock guitarist over night, it takes dedicated learning and practice over an extended period of time. This is why Unity provides online courses.

    Also, someone learning guitar for the first time isn't just learning the instrument, they're also learning about music. Similarly, someone picking up Unity for the first time often isn't just learning Unity, the tool, they're also learning game (or software) development, which is a massive field.

    That said, I'd love it if Unity gave some attention to this part of that:
    To a beginner, it shouldn't matter and you shouldn't care! It's a distraction which only serves to make things more complicated. There are far more important things for a newcomer to learn (such as the mental model you mentioned), but for some reason this advanced stuff is shoved in peoples' faces right from the start.

    For the people who actually need it, the "New project" screen in Untiy Hub is a mess. A veteran doesn't need this menu, but the info presented in it is going to be confusing or anxiety inducing for anyone else, and the render pipeline business is just one aspect of it. (I started listing why, then deleted the laundry list.)

    A common design rule across multiple industries is "provide sensible defaults where reasonable to do so" because this helps users maintain flow through potentially tricky decisions instead of having them block the process. It's a rule that Unity should really adopt on their "New project" screen.
    • There should be very clear defaults for combinations of 2D, 3D, mobile and desktop, because those are easy decisions which matter to a newcomer.
    • Everything else should clearly be "other". I've no doubt that this would upset some marketing people who want to put features and partnerships on display, but is this the best place?
    • Naming and provided info should be made consistent. Is "Runner Game" 2D or 3D or mobile or... not mobile? (Nothing here tells me what a project that isn't mobile is, that's just assumed.) There should be some standardised info given about every template, as the provided sentences seem pretty ad-hoc and aren't always helpful.
    Basically, this screen and the set of templates fed into it do need a designer's attention, and they need to ask "what decision is being made here, by whom, and what do they need to know?" Nothing here suggests that these things have been considered.
     
    Last edited: Jan 16, 2023
    efermerides likes this.
  7. tleylan

    tleylan

    Joined:
    Jun 17, 2020
    Posts:
    531
    I like the comparison to learning guitar (or any instrument). What is the easy way to play guitar and particularly the one that doesn't require hours of daily practice over several years. Why didn't the people who play the piano, violin, etc. in a symphony orchestra figure out how easy it could be?

    Unity Corp. surely doesn't mind more users but keep in mind beginners are free. They use resources and generally provide no real value. Some "chat" but that could be "I'm learning Unity" and it could be "Unity sucks" when they don't understand C# classes.

    How many of us have read "hi I'm just starting to learn Unity and have a great idea for an MMO game, where do I start"? Why stop there? Surely they have a great idea for a book, a film, a really useful Android app, etc. I suggest start with "realistic" and try to get your name to appear (spelled correctly) in a single-player Unity-based game.

    If you have 10,000 professional paying customers you devote funds to delivering what they tell you they need. It is unlikely that 100 random people trying Unity posting how "dumb" C# is will generate one business prospect. Some people will but they aren't the complainers and are more likely the ones who follow a tutorial, read documentation and ask pertinent questions.

    If it so impossible to understand how did these kids do it? https://blog.unity.com/community/meet-the-inspiring-unity-developers-of-tomorrow

    Motivation is key, find something that motivates you to learn.
     
  8. tleylan

    tleylan

    Joined:
    Jun 17, 2020
    Posts:
    531
    Let me share one anecdote from decades ago at a computer conference (in the MS-DOS days). I worked for a compiler manufacturer and someone from the audience asked "why is a Hello World program 180K, when will we see a smaller Hello World program?" The lead developer answered, "if you write Hello World programs for a living then our compiler will not be your compiler of choice."
     
    angrypenguin likes this.
  9. Unifikation

    Unifikation

    Joined:
    Jan 4, 2023
    Posts:
    1,068
    I like this comparison, a lot, too.

    The equivalence here is Unity, the instrument maker.

    They can continue making violins, or they could consider making something like the amazing Linnstrument.

    The OP is suggesting he (and other newbs from UX backgrounds) are uniquely freshly looking at the opportunities to improve the UX of Unity, to help it become both easier to use and better explained. I, for one, agree.

    There's so much low hanging fruit in the Editor, before we even get to the APIs, to easily improve usability, discoverability, consistency, performance and accessibility that it boggles my mind why anyone would want to try straw manning, obfuscations, distractions or otherwise dissuading considerations of all user experiences. Especially by new users with other software UX insights.

    But, by all means, go ahead and learn some more Bach on a Stradivarius.
     
    efermerides likes this.
  10. tleylan

    tleylan

    Joined:
    Jun 17, 2020
    Posts:
    531
    I predict that in 50 years there are more violins (cellos and pianos) than Linnstruments but your debate style doesn't permit both instruments to exist. Amazingness isn't the only criteria.

    I mean this seriously nobody (including professionals) don't want improvements but the question remains what is an improvement? You make it sound like whatever the suggestions are they will be better and everyone will agree. So give up your QUERTY keyboard. The Dvorak layout "increases speed by 74%" and reduces errors.

    If you haven't why haven't you switched?
     
  11. Unifikation

    Unifikation

    Joined:
    Jan 4, 2023
    Posts:
    1,068
    I've run out of fingers and toes to count your straw men.
     
  12. tleylan

    tleylan

    Joined:
    Jun 17, 2020
    Posts:
    531
    They aren't intended to be strawmen. Posting an image of a Linnstrument was intended to do what? Isn't the Dvorak keyboard on par with whatever you were trying to prove with that? I get a sense you pull the strawman argument out often.

    "There's so much low hanging fruit in the Editor, before we even get to the APIs, to easily improve usability, discoverability, consistency, performance and accessibility that it boggles my mind..."

    Have you listed one? This isn't a debate you can win the debate just post an actionable item and see if the majority support your improved design.
     
  13. Unifikation

    Unifikation

    Joined:
    Jan 4, 2023
    Posts:
    1,068
    I support the OP's general idea - that folks newer to Unity, with UX design, consideration and testing experience would be of great use to the Unity we users experience. If Unity were to be concerned about user experience.
     
  14. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,799
    No it won't. They will force feed us some React type CSS psuedo-HTML crap where you have go play with style sheets and tons of numbers to get anything useful done. The new Input system already suffers in stepping back into web design territory. Algorithms and logic programming, optimization are the keys to the kingdom..not replicating somebody's full stack experience.
     
  15. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    486
    You oppose abstracting actions from button keys?
     
  16. Unifikation

    Unifikation

    Joined:
    Jan 4, 2023
    Posts:
    1,068
    Completely agree with this. The new UI systems are an abomination, and I tend to think that there was a lot of low hanging fruit opportunities to improve UGUI and TextMesh Pro usage with canvases in world space, something which was uniquely powerful and creatively empowering. It'll be at least a decade before UIBuilder and UIToolkit get to parity with what these two "old" systems are capable of, at the current rate of improvements. And even then it'll still be hamstrung by exactly what you're describing.

    But this is not, I think, what the OP is on about. I could be mistaken, but I felt he was suggesting the usage of the Unity Editor, and using Unity itself, could be improved with a little consideration of UX - the UX of using Unity.

    Granted, UI making in Unity needs a LOT of help and would be best served by making Canvases and UGUI and TextMesh Pro as optimal as possible so they're useful and great whilst Unity makes their next few runs at replacing them.
     
  17. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,799
    What? The new UI system literally finally brings Unity in line with practically every other UI authoring toolkit in and outside of games. UGUI could never really be meaningfully improved because it was stripped of so much core functionality that drives this stuff that there was basically no cross-compatibility in tools or even UI authoring skillsets with it.
     
    imblue4d likes this.
  18. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    suggestion without specific implementation is completely pointless (though here, even specific implementation is also pointless)

    if I come here and say, "life should be better", so what? It amounts to nothing. Of course everybody agrees.

    All the actually experienced and smart people who ask, "yeah, so just how?" aren't disagreeing with premise. They just aren't dopes so they understand difference between wanting a thing and building a thing.

    Now it's just the typical internet argument thing where somebody says something general which is either silly or just a dumb question - which is totally fine we are all morons, lets just accept that fact - and then people scrutinize it and instead of just being like, "ah yeah, i was being silly I dont know what i'm talking about", the person(s) double down and then try to make specific counter-arguments out to be a general attack against the premise.

    "Life should be better. I have all the answers to make it so."
    "Yeah, what are they?"
    "You dont think life should be better? You jerk!"
     
    angrypenguin and DragonCoder like this.
  19. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    1,785
    In spirit maybe. They have to sort out proper data binding, resolve the terrible UI Builder performance on anything that approaches complex UI, implement worldspace UI, solve scrolling performance issues on mobile and a dozen other major issues that they haven't yet achieved in 7 years of development. When will all of that get done? Two, maybe three years?

    And it's debatable if UGUI could be meaningfully improved, but someone already made a competent, fully featured 0 per frame allocation GUI system that's better than UGUI and current version of UI Toolkit: https://assetstore.unity.com/packages/tools/gui/nova-226304#description Grab it while it's $100 off for two weeks.
     
    ippdev likes this.
  20. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,799
    You mean all the same issues that were even worse in UGUI for ages? Do you remember when UGUI was new and it was basically completely useless on mobile for literal years, especially when you transformed any element because it would be recalculating every single canvas rect every frame? Or how for the longest time it would just completely fail to properly raise events? UGUI isn't good now because it's a design convention nightmare, but it was even worse than UI Toolkit for years after release.
     
  21. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    1,785
    So we've progressed from terrible to slightly less terrible? At least the direction is better. These 10 year development timelines are hard to swallow. I hate UGUI with a passion but UI Toolkit just isn't ready yet.
     
  22. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,799
    UGUI was only ready after like three years in active use and it was in development hell for just as long as UI Toolkit was, if not longer. I worked on three separate PC and console release games in the time it took them to get UGUI out the door.

    And even then it stumbled drunk into the street and fell on its face.
     
    Claytonious likes this.
  23. Voronoi

    Voronoi

    Joined:
    Jul 2, 2012
    Posts:
    571
    In this discussion I am reminded of various attempts and plug-ins to improve Wordpress. The use of modules, drag and drop, etc. some of that eventually made it into the core Wordpress, for better or worse, I'm not sure. I tried some of those and they worked for a while, but eventually the 'easy way' just bugged out and stopped working.

    I guess what I'm saying is a complex piece of software, meant to do everything and anything is going to remain just that - complex. Unity has made a few kits and recent projects to try to ease new users into learning it, but like the Wordpress plug-ins they actually obfuscate what's going on and I believe make it harder to learn in the long run. The project gets out of date and someone trying to learn that has no hope of fixing what went wrong, because they are not learning how the thing actually works.

    I'm not saying there are no UX issues to fix, but to me it will ultimately lead to maximum amount of work for very little real gain to Unity or to users. Until ChatGPT does it for you, I think I would argue if you want to learn something hard you just have to learn it!

    I haven't tried any of those 3D software programs but I'm suspicious that they would be able to make a usable 3D model. For example, DAZ makes it easy to model humans, but they are completely useless in a game engine. Time spent learning a tool that can't actually do what I need is really wasting my time.
     
    Last edited: Jan 17, 2023
  24. Unifikation

    Unifikation

    Joined:
    Jan 4, 2023
    Posts:
    1,068
    good point!

    A short trawl through this forum reveals that even the most specific, well reasoned, well justified and even necessary exact specifications of exacting solutions to actual needs (and desires) of actual users (see Jeff Booth's various thoughts on shaders as one example that even comes with fully realised examples) is ALSO completely pointless, other than getting it out there, and off the writer's chest.

    That benefit, of getting some sentiment out there being worth the venting effort (for largely personal reasons), is still achieved without the wasted effort of specifying solutions, in pointing out deficiencies, shortcomings and opportunities for improvement.