# MacOS can't get buffer size any lower than 1024 in Unity

**URL:** https://qa.fmod.com/t/macos-cant-get-buffer-size-any-lower-than-1024-in-unity/23131
**Category:** Unity
**Created:** [July 9, 2025, 6:31am UTC](https://qa.fmod.com/t/macos-cant-get-buffer-size-any-lower-than-1024-in-unity/23131 "2025-07-09T06:31:32Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Knight-Owl](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/knight-owl/32/6753_2.png) [@Knight-Owl](https://qa.fmod.com/u/Knight-Owl)
#### Post date: [July 9, 2025, 6:31am UTC](https://qa.fmod.com/t/macos-cant-get-buffer-size-any-lower-than-1024-in-unity/23131/1 "2025-07-09T06:31:32Z")

</div>

When lowering the buffer size of the core api system below 1024 to reduce latency (i.e. 128 x 2) I get the following warning and no audio plays:

Insufficient buffer size detected, requested 8192 bytes, buffer size is 2048 (or some other number depending on buffer size) bytes

What’s more, even Unity’s own audio engine can’t go below 1024 for me, I get this message in the project settings:

 ![Screenshot 2025-07-08 at 11.30.26 PM](https://canada1.discourse-cdn.com/flex036/uploads/fmod/original/2X/e/e9145fff2725dfb899247e1b489ee62ec5a884e8.png)

So this would seem to be a limitation of macOS, except that plenty of DAWs have no problem going down to 64 sample buffers. Any ideas about what’s going on here?

---

<div class="post-metadata">

### Author: ![Leah\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/leah_fmod/32/3685_2.png) [@Leah\_FMOD](https://qa.fmod.com/u/Leah_FMOD)
#### Post date: [July 10, 2025, 5:05am UTC](https://qa.fmod.com/t/macos-cant-get-buffer-size-any-lower-than-1024-in-unity/23131/2 "2025-07-10T05:05:17Z")

</div>

Hi,

This is a limitation of the MacOS/CoreAudio, which as you’ve noticed Unity is also subject to. If you set FMOD’s logging level to “Log”, and run a build Unity app in development mode from XCode, FMOD will log the maximum hardware read size in `OutputCoreAudio::init`. FMOD does not configure the audio hardware, so you won’t be able to push the OS’ buffer size any lower. By default, this should be 512 samples - if you want to _safely_ lower FMOD’s default buffer size to match, you should be able to set FMOD’s buffer size to 512, and the buffer count to 2 (i.e. a double buffer of 512 samples).

It’s worth noting that it _may_ be possible to lower FMOD’s buffer size even further, but:

- The default update period of the [Studio system’s asynchronous update thread](https://www.fmod.com/docs/2.02/api/glossary.html#studio-update-thread) is 20ms, meaning that lowering the buffer size and thereby increase the frequency of the audio mix will not actually affect the frequency at which Studio API commands, modulation/automation, etc. are enqueued, executed, and become audible
- The buffer that MacOS expects from FMOD is subject to MacOS’ power saving mode - if power saving is enabled by the OS (which FMOD has no control over), it will increase the expected buffer size, which will break FMOD’s audio output. In this case, FMOD will log an “Insufficient Buffer Size” error in `OutputRingBuffer::read`

---

<div class="post-metadata">

### Author: ![Knight-Owl](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/knight-owl/32/6753_2.png) [@Knight-Owl](https://qa.fmod.com/u/Knight-Owl)
#### Post date: [July 10, 2025, 8:39am UTC](https://qa.fmod.com/t/macos-cant-get-buffer-size-any-lower-than-1024-in-unity/23131/3 "2025-07-10T08:39:33Z")

</div>

Ah gotcha, that makes sense! I’m aiming to just use the core api so I don’t think I should run into the 20ms update period.

Do you know if there’s a way to read the requested buffer size from the ring buffer? My thinking is that, if it’s possible, I could make a system that automatically sets the buffer size to the lowest possible for the user’s system before initializing the system.

If not would, would the closest thing be to just reinitialize the system with a larger buffer size if I get the “insufficient buffer size” error?

Thanks so much!

---

<div class="post-metadata">

### Author: ![Leah\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/leah_fmod/32/3685_2.png) [@Leah\_FMOD](https://qa.fmod.com/u/Leah_FMOD)
#### Post date: [July 16, 2025, 6:56am UTC](https://qa.fmod.com/t/macos-cant-get-buffer-size-any-lower-than-1024-in-unity/23131/4 "2025-07-16T06:56:58Z")

</div>

> [@Knight-Owl](#):
>
> Do you know if there’s a way to read the requested buffer size from the ring buffer?  
> […]  
> If not would, would the closest thing be to just reinitialize the system with a larger buffer size if I get the “insufficient buffer size” error?

The requested buffer size comes from the audio driver, not FMOD, so unfortunately there’s no direct way to read it from FMOD without doing something like creating your own custom output plugin for the target audio driver. Restarting the FMOD system with a larger buffer size on receiving the error is probably the simplest option.
