Ok I found out how to set the TScriptInterface’s interface to another interface. Thank you very much for you assistance! Example for better explanation below:
Called when the game starts or when spawned
void ALeverActor::BeginPlay()
{
Super::BeginPlay();
//Since I'm doing this only in BeginPlay,
//I'm gonna make a temp variable that gets deleted after BeginPlay is called
IMyInterface* tempMyInterface = nullptr;
tempMyInterface = Cast<IMyInterface>(this);
//Both of these have to be set!
SelfInterface.SetInterface(tempMyInterface);
//Since I'm getting the interface in self/this I'm setting the object for this.
SelfInterface.SetObject(this);
if (SelfInterface)
{
UE_LOG(LogTemp, Warning, TEXT("SelfInterface is valid"));
}
}