Skip to content
Performant Mumble Client For Unity3D
Branch: master
Clone or download
BananaHemic Made setting the bitrate more robust
There was a potential issue previously where if the client set the bitrate before the mic connected there was an exception. Now the bitrate is saved and used whenever the audio encoder is created
Latest commit 4cb8e9a Jun 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Editor Added Crypt test Jul 29, 2018
Example Sounds
Plugins Moved all plugins to the plugin folder Mar 6, 2017
Prefabs
Scripts Made setting the bitrate more robust Jun 11, 2019
Shaders
.DS_Store added plugin folder with opus-1.3.bundle for mac support Feb 13, 2017
.gitignore Added username in audio player creation Oct 29, 2017
Editor.meta Added Crypt test Jul 29, 2018
Example Sounds.meta Added example sounds Oct 23, 2016
Example.unity Disable LocalLoopback by default Sep 22, 2018
Example.unity.meta Initial Commit Oct 18, 2016
LICENSE Initial commit Oct 18, 2016
LICENSE.meta Initial Commit Oct 18, 2016
License.opus.txt Switched to Opus 1.1.3 Oct 21, 2016
License.opus.txt.meta Switched to Opus 1.1.3 Oct 21, 2016
MumbleExamplePositionDisplay.cs Added sending position support Feb 5, 2019
MumbleExamplePositionDisplay.cs.meta Added sending position support Feb 5, 2019
MumbleTester.cs Added changing bandwidth to demo May 21, 2019
MumbleTester.cs.meta Added testing script Oct 18, 2016
Plugins.meta Moved all plugins to the plugin folder Mar 6, 2017
Prefabs.meta Added support for multiple concurrent speakers May 2, 2017
README.md List correct config filenames Apr 25, 2019
README.md.meta Initial Commit Oct 18, 2016
Scripts.meta Initial Commit Oct 18, 2016
Shaders.meta Restructured project Dir & refractor Nov 9, 2016
protobuf-net.dll
protobuf-net.dll.meta Updated protobuf Mar 25, 2018

README.md

Mumble-Unity

A simple to use Mumble Client made for Unity3D. Easily send low-latency text and voice to a group of other users

Features

  • End-to-End OCB/AES encryption
  • Client-to-server architecture allowing far more scalability than peer-to-peer
  • Opus codec support, allowing lightweight low latency HD voice communication
  • Open source server
  • Extensible server, allowing you to create the permissions structure best suited for your application
  • Works with other Mumble clients out of the box, provided that they use the opus codec
  • Works with any opus-compatible Mumble SDK, including sdks for:
  • Cross platform

Limitations

  • Only the Opus codec is supported, meaning very old mumble clients may be unable to connect
  • Requires a (free) Mumble server

Getting started

Get a server

Either get a Mumble server at one of the many Mumble server hosts. Or you can setup your own Mumble server (which I recommend)

If you do make your own server, be sure to set "opusthreshold=0" in mumble-server.ini or murmur.ini in order to make all clients use opus

Installing

  • If your Unity project is not currently tracked with git, then you can navigate to your project's "Assets" folder and run git clone https://github.com/BananaHemic/Mumble-Unity.git
  • If your project is already tracked with git, you can add this projects as a submodule by navigating to the "Assets" folder and running git submodule add https://github.com/BananaHemic/Mumble-Unity.git
  • Then, simply open the included example scene, and input your Mumble server's address into "MumbleTester"

Integration

  • To begin integrating into your application, you can copy "MumbleTester.cs" and adapt the functions to best meet your individual needs
  • For instance, if you would like to make the audio come from an object (like a person's head) you can change the CreateMumbleAudioPlayerFromPrefab method to create the prefab as a child of your target object

TODO

  1. Better support multiple audio per packet sizes (20ms is currently assumed)
  2. Switch to TCP without sending voice packets
  3. Get Opus libraries for iOS
  4. Get Opus libraries for Linux

If you have any questions or errors, please feel free to open an issue As always, stars are more than welcome

You can’t perform that action at this time.