Cant compile to save my life / GENERATED_BODY() stops compiling

You are missing dependencies for the use of: RHIGetAvailableResolutions( ) and FScreenResolutionArray.

[GameName.Build.cs]



PublicDependencyModuleNames.AddRange(new string] { "Core", "CoreUObject", "Engine", "InputCore", "RHI" });


[h]



#pragma once
#include "UObject/NoExportTypes.h"
#include "Display.generated.h"

USTRUCT(BlueprintType)
struct FDisplayInfo
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = DisplayInfo)
	int32 Width;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = DisplayInfo)
	int32 Height;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = DisplayInfo)
	int32 RefreshRate;

	FDisplayInfo()
	{
		Width = Height = RefreshRate = 0;
	}
};

UCLASS( )
class F133110_API UDisplay : public UObject
{
	GENERATED_BODY( )
public:
	UDisplay( );

	UFUNCTION(BlueprintPure, Category = Utility)
	TArray<struct FDisplayInfo> GetDisplayResolutions();
};



**[cpp]
**



#include "F133110.h"
#include "Runtime/RHI/Public/DynamicRHI.h"
#include "Runtime/NullDrv/Public/NullRHI.h"
#include "Display.h"

UDisplay::UDisplay( )
{
}

TArray<FDisplayInfo> UDisplay::GetDisplayResolutions( )
{
	TArray<FDisplayInfo> ResolutionsToReturn;	
	FScreenResolutionArray Resolutions;
	if( RHIGetAvailableResolutions( Resolutions, false ) )
	{
		for( FScreenResolutionRHI RHI : Resolutions )
		{
			FDisplayInfo DisplayInfo;
			DisplayInfo.Width = RHI.Width;
			DisplayInfo.Height = RHI.Height;
			DisplayInfo.RefreshRate = RHI.RefreshRate;
			ResolutionsToReturn.Add( DisplayInfo );
		}
	}
	
	return ResolutionsToReturn;
}