VoipListenerSynthComponentは FVoiceEngineImpl::SubmitRemoteVoiceData にOwner指定なしで生成され、OuterはTransientとして生成されます。
RemoteTalkerが設定されている場合、同関数内のApplyVoiceSetting呼び出し内でSynthComponentはAudioComponentを生成し、
FVoiceSettings::ComponentToAttachToが設定されている場合、SynthComponentが保持するAudioComponentだけをRegisterComponentWithWorldに登録します。
この状態でレベル遷移を行うと、AudioComponentはSynthComponentから強参照されているためGCされませんが、
Worldには紐付いているため、
void FScene::Release()でEnsureし、以下のログを出力します。
LogOutputDevice: Error: Ensure condition failed: !ActorComponent->IsRegistered() || ActorComponent->GetScene() != this [File:Z:\perforce\Game\Engine\Source\Runtime\Renderer\Private\RendererScene.cpp] [Line: 2733]
LogOutputDevice: Error: Component Name: AudioComponent /Engine/Transient.VoipListenerSynthComponent_5:AudioComponent_0 World Name: World None.None Component Asset: /Engine/Transient.VoipListenerSynthComponent_5:Synth
FScene::Releaseの内部のチェックはDevelopmentビルドでだけ有効になるので、クリティカルな問題ではありませんが、
これらの問題を回避するためにVoip関連のAPI呼び出しやレベル遷移時の後始末に特定の方法が必要になるのであればご教示いただけると幸いです。