How can I detect Android device graphics capability?
I'm developing a 3D game with real-time lighting that runs really well on middle and top-spec Android phones, such as Pixel 2, 3 or 4 or Samsung Galaxy S6 to S10, but struggles to keep up on some of the budget phones with less powerful hardware.
I have made an option in the menu to reduce some of the graphics effects, but I'd like to be able to detect if the Android device my game is running on has a good GPU or supports hardware acceleration and then set my lighting and animation effects automatically.
Is there a reliable way to programmatically detect this kind of device feature across the 10,000+ Android devices out there? Or is there a good way to draw a line between devices of a certain performance level?
I have looked at the SystemInfo API but I'm not sure which fields would be the most helpful here: https://docs.unity3d.com/ScriptReference/SystemInfo.html
Does anyone have any advice on this?