언리얼을 공부하면서 눈에 띄는 특징은 null체크를 굉장히 많이 한다는 점이었다.
유니티를 다룰 때도 물론 null체크를 안하는 건 아니었지만 언리얼에서는 복합데이터 형식의 지역변수를 선언할 때마다 null 체크를 필수적으로 하는 경우가 많았다.
if (ILyraTeamAgentInterface* ControllerAsTeamProvider = Cast<ILyraTeamAgentInterface>(NewController))
{
MyTeamID = ControllerAsTeamProvider->GetGenericTeamId();
ControllerAsTeamProvider->GetTeamChangedDelegateChecked().AddDynamic(this, &ThisClass::OnControllerChangedTeam);
}
ULyraAbilitySystemComponent* LyraASC = GetLyraAbilitySystemComponent();
check(LyraASC);