How to create a Custom Scaling Rule Class?

Simple answer:
You want your DPI Curve to always return 1.0 which will look like a flat horizontal line.
Edit your DPI Curve so it has two points:
Resolution: 0, Scale: 1.0 and Resolution 8000, Scale: 1.0
Set the DPI Scale Rule to Shortest Side, Longest Side, Horizontal, or Vertical. Do not set it to Scale to Fit nor Custom.

Advanced answer:
To create a Custom Scaling Rule Class, make a C++ Class inheriting from UDPICustomScalingRule. Declare an override for GetDPIScaleBasedOnSize(FIntPoint Size) and implement it to return a float representing the DPI Scale. The input parameter named Size should be the current screen resolution (Size.X = Width in pixels, Size.Y = Height in pixels). Take a look at UUserInterfaceSettings::GetDPIScaleBasedOnSize() and UUserInterfaceSettings::CalculateScale() if you want to read the default implementation.

2 Likes