-
Add accessibility to your Unity games
Learn how you can make your Unity games accessible on Apple platforms using our open source Accessibility plug-in. Follow along as we add support for assistive technologies like VoiceOver and Switch Control to a sample Unity game project. We'll show you how you can automatically scale text with Dynamic Type, support interface accommodations like reduced transparency or increased contrast, and more.
Recursos
Videos relacionados
WWDC22
-
Buscar este video…
-
-
7:43 - PlayingCard enum
public enum PlayingCard { AceOfSpade, AceOfClubs, AceOfDiamonds } -
7:53 - AccessibleCard class
using Apple.Accessibility; public class AccessibleCard : MonoBehaviour { public PlayingCard cardType; public bool isCovered; void Start() { var accessibilityNode = GetComponent<AccessibilityNode>(); accessibilityNode.accessibilityValueDelegate = () => { if (isCovered) { return "covered"; } if (cardType == PlayingCard.AceOfSpades) { return "Ace of Spades"; } } } } -
10:35 - DynamicCardFaces
public class DynamicCardFaces : MonoBehaviour { public Material RegularMaterial; public Material LargeMaterial; void OnEnable() { AccessibilitySettings.onPreferredTextSizesChanged += _settingsChanged; } void _settingsChanged() { var shouldUseLarge = AccessibilitySettings.PreferredContentSizeCategory >= ContentSizeCategory.AccessibilityMedium; GetComponent<Renderer>().material = shouldUseLarge ? RegularMaterial : LargeMaterial; } } -
10:36 - Dynamic Type
using UnityEngine.UI; public class DynamicTextSize : MonoBehaviour { int originalSize; void Start() { originalSize = GetComponent<Text>().textSize; } void OnEnable() { AccessibilitySettings.onPreferredTextSizesChanged += _settingsChanged; } void _settingsChanged() { GetComponent<Text>().textSize = (int)(originalSize * AccessibilitySettings.PreferredContentSizeMultiplier); } } -
14:54 - Reduce motion
using Apple.Accessibility; public class CardController : MonoBehaviour { public void Flip() { var reduceMotionOn = !AccessibilitySettings.IsReduceMotionEnabled; if (!reduceMotionOn) { StartCoroutine(Animate()); } else { transform.rotation = Quaternion.identify; } } IEnumerator Animate() { } }
-