If you have access to the 4.25 source, (and you are building the engine from source) you can add the iPhone SE yourself by copying where it is referenced. It is only referenced in three files, so it’s not that much work. I’ll list them here in case you don’t have access to 4.25.
IOSPlatformMisc.h: Add an ‘IOS_IPhoneSE2’ entry to the EIOSDevice enum (Around line 153, just before the IOS_Unknown entry)
.
.
.
IOS_IPodTouch7,
IOS_IPad7,
IOS_IPhoneSE2,
IOS_Unknown,
};
and also add it to the array of device names around line 208:
.
.
.
TEXT("IPodTouch7"),
TEXT("IPad7"),
TEXT("IPhoneSE2"),
TEXT("Unknown"),
};
IOSPlatformMisc.cpp: Add an ‘else’ to handle Major version 12, minor version 8 around line 633
else if (Major == 12)
{
if (Minor < 3)
{
DeviceType = IOS_IPhone11;
}
else if (Minor < 5)
{
DeviceType = IOS_IPhone11Pro;
}
else if (Minor < 7)
{
DeviceType = IOS_IPhone11ProMax;
}
else if ( Minor == 8 )
{
DeviceType = IOS_IPhoneSE2;
}
}
IOSPlatformApplicationMisc.cpp: add a case for the new device in ComputePhysicalScreenDensity around line 277
case FPlatformMisc::IOS_IPhoneXR:
case FPlatformMisc::IOS_IPhone11:
case FPlatformMisc::IOS_IPhoneSE2:
ScreenDensity = 326;
Accuracy = EScreenPhysicalAccuracy::Truth;
break;
And you will have to update the magic number at the top of the function so it matches the new value for IOS_Unknown:
static_assert( FPlatformMisc::EIOSDevice::IOS_Unknown == 46, "Every device needs to be handled here." );
If you’re using the prebuilt engine I’m afraid you will have to wait until your problematic plugin supports 4.25 and upgrade when it does.
Hope that helps,
Matt