SceneCaptureComponentCube linker error

I’m currently trying to update the content of a cubemap at the start of my level and then apply this updated texture to an object. However, I am running into a linker error when I try to update the component of a USceneCaptureComponentCube:

ASceneCaptureCube* cubemapCapture = GetWorld()->SpawnActor<ASceneCaptureCube>(SceneCaptureBlueprint, FVector(0.f, 0.f, 0.ff), FRotator(0.f, 0.f, 0.f));
cubemapCapture->CaptureComponentCube.Get()->UpdateContent();

and the error it throws is:

Error 1 error LNK2001: unresolved external symbol “public: void __cdecl USceneCaptureComponentCube::UpdateContent(void)” (?UpdateContent@USceneCaptureComponentCube@@QEAAXXZ)

I can access other items from the capture component cube such as the texture without build errors, however it gives me the linker error for UpdateContent. Ive tried adding a selection of header files but couldn’t seem to find one that worked. I even added:

#include "../../Engine/Source/Runtime/Engine/Classes/Components/SceneCaptureComponentCube.h"

I’ve had a quick look around and I’m not sure whether the UpdateContent() function is missing ENGINE_API at the start of it or not in the Engine source?

EDIT: Adding ENGINE_API to the function void UpdateContent(); has allowed it to build now.
For reference, this is line 31 of SceneCaptureComponentCube.h.

ENGINE_API was needed to allow the linker to have access to this function from my project. Not sure whether this is an Engine bug or I am not supposed to be calling this function (even though it is public).