Hey guys.
I found a bug about screen resolution on android device.
As you know, you need to configure “r.MobileContentScaleFactor” in DefaultDeviceProfiles.ini when you want to change resolution scale.
Setting Device Profiles | Unreal Engine Documentation explains it. (very simply… anyway)
I’ve tried to set ACTUAL resolution of device. (1:1 pixel scale) and I found following code in AndroidWindow.cpp
// CSF is a multiplier to 1280x720
static IConsoleVariable* CVar = IConsoleManager::Get().FindConsoleVariable(TEXT("r.MobileContentScaleFactor"));
float RequestedContentScaleFactor = CVar->GetFloat();
// 0 means to use native size
int32 Width, Height;
if (RequestedContentScaleFactor == 0.0f)
{
Width = MaxWidth;
Height = MaxHeight;
UE_LOG(LogAndroid, Log, TEXT("Setting Width=%d and Height=%d (requested scale = 0 = auto)"), Width, Height);
}
So, I set it in DefaultDeviceProfiles.ini
[Android DeviceProfile]
+CVars=r.MobileContentScaleFactor=0
but, IT DIDN’T WORK.
so, I followed the log using logcat and found wrong sequence of initializing. (my device’s resolution is 1920x1200)
This is wrong, right?
I’ve solved this problem to set r.MobileContentScaleFactor value to DefaultEngine.ini. (DefaultEnging.ini is read before calling FAndroidWindow::GetScreenRect())
but I know this is weird solution.
is there any solution except modifying DefaultEngine.ini?