Hi everyone,
I’ve been digging into PlayerCameraManager.h and the built-in camera blending code for my custom third-person camera system, and one naming detail really confused me.
We all know Unreal’s rule:
Fprefix for plain USTRUCT value structsTprefix is reserved for template types likeTArray,TObjectPtr, etc.
But there is this struct:
USTRUCT(BlueprintType)
struct FTViewTarget
{
GENERATED_USTRUCT_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=TViewTarget)
TObjectPtr<class AActor> Target;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=TViewTarget)
struct FMinimalViewInfo POV;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=TViewTarget)
TObjectPtr<class APlayerState> PlayerState;
// ... rest of the definition
};
It’s a regular non-template struct, so logically I expected it to be named FViewTarget, following the same pattern as FViewTargetTransitionParams right nearby in the same header.
Instead it’s FTViewTarget. The category metadata is even TViewTarget.
I understand the leading F means it’s an F-struct. But what is the purpose of that capital T after the F here? Is it:
- Some old legacy shorthand from early UE4 days?
- An abbreviation for Target?
- Just an accidental historical naming inconsistency, with no special meaning?
I want to make sure I understand this correctly before I follow or avoid this pattern in my own camera state structs.
Thanks a lot for any insight from anyone who knows the history or the original intention here!