Chamar evento só quando necessário

Criei uma lógica básica para verificar se o Player interagiu com 2 “Actors” na cena para então abrir uma porta. A função em si está funcionando, porém estou enfrentando problemas para verificar a função, pois se colocado no “Event Begin Play” ele só verifica a função no começo do jogo. Como que eu chamo a função só quando eu precisar? Sei que a função está funcionando, pois testei com o “Event Tick”, porém ele chama a todo “frame” o que fica muito ‘‘caro’’ pro jogo.

OBS: O “CustomEvent” também eu teria que chamá-lo em algum momento e não poderia ser somente no começo do jogo.

Como você está fazendo?

Eu faria dessa forma:
1 - No Player ( ou onde você tem a função de interação ) verificaria se já houve interação com o outro Actor, caso houver, chamaria a função direto da interação. Assim ela só seria chamada caso fosse preciso.

Nesse vídeo tem um exemplo parecido:

Opa Solid. Agradeço já pela ajuda, porém ainda não testei seu método por falta de tempo.
Estou fazendo da seguinte maneira: Criei a função de checar se o Player interagiu com os Actors dentro do GameModeBase. E as portas possuem uma timeline dentro da BP das mesmas que será tocada após a função ser chamada. Na parte de interação do Player, ele interage com o actor em si e dentro da BP do actor eu faço uma comunicação dele com o GameModeBase.
Resumo: BP_ActorParaInteração (incremento os números qnd o player interage); BP das portas para tocar a TimeLine em certo momento; MyGameModeBase para a função de checagem.