Hi,
first off, thank you for responding 
I know about these additional IsValid checks, the reason I’m ignoring those in my question is that they are unreal-functions, just more complex versions, using more operations, and should probably only be used in special cases. Basically, if unreal always wanted you to use IsValidLowLevel() instead of IsValid(), the extra functionality within IsValidLowLevel() would just be in IsValid() instead, if that makes sense?
BUT since a normal nullptr check is native to c++, Unreal cannot remove that function.
So maybe I should formulate my question more like “Is Unreal’s IsValid() meant to always be used instead of a c++ nullptr check, or is it optional based on the situation?”
I guess sort of like the way Static_Cast<>() was created to always be used instead of c-style casting, regardless of the situation.
I doubt it will make much performance difference either, I’m mostly curious as to what people think is best practice 
From looking at Unreal source code, they definitely don’t use IsValid() all the time, ex:
void AActor::AttachToComponent(USceneComponent* Parent, const FAttachmentTransformRules& AttachmentRules, FName SocketName)
{
if (RootComponent && Parent)
{
RootComponent->AttachToComponent(Parent, AttachmentRules, SocketName);
}
}
oddly a few functions below that you have this:
void AActor::ForEachAttachedActors(TFunctionRef<bool(class AActor*)> Functor) const
{
if (RootComponent != nullptr)
{
...
And the syntax keeps swapping throughout Actor.cpp
So I guess their different coders don’t really have any standard in syntax they agree on either 0: