GetRenderTargetTexture() on GameViewport works in editor mode, but returns 0 in standalone

UGameViewportClient* ViewportClient = WorldContextObject->GetWorld()->GetGameViewport();
FViewport* viewport = ViewportClient->Viewport;
const FIntPoint viewportSize = viewport->GetSizeXY();
TArray Pixels;
viewport->ReadPixels(Pixels);

RenderTarget->InitCustomFormat(NewWidth, NewHeight, PF_R8G8B8A8, false);
RenderTarget->SRGB = false;
RenderTarget->UpdateResource();

I’m working on reading the pixels in Viewport and copying them to the render target.

PIE works fine, but Standalone has Pixel’s data as 0,0,0,0

Does anyone know the cause??