When i start eu4 it crashes

I prefer to use nullptr, in some cases you might need to use ptr->IsValidLowLevel() to check if its valid in ue 4, because a pointer might not be null but pointing to bad data.

if ptr is nullptr and I use IsValidLowLevel() will it crash?

Inside of the function he checks if this is null, but i don’t trust that because you are calling a function from a null pointer, so i always check if it’s nullptr before calling IsValidLowLevel