Which one is a strong pointer?

I want to reference the actor from a FHitResult struct where the hit AActor is a TWeakObjectPtr in the struct.

if I call get on it and assign it to a naked pointer say AActor* HitActor. The HitActor pointer goes null arbitrarily.

I assume this is beacuse AActor* HitActor is not a UPROPERTY ?

so which of the following is a strong pointer that wont go null unexpectedly:
AActor* RawPointer

TShared SharedPtr

UPROPERTY ()
AActor* RawUpropertyPointer

not for sure if this is what you are looking for, but the Hit Result has two functions, one GetActor, and another GetComponent, which will return a pointer ( I mean I don’t care if it’s strong, weak, in between, or simply, a pointer to a memory location that the computer actually understands, and not the C++ horse hockey, that obscures the machine). This has always been a good pointer for me.

.