C++で独自のAnimInstanceから再生しているアニムモンタージュの情報を得るための関数を作りたい

どうもお世話になります
UAnimMontageのGetSectionLengthGetSectionMetaDataをC++で拡張したAnimInstanceから呼びだそうとしています
C++については全く知識がなく、ソースコードを読んで見よう見まねで書いてみてなんとか目的の動作までこぎつけました
なので自分の記述が果たして正しい物かどうかに自信が持てず、下記のコードが間違っていないかどうかを見てもらいたくて投稿しました
変な質問かもしれませんがよろしくお願いします

UAnimInstance.h

#pragma once

#include "Animation/AnimInstance.h"
#include "MyAnimInstance.generated.h"

/**
 * 
 */
UCLASS()
class AITEST411_API UMyAnimInstance : public UAnimInstance
{
	GENERATED_BODY()

public:

	UFUNCTION(BlueprintCallable, Category = "MyFunction")
	float GetCurrentSectionLength(UAnimMontage * Montage, FName SectionName);

	UFUNCTION(BlueprintCallable, Category = "MyFunction")
	TArray< class UAnimMetaData * > GetCurrentMetaData(UAnimMontage * Montage, FName PlayingSection);

};

UAnimInstance.cpp

#include "AItest411.h"
#include "MyAnimInstance.h"

float UMyAnimInstance::GetCurrentSectionLength(UAnimMontage * Montage, FName SectionName)
{
	int32 SectionIndex = Montage->GetSectionIndex(SectionName);

	return Montage->GetSectionLength(SectionIndex);
}

TArray< class UAnimMetaData * > UMyAnimInstance::GetCurrentMetaData(UAnimMontage * Montage, FName PlyaingSection)
{

	FName SectionName = PlyaingSection;

	return Montage->GetSectionMetaData(SectionName);

}

C++のコードについて日本だと触られてる方が少ないと思うので海外の方で聞いてみてはどうでしょうか?
英語で質問をしないといけないかもしれませんが、ここよりは回答率が高まると思いますので検討してみてください。

回答ありがとうございます
早速質問しに行こうと思います
後ほどここでも続報という形で報告させていただきます

(Sorry for my poor Englishは勇気を持つための魔法の言葉!)

GetSectionLength,GetSectionMetadata in UMyAnimInstance
こちらでも質問させていただきました
続報があり次第こちらでも報告します

長らく未解決のままにして申し訳ありません
上記のコードで問題なく使用できていましたが、もっと簡易な方法がtwitteであったのでそちらを使うことにしました
具体的な方法は独自のAnimNotifyBPを作成し変数を編集可能にする
アニメーションの通知にそのAnimNotifyを配置して変数を設定する
ReceiveNotify関数からその変数をAnimInstanceに渡してあげる
というものです