Manged to find a (gross) work around for now. If there’s a better way to do this, would love to hear it!
void APFCharacter::OnPreSave(URamaSaveComponent* SaveComponent)
{
if (AI_alarm != nullptr)
AI_alarmName = AI_alarm->GetFName();
}
void APFCharacter::OnFullyLoaded(URamaSaveComponent* SaveComponent, FString LevelPackageName)
{
if (AI_alarmName != NAME_None)
{
for (TActorIterator<AAlarm> ActorItr(GetWorld()); ActorItr; ++ActorItr)
{
if (AI_alarmName == ActorItr->GetFName())
AI_alarm = *ActorItr;
}
}
}