UMG animation in c++?

Hi,
I am trying to create UMG animation in pure C++. This is my code, but doesn’t work.

UWidgetAnimation* WidgetAnim = GetAnimationByName("FadeOut");

	if (WidgetAnim)
	{

				UCanvasPanel* RootPanel = Cast<UCanvasPanel>(GetWidgetFromName(FName(TEXT("CanvasPanel_0"))));

		UMovieScene* Movie = WidgetAnim->GetMovieScene();
		FGuid TrackComponent_Guid = Movie->AddPossessable(TEXT("TextTrack"), RootPanel->GetClass()); // button section

		UMovieScenePropertyTrack* Track = Cast<UMovieScenePropertyTrack>(Movie->AddTrack(UMovieScenePropertyTrack::StaticClass(), TrackComponent_Guid));

		Track->SetPropertyNameAndPath(TEXT("Render Opacity"), TEXT("Render Opacity"));
		UMovieSceneFloatSection* FovSection = Cast<UMovieSceneFloatSection>(Track->CreateNewSection());
		Track->AddSection(*FovSection);

// Try to set frame range, BUT I don't know whether it works or not
		FFrameNumber starttime = FFrameNumber(1);
		FFrameNumber endtime = FFrameNumber(24);

		FovSection->SetStartFrame(TRangeBound<FFrameNumber>(starttime)); 
		FovSection->SetEndFrame(TRangeBound<FFrameNumber>(endtime)); 
	}

1, I put it in NativeConstruct, but get error. Where should I put it?

2, I don’t know how to add key frame point, like “Render Opacity” from 1 to 0.

Any idea?

Thank you!