Finding the font scale value on iOS
This refers to the system value found on an iOS device by going to: Settings > Accessibility > Display & Text Size > Larger Text.
With iOS it took a bit of time to really find how it was set. I discovered preferredContentSizeCategory
in the Apple developer documentation, and with a little bit of Objective C and creating an iOS Unity plugin, managed to return values we needed.
It returns constants on what the user has set in their system preferences, which will then allow you to set an appropriate scale.
Here's the full list of constants I found.
UICTContentSizeCategoryXS
UICTContentSizeCategoryS
UICTContentSizeCategoryM
UICTContentSizeCategoryL
UICTContentSizeCategoryXL
UICTContentSizeCategoryXXL
UICTContentSizeCategoryXXXL
// (This is larger than UICTContentSizeCategoryXXXL)
// and is when the "Larger Accessibility Sizes" button is toggled
UICTContentSizeCategoryAccessibilityM
UICTContentSizeCategoryAccessibilityL
UICTContentSizeCategoryAccessibilityXL
UICTContentSizeCategoryAccessibilityXXL
UICTContentSizeCategoryAccessibilityXXXL
Finding the font scale value in Android
This refers to the Android system font size value.
For Android, there is something similar but it provided an actual scale value we could utilise as opposed to constants like in iOS.
Reading the documentation I was able to find fontScale
which helped to provide a value back into Unity with another custom plugin.