Best Asset I have ever bought with GREAT SUPPORT

This asset did everything I needed and more.

It allows you to do so many things that I can’t even describe it, JUST BUY IT.
It’s beautifully written and you can see that a lot of effort was put also in the user interface so newbies like me has no problems using it.

The support is astonishing and it is definitely a must have asset for anyone who wants to do anything with their microphone in a project.


Amazing Asset & Very helpfull and friendly DEV

This asset is amazing and the developer is a super friendly and helpful dude.
Great price for a very usefull and well made script.
Worth the money.
Thumbs up for the developper



Works! Thank you!

I needed to puppet a figure’s mouth via mic while speaking. Normally I’d use SALSA but no blendshapes, just a simple hinge jaw. Made a 1-frame animation of the open mouth and added it to a Mecanim Layer. Used MicControl2 to fade in and out the layer. You can’t touch anything in the editor or it stops working, but otherwise a great solution. Thank you!


This script is amazing.
I work in interactivity with Kinect, and this script allowed me to control the color and the size of the stroke I draw with my body, with my voice.
The code is simple to read.
And I sent a email to the developer asking for a different way to interact with mic input and he answered me right away and sent me the answer to my question.
One of the best scripts I bought !!
Hope it develops to control more features with mic input.
Buy it !!!

ricardo salazar

It is a really useful plugin!

It has helped me a lot!
I am just a beginner, both the author and the plugin help me save a lot of time. The author always replies your questions and gives you detailed solutions!
I am very grateful for that!


Works like a charm

Great plugin. I could have done a lot of this myself (i only needed the loudness variable) but I wouldn’t have had all the extra features, debugging tools, and excellent options. Not to mention this saved me a TON of time. Also works incredibly well with my Vive’s mic. Support was quick to answer all my questions! 5/5!


Fantasticaly usefull asset

This asset may be “modest” in its apearance – but hidden under its coat is a wealth of flexibility and adaptability : as the author says – ‘it is only down to your imagination how you use this’ : given such imagination, you can use it as a conduit to add some real “punch” to your projects. Add to that an active & very responsive developer it gets the full stars.


MicControl 3 C# is finaly here!


After long waiting and lots of requests. MicControl is finally available in C#. Written from the ground up with several new approaches.
With this overhaul update, users will have easier and better acces to their controller. Most of the variables are now exposed and performance has improved a lot.

MicControl 3 has all the good old features MicControl 2 offered. Such as the well known loudness value and its bigger brother spectrumData[]! Dropping UnityScript and written in C# from the ground up.


A bit of history:

MicControl was created as an open source project. With the goal to create the easiest way for accessing
the device’s microphone inside Unity. The Asset itself had a very big popularity on the AssetStore, having
hundreds of downloads each month and never getting knocked off the front page.

However, I closed the open source project, due to the lack of submissions from the community.
This resulted in the source code only existing of my own written code. Because of the major popularity of
the asset, many users contacted me with questions and other related topics. The result of this was that I had
to deal with the MicControl asset on a weekly basis.

I decided to deprecated the open source free version and re-launch it as MicControl 2. Now being closed source:
it has a cleaner interface, a proper managed inspector that is extended by an editor script and a massive quality/performance increase. The code is cleaner and more optimized compared to the former MicControl version and major memory leaks have been fixed.

And now after a long time MicControl 3 is released, this version is completely written in C#.



How does it work?
– MicControl 3 gathers data from your microphone and converts it into different types of usable values on a per frame basis. This makes it easy for users to utilize this value inside their own scripts.

How does it perform?
– Highly accurate and (near) real-time with little to no memory footprint.

My devices are detected but not shown, what causes this?
– This can happen because of your system’s language settings. When your system uses non “Latin alphabetical” characters (Mandarin, etc…) Unity might not be able to recognize your devices.
Using the “Use default microphone device” option in your MicController, will still work though for using a single device. This will auto refer to your system default device. However unless you change your system’s language settings, you will not be albe to use multiple devices.

Can I get detailed “spectrum data” with MicControl2?
– Yes, support for gathering spectrum data was added in version 3.0.

Are there any downsides to this asset?
It costs money.
– You might not own a microphone.
-Because of a massive upgrade, the system no longer supports Unity version below 5.0.

Are mobile platforms supported?
-Yes with the exception of the Unity Web and WebGL players.
-Supported platforms: Android (Might have issues with GearVR), iOS, Windows phone.
-You do not have to do anything extra for mobile development.  MicControl3 auto detects the platform and automatically asks the right permissions when launching your project from said platforms. So there is no need to write custom microphone permission request scripts.

How do I access the loudness variable from C#?
– As of MicControl 3 the system is written natively in C#!
For legacy MicControl 2 users, simply drag the complete MicControl 2 asset folder inside the Plugins or Standard Assets folder. More info on this can be found in Unity’s scripting manual.

I’ve read the manual provided with MicControl 3, but still cannot figure out how to call the microphone’s data. How do I do this?
-First you must declare where the MicControl script is located (which GameObject contains this component), then use “GetComponent” to call the loudness variable.

Create a variable in your script. Inside the editor, drag the desired MicController in here.
public class Call_Loudness : MonoBehaviour {

//create a slot to place our controller in which we want to call from. Instead of GameObject, one could also use MicControlC as a type.
public GameObject controller;
//next we need a float for easy acces to our loudness value. (Alternativly, you can also call the loudness value directly).
float getLoudness=0.0f;

void Update () {
//update our float every frame with the new input value. Use this value in your code.
getLoudness = controller.GetComponent<MicControlC> ().loudness;


More examples can be found in the Code reference folder.

I have multiple scenes that each have a controller inside them, but only the first scene works. Am I doing something wrong?
In order to have a controller across multiple scenes, you must have a persistent controller, instead of giving each scene its own controller. You can do this by selecting “Don’t destroy on load” under advanced settings. Because this controller does not exist in other scenes, you cannot drag it into the inventory slot as you would with a single scene. Everything stays the same except one extra step, and that is to create a start function in each of your other scene scripts in order to search for your controller.

Now you can create a script in any scene, without having a controller present.
Tip: With a persistent controller it is best to create an empty scene with the controller in it. This is so that the controller can initialize properly and always be present in the upcoming scenes.