working on a voice chat system in Blueprint using OnlineSubSystem Null.
It’s working in a listen server environment, but not when running it using a dedicated server.
The basic set-up is according to these details:
and the implementation in blueprint looks like this:
At BeginPlay, PlayerController (local controller) sends RPC to GameMode on server, passing a boolean called ‘EnableVoice’ set to ‘true’
GameMode uses the boolean in a custom event within itself (run on server) to go back to the above PlayerController reference, setting another variable on it (SET w/Notify)
the function inside the PlayerController tied to that variable (SET w/Notify) executes the console command “ToggleSpeaking 1” for specific player ‘self’ (This is what got the voice chat working in the listen server environment)
Does this setup prevent voice chat from working with a dedicated server? If yes, how and how would I best fix it?
In the end I had a custom set-up created by a programmer, which I don’t understand myself in detail, but has got something to do with using a separate server that takes care of registering speakers. The UE internal system is apparently very rudimentary and more of a development basis rather than a usable system.
Hi. I did not manage to get it working with default unreal.
Unfortunately I can’t tell you specific details about the solution we applied, because I simply don’t understand it. I’m not enough of a programmer for that. I believe it involved a separate server that takes care of registering the audio listener in a way that it is handled properly within the primary UE setup. So we need to start that server before we start the application and then my setup in UE which I had hoped would work on it’s own now works as intended.
Another thing I remember is that we were told that the custom solution would not work beyond 4.19 because some changes to the audio related stuff now prevent this from working. I haven’t tested this. All the trouble setting up an easy to use multiuser project on the internet and independent of third party matchmaking solutions killed our development.
You can use this plugin for voice chat, it works Cross-platform on Windows, Android, iOS. It works on both no session based game and session based game.
You can do global, team and proximity voice chat.
It is optimized with the usage of opus codec,
and you can choose microphone sampling rate and number of channels, you can also get the raw Pcm data of microphone input.
Hi there, if u are using Null subsystem for ur session management, then u need to connect to ur dedicated server with IP address, u just need to create local session, then join the dedicated session with IP, thats all. the voice system only need session info to work.
so if u create session localy and find the session and join with the session, the voice will work, but if u host the session on dedicated and its not loca, then u cant find that session and join it with session, so u need to join it with IP, if u join with ip that means u dont have session info, so before joining with IP, u just need to create fake local session.