A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Separate names with a comma.
Discussion in 'Accessibility' started by disappearer, Jun 20, 2022.
edit: I wish the documentation was a little more detailed...
Unity has grown so big now I'd argue its difficult if not impossible for any one person to know exactly everything that is available from API to packages to assets ( asset store ). Unfortunately this is just the nature of software, especially one that is not narrowly defined like Unity has become.
Further more I'm increasingly coming to the conclusion that a single developer cannot possibly cover everything in Unity anymore and as such we are seeing greater numbers of developers specialising in different categories, such as graphics, Android, iOS, networking etc - again its just the depth of knowledge and experience needed to completely understand or master each aspect is becoming too much of a time sync. Not saying that developers can't do this, just it seems to naturally be getting to a point where specialising is increasingly valued and makes more sense.
However I disagree that it is a critical problem to discover features and functionality, but whilst it can be challenging I don't really see what else Unity can do to ease it. There is simply too much to know/remember when looking at Unity as a whole, at best if you have a good memory you'll come across features and api methods that you think, 'that will be useful in the future' and make a mental note of it.
For reference I've seen and experienced the same issue over a decade ago when I was using Macromedia/Adobe Director ( multimedia application authoring platform ). Though admittedly it was not as bad as Unity, but Unity easily has a 'knowledge space' several times bigger than Director ever was.
As such while Unity could perhaps offer some additional resources to ease the pain of discoverability, it ultimatly comes down to the users learning how to efficiently find the information they want.
Apart from being able to perform good searches using search engines my approach to this is
1. Create a document ( or two ) where you make notes of interesting features or api's that you want to remember. Add url links to pages and a short note about the feature. I have several pages of features and notes that I 'intend' to look into when I get some spare time, and these are always available to refresh my memory when working on projects.
2. Periodically scan through the Unity package Manager and see whats on offer.
This isn't as fun as it used to be as Unity has cut back on the number of packages it has public, but can still throw up something interesting and useful for a project. In addition I check through the packages sub-forum here.
3. Read the Unity Blogs
Again not as useful ass they once were as the signal to noise ratio in terms of features/functionality has gotten shocking bad as of late, but it can still be eye opening to features you may have missed announcements about.
4. Read the forums.
I regularly spend a few hours a week just browsing through posts in various sub-forums that interest me, making a note in my docs about any new feature or cool api use that I hadn't used before.
5. Read the scripting manual (api)
Yes literally read the manual from time to time, discover interesting new API's that have been added, or focus on a specific class, e.g. if you have a camera component, check the camera api and look at all the methods to see what might be useful.
Ultimately if you need specific information about a feature or component api, then a simple search should get you the information you need. I haven't used Unity answers much if at all for nearly a decade, I prefer the forum, stackoverflow or scripting manual search results.
If there is a specific example you can provide for the difficulties you are facing, perhaps someone can offer a more direct solution.
Outside of people with unusually good memories this is completely normal. I have been programming for more than 27 years and I can't remember a single time when I didn't have a manual on hand to look up even trivial information.
I remember the time when I had the Microsoft C/C++ compiler manuals (yes, it had like 6 or more!) stacked on my desk and every time I had to look something up I first had to find the right book and then find the information in cryptic statements on something like page 791. FUN!
Opened this thread thinking it'd be about what Accessibility really means these days, ergo, to make things more accessible to those with handicaps.
Honestly OP I kinda feel like you're blaming your own trappings on Unity here, and expected to be handed all the information in the world to make game development a breeze. Thing is, it ain't, and there's no better teacher than personal experience.
Sometimes you won't find a ready made solution to a problem and you're just gonna have to come up with one yourself. That, or just ask the question on the forums here.
And yes you'll sometimes spend a lot of time working on a solution only to find there was a much easier one there the whole time. Again, that's just experience. Learn from it; move on.
Unity's got a comprehensive manual for the core stuff, manuals for each of the packages (of varying quality I will admit), and a thorough scripting API. Not to mention a billion tutorials made by all sorts that you can use to get your feet on the ground for a particular subject.
And as much as you learn from others, you need to teach yourself. You need to understand what you're doing more so than following what you did in lessons.
Keep it up, you'll get there.
I think that's the wrong focus. There's never really just one right way to solve a problem. There are usually 10 different ways to do the same thing and one method might work well in one situation but might not work in a different situation. Trying to come-up with a comprehensive list of methods is impossible. There are too many different possibilities and too many scenarios to account for everything. If such a list were possible to make it would be impossible to index and to memorize so it wouldn't be useful. If it were possible to make it useful then it could only tell you how to do things that have already been done before.
Instead of trying to learn "what's the method for doing this" or "what's the method for doing that", you should focus on learning the tools that you have available and how they work and what they do. Once you know the tools then you can solve any problem that comes your way.
Basically a programmers job is solving problems using the software tools that are available. Find the "way" to do things is always your job.
While Unity's documentation is surely lackluster in some parts, the animator is kinda a bad example. Really cannot imagine learning such a system from text and not from tutorial videos.
Using the animator is a bit like making art and that cannot be learned on a theoretical basis too well either.
Before I start a task I still google thinks I literally already know, out of habbit. I think the habbit of working with reference in hand is a good one to have - you never know if the API changed since last time you used it anyway