However, within the solution, the poster said not to use this method because it is very easy to misclassify devices which is why I’m looking for any alternatives.
The reason why I’m looking for this is that I want different UI to instance depending on the player’s platform. For example, World Zero has a custom UI for mobile users, when compared to PC users.
For mobile UI I tend to use a mix of UserInputService.InputChanged (I check for the Touch UserInputType) and then a mix of the screens resolution in pixels. You can get resolution with Camera.ViewportSize.
It must depend on the specific model of laptop then because it returns true on my laptop. Either way it would still be a better practice to check for a keyboard because you can’t have a keyboard on a phone but you can have a touchscreen on a computer.