RichmarIII
(Richard Marcoux III)
April 27, 2020, 4:19am
768
Obihb:
I guess my question is related to the one **offmonreal asked which I wonder if there is some way that someone found to detect the Xbox system type from Blueprints at all. Meaning, I’d like to check for XBOne or XBOneX to tweak some graphics settings based on the hardware. I kind of assume this is not available “officially” through some node but wonder if someone found a way.
Basically what I need to do is change the screen percentage for the XBOne since GPU there is WAY weaker than the X. So currently I tried to detect slow down by checking the tick rate ms value. This kinda works but I feel like it’s unreliable. I don’t really know any other method. I could check for supported resolutions since the X support to 4k but by running an X on a 1080p screen, the engine only detects 1080p, not 4k as resolution. I also don’t know how to force 4k in that case since the X can render at 4k and then down sample to 1080p on the hardware side. But by default if the X is on a 1080p screen the engine will only go to 1080p even if I try to setres, to 4k. But anyway, my main question is to detect the system in some way if there is a way, using blueprints, if anyone knows.**
Yes, that can be done in code by checking
auto DeviceForm = FString(Windows::System::Profile::AnalyticsInfo::DeviceForm->Data()).ToLower();
if(DeviceForm.Contains("xbox one x"))
//Device Is XBox One X
else if(DeviceForm.Contains("xbox"))
//Device Is XBox One
else
//Device Is Other Non-XBox Device
This functionality can then easily be exposed to Blueprint via a static function in a BlueprintFunctionLibrary