npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

com.adrenak.unimic

v3.4.0

Published

Enhanced and easy Microphone for Unity.

Readme

UniMic 🎤

A wrapper for Unity's Microphone class.
Provides easy APIs for mic input and management.
Also includes StreamedAudioSource, a (not Microphone related) class that can be used for playing streaming audio by feeding it incoming audio samples.

Documentation 📝

Refer to the Scripting Reference

Installing 📦

⚠️ OpenUPM doesn't have up to date releases. Install using NPM registry instead 👇

Ensure you have the NPM registry in the packages.json file of your Unity project with com.adrenak.unimic as one of the scopes

"scopedRegistries": [
    {
        "name": "npmjs",
        "url": "https://registry.npmjs.org",
        "scopes": [
            "com.npmjs",
            "com.adrenak.unimic"
        ]
    }
}

Add "com.adrenak.unimic" : "x.y.z" to dependencies list in packages.json file where x.y.z is the version name

💬 You can see the versions on the NPM page here.
Also note that v3.x.x is recommended. v3 has several breaking changes against v1 and v2. Refer to the scripting reference if you're upgrading.

Samples 🚀

Getting started with some samples is the best way to see the features of UniMic, and there are many!

Ensure that atleast one recording device is connected to your PC/Mac for the samples to work.

Simple MicAudioSource Sample

  • A gameobject called My Mic is placed. It has the MicAudioSource component.
  • Another gmeobject called Sample has SimpleMicAudioSourceSample
    • On start it checks if there are any mic devices available
    • If yes, it takes the first recording device available and starts the recording using .StartRecording()
    • Then assigns the device to MicAudioSource, which then starts playing the audio
  • Play the scene. You should be able to hear your voice in the editor

Multiple MicAudioSource Sample

  • Run the scene, you should see every mic device connected
    • On start, all the devices will start recording in parallel and playing back
    • Toggling the checkbox on or off will start or stop the recording for a device
  • Prefab MicDeviceCell is used to represent one device. The MicDeviceCell.cs script handles its UI.
  • Check out the MultipleMicAudioSourceSample script to see how the UI has been created

MicAudioSource Switch Sample

  • Run the scene, recording should start on one device and a dropdown will show all the available recording devices
  • Use the dropdown to change to a difference device at runtime
  • Check out the MicAudioSourceSwitchSample script to see how the Device of a MicAudioSource can be changed at runtime.

Spatial Blend Sample (for spatial audio)

  • Run the scene, the audio source is a moving ball.
  • When you speak, your audio is played from the balls position. Use headphones to hear the sound moving.
  • Using the slider, you can change the spatial blend from 0 to 1

Note 📄

  • Some Xiaomi phones may prevent side loaded APKs from functioning.
  • There is no AEC (Acoustic Echo Cancelletion). If you're trying the samples be sure to use headphones to avoid creating a feedback loop.

Credits

Many thanks to Metater's repository MetaVoiceChat and our chat over Discord to help create pitch gain, audio frame lifetime/expiry and other improvements to StreamedAudioSource.cs in version 3.3.0

Contact 👥

@github
@website
@discord: adrenak#1934