Overriding Non-Virtual Function in LocalPlayer

Hey there, I’m wanting to override the function “GetProjectionData” in LocalPlayer.

I’m a bit dumbfounded why it’s not a virtual function…

I’m needing it to send off a ControllerID to a HMD implementation (using splitscreen with a HMD Device or 4)

Code (.h)

#pragma once

#include "Engine.h"
#include "CoreUObject.h"

#include "MyLocalPlayer.generated.h"

UCLASS(BlueprintType, Blueprintable)
class ORBIVERSESANDBOX_API UMyLocalPlayer : public ULocalPlayer
{
	GENERATED_BODY()

public:
	bool GetProjectionData(FViewport* Viewport, EStereoscopicPass StereoPass, FSceneViewProjectionData& ProjectionData) const override;

};

EDIT: I’ve gone about this a different way using each players FOV (not used anyway), if you still want to solve this, go ahead.

One place to do this is to alter the ViewFamily by overriding UGameViewportClient::FinalizeViews, which is called after it’s set in ULocalPlayer.