Search Unity

Unity Accessibility and inclusion

Discussion in 'General Discussion' started by maryllu, Jun 13, 2019.

  1. maryllu

    maryllu

    Unity Technologies

    Joined:
    Feb 1, 2018
    Posts:
    40
    It is not possible at this time without some major work (as some users above seem to have tried before). The issue in not that one key doesn't "work" it is more that many of the functions in screen reader software does not currently work in the Editor itself or at runtime. However it is very beneficial for us to hear what specific functionalities are most needed. Thanks and please keep posting any feedback you have. We truly appreciate it.
     
    BrewNCode likes this.
  2. techscouter

    techscouter

    Joined:
    Jan 14, 2018
    Posts:
    1
    Thank you very much for this accessibility and inclusion thread. Supporting accessibility at the game engine level (vs. by each developer individually or as 3rd-party plugin) could have a great impact.

    Just wanted to add my 2 cents for highly encouraging this approach. The feedback below is based on my experience developing a game engine library, Accessible Realities*, for blind accessibility (briefly described below).

    Some advantages of game engine support:
    • Development effort: developing accessibility support as a plugin using the resources (like: budget, expertise, developer hours) of a single developer or a small team is economically quite a challenge. Contributing (ideas, code, assets etc.) to accessibility support developed by a game engine company itself could be more effective in my opinion
    • Consistency: developers and players alike would know what to expect:
      • Consistent accessibility features behavior across games
      • Common ways to trigger and configure the features (menus/ gestures)
      • Shared vocabulary for easier communication of games’ supported accessibility features
    • Updates: keeping accessibility support in sync from day one with:
      • Future updates of the game engine itself
      • Future developments of partner platforms (consoles, mobile operating systems etc.)
    • Leveraging existing infrastructure for accessibility features:
      • Training (tutorials, sample code, courses)
      • Marketing materials (online, print, presentations)
      • Support channels (official and non official)
    • Best practices: usage of game engine company resources to gather input for, find, implement, define if needed and thoroughly test a best practice solution for each accessibility area
      • If I’m allowed to dream :) then... collaborate with additional industry players and even other game engine companies to formalize these best practices as industry standards
    • Security considerations as mentioned by @JamesArndt
    • Availability to developers: can be provided with no extra cost, conveniently included as part of the game engine itself. Making accessibility an integral part of game development.
    There are probably many other reasons for supporting accessibility at the game engine level.
    Thank you for this great initiative, it has the potential to bring a lot of value to game accessibility - so everyone can play!

    ---
    * A few words about Accessible Realities: it is a game engine blind accessibility software library. It enables developers to make video games and VR/AR/MR accessible for people who are blind or have low vision. It is still in alpha stage for more thorough testing. The library currently supports a different game engine (so I really hope it is OK to mention it briefly here for the purpose of this thread) but it looks like there are no barriers to support its features in Unity as well. This would enable a unified accessibility experience across games for end users no matter what is the origin of the game. Even if not fully supporting it in Unity, I think that checking out the following blog post could provide some useful generic blind accessibility ideas.

    I would be more than happy to further discuss any collaboration opportunities!

     
  3. SightlessKombat

    SightlessKombat

    Joined:
    Jul 14, 2019
    Posts:
    2
    Hi,
    Given that I'm new to the forum and had some accessibility issues signing up (requiring sighted assistance to check boxes that weren't accessible to screen readers and accessing elements that weren't labelled properly, I hope this reply comes through correctly.

    By way of an introduction, I'm an accessibility consultant and gamer without sight. I use the term "Gamer Without Sight" (GWS) as "legal blindness", often just shortened to being "blind", can and often does include usable and/or residual vision, which I've never had. I create content on YouTube and stream on Mixer, as well as writing reviews for games and gaming-related products, in addition to my primary method of consulting, namely visiting studios and speaking at events to network with developers on how to improve their products for GWS like myself.

    Now with that out of the way, here's my 2 cents as to Unity's need to be accessible.

    First off, I'm really glad that Unity is looking into becoming more accessible, in part because to GWS like myself, Unity has been a sore point for many years. Whenever I've asked developers "what engine is your game running in" and they say "Unity", the response has not only been one of frustration from myself, but the same from the developers in question as well given that, most of the time, they are aware of the inherent issues faced by screen readers wanting to hook into Unity's mechanisms. Altering the controls from the visual-oriented interface that has been commonplace for a very long time would not also ease the frustrations for screen reader users who want to try Unity for themselves, but also allow a consultant like myself to mock up prototypes to take to studios.

    Allow me to illustrate by way of an example:
    Numerous times when I've gone into studios, I've had an idea in terms of one of their current projects that really could work. However, said idea is difficult to put across without a demonstration of some kind.

    Instead of being able to go into Unity and put together a bunch of pre-made areas and objects to allow for a smooth and relatively playable prototype in a short period of time, I have to either create something from an existing game (modding a title for example with sounds from other titles to illustrate where I'm trying to go with the idea), or have no prototype at all, which can hamper my ability to get developers on board with the concept in the first place. The former alternative also limits my ability to accurately demonstrate new mechanics for instance that have never been used before and is not ideal when you, for instance, only have a few days to put something substantial together.

    Now, as to making the engine accessible (though I've not used it myself due to the things I've heard about how it works at present), the use of standard Windows controls (buttons, checkboxes, combo boxes, edit boxes etc), all being properly labelled with accurate text would be a great start. Also, not relying on moving and working with things with the mouse would be a great start too.

    As for accessibility of games made in the engine, allowing screen readers to hook in natively would be the best possible start I'd say. That would then open up the possibilities for narrated menus, spoken in-game UI elements and other information without the need for third-party assets. Of course there are likely other elements within Unity that I'm unaware of that would assist in making games more accessible with the engine, but until I can use it effectively for myself, I won't comment on that side of things.

    Should there be opportunities to test new builds of a more accessible Unity experience, I am happy and willing to consult on such matters as well as test builds to provide further feedback.

    I look forward to seeing where this initiative goes in the future and should you have further questions after reading my above post, feel free to ask.

    P.S. I'm not sure what the best way to embed links within this forum is, but I'm happy to edit my post after the fact to include footage of gameplay I've recorded and that might assist in clarifying how gaming without sight works from my perspective.
     
    ianhamilton_ and KlemensStrasser like this.
  4. maryllu

    maryllu

    Unity Technologies

    Joined:
    Feb 1, 2018
    Posts:
    40
    Thanks for this. I have been testing a bit. So far I have found two major issues:

    1. Navigating to Unity ID in the header area is difficult to access and the tab stops are not properly set. (this makes sign-in and account creation difficult)
    2. Navigating to the page content seems to be impossible (I *think* I found the associated bug on this one).

    So far I have just tested with Mac OS desktop VoiceOver the Chrome browser. I will test on Windows and other browsers as well.

    Any other tips are appreciated and will help us fix faster. Thanks!
     
    Socrates and mikrima like this.
  5. maryllu

    maryllu

    Unity Technologies

    Joined:
    Feb 1, 2018
    Posts:
    40
    Hi everyone,


    We are in the process of evolving the Unity Editor UX based on user feedback. This is the initial phase of a long term effort that will be released in multiple phases. One of our goals for the Editor is to ensure that it is accessible to a wider range of users and support a wider range of abilities.


    We invite you to try the beta release and share your feedback with us. We want to remind you that this is a work in progress, and we’re still iterating based on your input. Thank you for taking the time to try this prototype and share your thoughts.


    Here’s how to proceed:

    1. Download Unity Hub and install the Unity Beta Release Unity 2019.3.0a10.

    2. Install your extensions.

    3. Explore the Beta.

    4. We encourage you to use it for at least an hour, in common scenarios.

    5. Fill out this survey to tell us about your experience relative to the goals. The survey should only take 10-15 minutes to complete.
    Thank you for all the great comments on this channel as well. We appreciate your patience and support!
     
    SightlessKombat likes this.
  6. maryllu

    maryllu

    Unity Technologies

    Joined:
    Feb 1, 2018
    Posts:
    40
    Hey @JamesArndt if you would like to help make Unity a little better I have posted a survey below about he theming in the 19.3 release. https://forum.unity.com/threads/accessibility-and-inclusion.694477/page-2#post-4803467
     
    JamesArndt likes this.
  7. maryllu

    maryllu

    Unity Technologies

    Joined:
    Feb 1, 2018
    Posts:
    40
    Hey @McFunkypants we would love your two cents on the latest beta version for Unity: https://forum.unity.com/threads/accessibility-and-inclusion.694477/page-2#post-4803467
     
  8. SightlessKombat

    SightlessKombat

    Joined:
    Jul 14, 2019
    Posts:
    2
    @marylluJust wanted to take the time to say that, whilst signing up on Edge on Windows 10 via NVDA, checkboxes did not read correctly with the screen reader. Think this was my main problem, though without going through the sign-up process again, I can't be entirely sure.
    Also, I wanted to download the Unity hub as per your instructions above, but the instructions you provided do not seem to correlate very well to what you can actually download, as the Unity beta page just brings you to a sign-up process and not a way to download/install the unity hub with a certain beta.


    I look forward to being able to test any changes in the near future, of course given the editor and other Unity elements have the correct accessibility in place.
     
  9. Lom0graphic

    Lom0graphic

    Joined:
    Feb 2, 2018
    Posts:
    1
    Just stumbled across this thread after seeing "UnityEngine.Accessibility" popping up in the documentation, and googling it. I've been out of the Unity Accessibility game for a few months, due to other projects, but I've started to dive back into things. I'm a visually impaired/partially sighted developer/technologist that has been diving in to Unity Accessibility for the past few months.

    It's quite amazing to see the amount of people working on this, and who have been diving into accessibility within Unity, and official recognition of this is great to see!

    At the agency I work for, we typically use Unity for Augmented and Virtual Reality, so my work has been catered towards improving the accessibility of AR and VR experiences, rather than UI elements. I've been looking towards trying to create a set of extensions that could easily be dropped into any project, with little effort required from a developer. I think my requests/thoughts probably echo a lot of what I've seen in this thread already, but nonetheless, I feel it's worth sharing them.

    On the editor side, as a lot of people have suggested, having customisable font sizes would make life a lot easier. I found myself installing an extension from the asset store that allowed me to customise the font size of the console, which made debugging easier. However, being able to change or adjust font sizes globally, and without the need to turn to a third party would make things a lot easier. Having customisable colours, or high contrast modes would make life easier too.

    In terms of the actual engine, APIs, much like others have said, having native exposure to on-device accessibility services would be amazing. Much like others here, I've found myself tapping in to native APIs for Android, iOS in a "hack-y" way, rather than in a clean, and best practice way. A wishlist of features would be as follows for me:
    • Being able to detect whether the user is using accessibility features and if possible, what kind of features are they using - e.g. switch control, vision enhancements/aids, reduced motion.
    • Making Unity UI elements accessible, and embracing native UI gestures when a user has accessibility services enabled. (VoiceOver on iOS, and TalkBack on Android both tweak the way user input works, making Unity aware of this, along with exposing the UI elements to these services). Providing an API, or other method for developers who forgo Unity's UI, and roll their own UI to offer the same functionality would also be a huuge bonus! I wonder if it's also worth making Unity's UI a bit more reactive, tying into my first point about detecting accessibility settings and then modifying the UI as needed. (e.g. larger text, making things high contrast etc.)
    • Method for interacting with native speech synthesisers, or offering text to speech functionality. - I've currently got a simple set up that ties into the native iOS and Android speech synthesisers, however, it's not completely graceful, and running w/ VoiceOver or TalkBack on will occasionally make it fall and stumble if something happens outside of Unity (e.g. a notification). A way of handling multiple requests to the speech synthesiser would be a cherry on top. I've currently had to roll my own solution to this on top of tying into Native APIs
    • Specialised/tiered Raycasting - I'm not sure whether I've titled this correctly. The method I've used to make objects in VR and AR accessible, along with the method used within Microsoft's SeeingVRToolkit relies upon raycasting to get feedback to and from the camera (which is typically where the user is looking or facing). I wonder if it's worth considering breaking out or having a tiered raycast system that allows certain casts to be placed into their own "accessibility" tier/group, and ran constantly, whilst other raycasts could be grouped together and ran only when needed.
    • Specialised accessibility components - In my suite of extensions, I've put together small scripts/components to handle things like object descriptions that can be read out, this could be a package that gets imported into Unity, and the adds in additional features that'd aid with the process of making games or experiences accessible!
    I currently can't think of any additional stand out features that come to mind as immediate wants or requests, however I'll amend/edit this post if any late-breaking ideas hit me!

    Whilst I've not publicised any of my code just yet, I'd be happy to share it (in all of it's messy glory!), along with my findings and approaches to dealing with certain issues. You can reach me via email here.

    This is a general question, but might be best answered by @maryllu - is it worth spinning up a slack team, or potentially a channel on the official Unity Discord. It seems like there is quite a bit of a community here, or a number of people working towards the same goal, and I wonder if it'd be a good idea to capitalise on that and create a place to share information/feedback and interact with the teams working on this within Unity.

    Hopefully this will be of some help, I'd love to be involved with any testing/feedback processes!
     
    brennanyoung and techscouter like this.
  10. ogomez92

    ogomez92

    Joined:
    Dec 8, 2019
    Posts:
    1
    Any news on this? I'm also blind and would love to start using Unity, but so far every post I've seen on Google is very negative when it comes to accessibility for screen readers.
     
    maryllu likes this.
  11. Zagan66

    Zagan66

    Joined:
    Dec 8, 2019
    Posts:
    1
    Ok, so I just installed Unity because I wanted to make a simple cube with a different image on each side. Sounded like it should be simple enough right? Well no, not at all. In fact it's quite difficult, much more difficult than it needs to be. Why can't you guys make it simple? Like you just can paste an image on each side of the cube or any shape for that matter. I asked people how to do it and nobody seemed to know because it was over their head as well. I looked on the web for a tutorial, nothing. I found one brief page that said something about a script and atlas, but did not go into enough detail to actually be helpful.

    My point is if you want people to be able to use something you make "Keep it simple stupid" is what we used to say in the military. Your program is not intuitive at all. Get some people that have never used anything like it and let them try and figure it out. When you have made it easy enough to understand that they can use it out of the box, then you are getting somewhere. Or you can leave it like it is and only a few people will ever mess with it. Personally, I'm deleting it because it's just a headache every time I open it.
     
  12. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    6,496
    So you refused to learn even the basics of working in 3D and decided that this was the engine's fault?
     
    Joe-Censored likes this.
  13. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,156
    Ma dude you're in for a rude awakening. . .

    This is considered the standard practice which is necessary even with tools like substance painter or armor paint. (And this is a simple geometric shape wait till you get into animation / texturing / retopo'ing of humanoid figures and the like)

     
    Last edited: Dec 11, 2019
    Joe-Censored likes this.
  14. marty_objectiveed

    marty_objectiveed

    Joined:
    Dec 23, 2019
    Posts:
    1
    Our company, ObjectiveEd, provides UNITY-based educational games for blind and visually impaired pre-K through 12th grade students. We would love to share our experiences with developers and product managers at UNITY. Please contact me.
     
    Ferazel likes this.
  15. CaptnBlynd

    CaptnBlynd

    Joined:
    Jan 11, 2020
    Posts:
    1
    My work around for the small fonts:
    I am legally blind and used to coming up with my own solutions and this one may give a path for a Unity approach to the problem, might not. I simply drag my tool and utility windows to monitors 2 and 3, which I set to low resolution. The type does not need high res and the text is larger.
    Would it be possible to make the displayed resolution on these windows selectable? That would give users the choice of "font size" without having to directly address the fonts.
     
    Teila likes this.
  16. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,790
    I tried that too but I found I needed both my monitors at regular resolution or I had issues. I need a third monitor I think. :)
    Honestly, the font seems smaller in 2019 and harder to read. :(
     
  17. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    6,496
    I find it helps if you switch from the default font to the other one, but only marginally.
     
  18. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,790
    The other one? I do not know of another font. Where do I do that?
     
  19. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    6,496
    I've uninstalled 2019.3.x because it's in a bit of a state, but in the 2019.3 version of the preferences dialogue you can select between the new font and verdana. It also helps solve some of the weird font rendering issues where they get rendered too thick.
     
  20. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,790
    Thanks. Not ready for 2019.3 as it is not recommended with Atavism yet. But soon hopefully. :) Appreciate the info, Murgilod.
     
  21. gferrari

    gferrari

    Joined:
    Jan 14, 2015
    Posts:
    116
    I would love to, if it is true that Unity cares about the issue of accessibility that includes the dark theme for everyone. I still don't understand the argument as to why they don't do it because it doesn't provide any technical improvement, but if it's an improvement in accessibility for people who work in different types of environments or simply their eyes need better contrasts. I read several posts on this subject but I can't find any answer that explains why Unity doesn't want to include it. Maybe it's something I'm not seeing and a good answer would help me understand it. Thank you