We’re using the EOSVoiceChat plugin in Unreal Engine 5.5.4, and our game is currently in Early Access on both Steam and the Epic Games Store.
We’re on the latest EOS SDK, and for Steam we’re only using EOS Connect (not EOS Link).
Voice chat rooms are created using Lobby Sessions with the “Enable Voice Chat if Available” option enabled.
-
Steam-to-Steam voice chat works fine.
-
Epic-to-Epic voice chat also works fine.
-
However, if an Epic Games Store client creates a voice chat room and a Steam client tries to join, the Steam client crashes.
-
Similarly, if a Steam client creates a voice chat room and an Epic Games Store client joins, the Steam client crashes as well.
Has anyone else experienced this issue, or found a workaround? Any help would be greatly appreciated.
Here’s log before crash:
[226]LogEOSVoiceChat: [0000019A0785C9B0] OnChannelParticipantJoined ChannelName=[conf+1894635923] PlayerName=[00021f6cb618427baa6ec1c45fe9e4e8]
[226]LogEOSSDK: LogEOSRTC: RTCAudio UpdateReceiving. Target=[000…4e8] State=[Enabled] LocalProductUserId=[000…afc] RoomName=[conf+1894635923]
[226]LogEOSVoiceChat: [0000019A0785C9B0] OnUpdateReceiving ChannelName=[conf+1894635923] PlayerName=[00021f6cb618427baa6ec1c45fe9e4e8] Success
[226]LogEOSSDK: LogEOSRTC: RTCAudio UpdatedParticipantState ParticipantId=[000…4e8] subscribed=[No] volume=[50.000000]
[226]LogEOSVoiceChat: [0000019A0785C9B0] OnUpdateParticipantVolume ChannelName=[conf+1894635923] PlayerName=[00021f6cb618427baa6ec1c45fe9e4e8] Success
[226]LogEOSSDK: LogEOSRTC: RTCRoom BlockParticipant. ParticipantId=[000…4e8] State=[Unblocked] LocalProductUserId=[000…afc] RoomName=[conf+1894635923]
[226]LogEOSSDK: LogEOSRTC: RTCRoom Participant block according to block list status and client explicit block. Result=[EOS_Success] ParticipantId=[000…4e8] InBlockList=[true] ExplicitBlock=[false] Applied=[blocked]
[226]LogEOSSDK: LogEOSRTC: RTCRoom BlockParticipantPrivate. ParticipantId=[000…4e8] State=[Blocked] LocalProductUserId=[000…afc] RoomName=[conf+1894635923]
[226]LogEOSSDK: LogEOSRTC: RTCAudio UpdatedParticipantState ParticipantId=[000…4e8] subscribed=[Yes] volume=[not set]
[227]LogEOSSDK: LogEOSRTC: RTCRoom Participant block according to block list status and client explicit block. Result=[EOS_Success] ParticipantId=[000…4e8] InBlockList=[true] ExplicitBlock=[false] Applied=[blocked]
[227]LogEOSSDK: LogEOSRTC: RTCRoom BlockParticipantPrivate. ParticipantId=[000…4e8] State=[Unblocked] LocalProductUserId=[000…afc] RoomName=[conf+1894635923]
[227]LogEOSSDK: Warning: LogEOSRTC: RTCRoom failed to unblock participant because participant is in user’s block list. ParticipantId=[000…4e8] LocalProductUserId=[000…afc] RoomName=[conf+1894635923]
[227]LogEOSVoiceChat: Warning: [0000019A0785C9B0] OnBlockUser ChannelName=[conf+1894635923] PlayerName=[00021f6cb618427baa6ec1c45fe9e4e8] Block=[0] failed error=[EOS_RTC_UserIsInBlocklist]
Here’s call stack :
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_RTCAudio_OutputDeviceInformation_Release
EOSSDK_Win64_Shipping!EOS_RTCAudio_OutputDeviceInformation_Release
EOSSDK_Win64_Shipping!EOS_RTCAudio_OutputDeviceInformation_Release
EOSSDK_Win64_Shipping!EOS_SessionDetails_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_Presence_Info_Release
EOSSDK_Win64_Shipping!EOS_RTCAudio_OutputDeviceInformation_Release
EOSSDK_Win64_Shipping!EOS_RTCAudio_OutputDeviceInformation_Release
EOSSDK_Win64_Shipping!EOS_UserInfo_BestDisplayName_Release
EOSSDK_Win64_Shipping!EOS_UserInfo_BestDisplayName_Release
EOSSDK_Win64_Shipping!EOS_UserInfo_BestDisplayName_Release
EOSSDK_Win64_Shipping!EOS_UserInfo_BestDisplayName_Release
EOSSDK_Win64_Shipping!EOS_RTCAudio_OutputDeviceInformation_Release
EOSSDK_Win64_Shipping!EOS_RTCAudio_OutputDeviceInformation_Release
EOSSDK_Win64_Shipping!EOS_Ecom_Transaction_Release
Project_Win64_Shipping!FEOSSDKManager::Tick
Project_Win64_Shipping!Invoke
Project_Win64_Shipping!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence >::ApplyAfter
Project_Win64_Shipping!TBaseRawMethodDelegateInstance<0,FEOSSDKManager,bool __cdecl
Project_Win64_Shipping!UE::Core::Private::Function::TFunctionRefCaller<`FFileCache::PushCompletedRequest’::`6’::<lambda_1>,void>::Call
Project_Win64_Shipping!FTSTicker::Tick
Project_Win64_Shipping!FEngineLoop::Tick