Thanks for all the help. I found a really simple solution for this problem. Here’s the source code if anyone comes across the same situation
// Move window to the corresponding monitor
if (GEngine && GEngine->GameViewport) {
int MonitorNumber = 1;
FParse::Value(FCommandLine::Get(), L"monitor=", MonitorNumber);
FDisplayMetrics Display;
FDisplayMetrics::GetDisplayMetrics(Display);
int8 MonitorIndex = MonitorNumber - 1;
int32 CurrentMonitorWidth = Display.MonitorInfo[MonitorIndex].NativeWidth;
float WidthPosition = (MonitorIndex)*Display.PrimaryDisplayWidth - CurrentMonitorWidth;
float HeightPosition = 0.0f;
FVector2D WindowPosition = FVector2D(WidthPosition, 0.f);
GEngine->GameViewport->GetWindow()->MoveWindowTo(WindowPosition);
}