When to include full vs short header paths?

Simple question:

When including engine code, when does the full path need to be included vs just the .h?
I’ve noticed many things bounce back and fourth but can’t put my finger on which paths can be shortened and which require the full path.

#include "Runtime/Core/Public/Templates/SharedPointer.h"
#include "SharedPointer.h"

It depends on what is in your Public Include Directories vs what isn’t. That’s the entire difference.

I think you should specify paths relative to their Public directories unless you are in a strong need to do otherwise…