I'm getting horrible echoes
If I get too close to another player, I start hearing my own voice from their avatar and then it echos louder and louder until it's screeching in my ear. Is this a normcore problem or a unity problem?
80 Replies
Hi @Alix Ollivier. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
This sounds like a feedback loop issue with Normcore's voice chat system. The problem occurs when your microphone picks up your voice coming from another player's avatar, creating an echo that amplifies over time.
Normcore includes an AudioPreprocessor in the RealtimeAvatarVoice component that should handle echo cancellation, but there might be some configuration issues. According to the documentation:
RealtimeAvatarVoice includes an AudioPreprocessor that automatically sets the gain for the microphone and filters out background noise, reverb, and echo cancellation. It's worth noting that most platforms default to using hardware echo cancellation supplied by the operation system, so the AudioPreprocessor's echo cancellation functionality is not required.Voice Chat Documentation Here are a few things you can try: 1. Check if you have proper AudioSource settings on your RealtimeAvatarVoice components. You might need to adjust the spatialization settings. 2. Make sure you're using the latest version of Normcore, as older versions might have issues with echo cancellation. 3. Check your microphone settings in your operating system to ensure hardware echo cancellation is enabled. 4. If you created your own AudioSource component for the RealtimeAvatarVoice, try removing it to let Normcore create its default one, which might have better echo cancellation settings. 5. Consider adjusting the volume levels of the voice chat to prevent feedback loops. If you continue experiencing issues, you might want to reach out to the Normcore community on their Discord for more specific assistance. Unity: 2023-11-09T17:00:00Z ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
<@185325614775926784> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
if i realtime avatar voice on both my main camera and my normcore player prefab, does it mean I'm doubling the voice? @Normcore Assistant
Let me check the knowledge base for you again. One moment! :books:
----------------------
Yes, if you have RealtimeAvatarVoice components on both your main camera and your Normcore player prefab, you would indeed be creating duplicate voice streams, which could contribute to the echo problem you're experiencing.
According to Normcore's documentation, the RealtimeAvatarVoice component should typically be placed on your avatar prefab:
RealtimeAvatarVoice works on any realtime prefab as long as the RealtimeView component has an owner. Upon instantiation, RealtimeAvatarVoice uses the ownership of the RealtimeView to determine if it should be sending audio for this prefab or receiving audio to play back.Voice Chat Documentation In the standard avatar setup, the RealtimeAvatarVoice component is typically placed on the head game object of your avatar prefab, as shown in the custom avatar creation guide:
RealtimeAvatar will create the avatar prefab structure for us. There's a game object for the player, head, and hands. Each component has a RealtimeTransform component on it, and the head has a RealtimeAvatarVoice component on it for voice chat.XR Avatars and Voice Chat Guide Having multiple RealtimeAvatarVoice components active for the same user would cause multiple audio streams to be sent and received, which would definitely cause echoing and feedback loops. I recommend removing the RealtimeAvatarVoice component from your main camera and keeping it only on your player prefab's head object. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
<@185325614775926784> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
how can i test this without uploading a new patch to the store? @Normcore Assistant
Let me check the knowledge base for you again. One moment! :books:
----------------------
To test your voice chat configuration changes without uploading a new patch to the store, you can use Normcore's local testing capabilities. Here are some approaches:
1. Local Unity Editor Testing:
You can test your changes directly in the Unity Editor by running your scene and connecting to a Normcore room. This allows you to verify basic functionality.
2. Build and Test Locally:
Create a development build that you can run locally on your device without going through the store submission process.
3. Use Normcore's Test Environment:
When testing with multiple devices, you can connect to the same Normcore room by setting the same App Key in your Realtime component.
4. Google Cloud Installation (if you have Normcore Private):
If you're using Normcore Private, you can test against your own server by setting the Custom Matcher URL to your installation (format:
wss://<DOMAIN NAME>:3000/
).
Test it out
For the most effective testing of voice chat issues:
- Run two instances of your app (one in editor, one in a build)
- Connect both to the same room
- Test the voice chat functionality to see if your changes fixed the echo issue
- If you're using Meta Quest, you can use the development build functionality to install and test builds without going through the store
Remember that when testing voice chat specifically, you'll need at least two devices to properly verify that the echo issue is resolved, as the problem occurs when your voice is played back through another player's avatar.
Hope this helps with your testing process!
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@185325614775926784> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
What platform are you on?
Most platforms provide their own hardware echo cancellation which should be covering this. Normcore has a software echo cancellation unit, but you generally want to avoid it (and it's not needed because of the hardware implementaitons) because it uses a ton of CPU.
I'm on Quest 2
I'm hoping the issue is just that I had a avatar voice script on the main camera as well as the normcore rig
definitely let me know if you figure it out. I'm not sure how that could be happening tbh
I thought I had figured it out, but it turns out that echoes only happen for one player, I believe it may be the second player to join a room. They hear their own voice coming from another player because the other player's mic picks up the sound from their headset.
What platform are they on?
Also, are they testing an apk by installing it manually / via SideQuest? Or are they installing it from App Lab / the Meta Quest Store?
All players play the game through the Meta Quest store. I run my game on a Quest 2, others with Quest 3 have had the same issues. It's only been in the last month or so, which makes me think that when I came back from SF, I probably broke some audio settings while pulling the project from GitHub.
@maxweisel
what’s weird is it should be impossible to even make this happen on Quest
Meta filters out echo before we even get microphone samples from the OS
and as far as I know, it’s not even possible to disable it
I only ask because sometimes they break it for the default Unity microphone API but the oculus microphone API should always work
but if you’re on the store and doing entitlement checks Normcore will always use the microphone API
@Normcore Assistant I've noticed that in addition to the echoing, I hear every single time someone breathes, so is it possible that my microphone permissions are simply too sensitive, and the mic is picking up the audio from the headset's speakers?
Let me check the knowledge base for you again. One moment! :books:
----------------------
The knowledge sources confirm that Normcore’s voice chat system uses the microphone input and includes an AudioPreprocessor for automatic gain control, noise suppression, and echo cancellation. However, they do not provide specific details about adjusting microphone sensitivity or permissions directly within Normcore. The documentation does mention that if you are on a platform that requires microphone permissions (like Mac, iOS, or Android), you should ensure permissions are set correctly in Unity, and that hardware echo cancellation is often handled by the operating system. If the microphone is picking up breathing or audio from the headset’s speakers, it could be due to the microphone’s physical placement or the lack of effective echo/noise suppression at the OS or hardware level.
If you are hearing every breath and audio feedback, it is possible that the microphone is too sensitive or positioned too close to the speakers, but the knowledge sources do not provide a direct method to adjust this sensitivity within Normcore itself. You may want to check your device’s microphone settings and ensure that hardware echo cancellation and noise suppression are enabled at the OS level. Additionally, reviewing your Unity project’s microphone permissions and usage description is recommended, as improper settings can cause audio issues and Normcore will print errors to the console if something fails in this area Voice chat common questions, Voice chat XR.
In summary, while your issue could be related to microphone sensitivity or placement, the knowledge sources do not provide a way to adjust this within Normcore itself. You may need to address this at the hardware or OS level.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
<@185325614775926784> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
@Normcore Assistant where is the audio preprocessor usually stored in the scene?
Let me check the knowledge base for you again. One moment! :books:
----------------------
The knowledge sources indicate that the AudioPreprocessor is included as part of the RealtimeAvatarVoice component in Normcore. It is not a separate object that you place in the scene; instead, it is managed internally by the RealtimeAvatarVoice script. When you add a RealtimeAvatarVoice component to your avatar prefab (typically on the head object), the AudioPreprocessor is automatically used to process microphone input for that avatar. There is no need to manually add or configure the AudioPreprocessor in your Unity scene—it is handled by Normcore within the RealtimeAvatarVoice component itself Voice Chat XR.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
<@185325614775926784> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
@Normcore Assistant this echoing only started when i started a new level in a new scene. Maybe I forgot to bring something over from the old scene that's causing the echoing? Or forgot to set something up.
Let me check the knowledge base for you again. One moment! :books:
----------------------
It’s possible that missing or misconfigured components in your new scene are causing the echoing issue. According to the Normcore documentation, proper setup of the RealtimeAvatarVoice component and correct ownership of the RealtimeView are essential for voice chat to function correctly and avoid issues like duplicate audio streams or feedback. The echo could occur if, for example, you accidentally have multiple RealtimeAvatarVoice components active for the same player, or if the scene is missing required components such as the Realtime instance or RealtimeAvatarManager Voice Chat XR, XR Avatars Reference.
Here are some things to check in your new scene:
- Ensure only one RealtimeAvatarVoice per player avatar. Having more than one can cause duplicate audio streams and echoing.
- Verify the Realtime and RealtimeAvatarManager components are present and set up as in your previous scene.
- Check ownership of RealtimeView. The RealtimeAvatarVoice component relies on correct ownership to determine whether to send or receive audio.
- Confirm AudioSource settings. If you customized AudioSources, make sure they are set up the same way as in your working scene.
If you missed bringing over any of these components or settings, it could explain the new echoing behavior. The knowledge sources do not mention any other scene-specific requirements, so reviewing your scene setup for these components is a good next step.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
<@185325614775926784> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
@Normcore Assistant This is my PC vs Quest build. On Quest, I seem to pass audio to a normcore audio stream and I get echoes. Is this normal?


Let me check the knowledge base for you again. One moment! :books:
----------------------
It is not normal to experience echoing simply because you are passing audio to a Normcore audio stream between PC and Quest builds. Normcore is designed to handle cross-platform voice chat, including between PC and Quest, without introducing echoes under normal circumstances. The echoing you are experiencing likely indicates a configuration issue.
According to the documentation, echoing can occur if:
- There are multiple RealtimeAvatarVoice components active for the same user, causing duplicate audio streams.
- The microphone is picking up audio from the headset’s speakers due to hardware setup or sensitivity.
- The scene is missing required components or is misconfigured, such as missing the Realtime or RealtimeAvatarManager components, or incorrect ownership settings on RealtimeView components.
- Echo cancellation is not functioning as expected, either due to missing hardware echo cancellation on the device or issues with the AudioPreprocessor in Normcore Voice Chat XR.
Normcore’s voice chat system includes an AudioPreprocessor for echo cancellation, and most platforms (including Quest) rely on hardware echo cancellation provided by the operating system. If you are hearing echoes, it is likely due to a setup or configuration issue rather than a limitation of Normcore itself.
In summary:
No, it is not normal for Normcore to introduce echoes between PC and Quest builds. You should review your scene setup and component configuration to ensure everything matches the recommended setup in the documentation. If the issue persists, check your hardware echo cancellation settings on the Quest and ensure you do not have duplicate voice components active. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
No, it is not normal for Normcore to introduce echoes between PC and Quest builds. You should review your scene setup and component configuration to ensure everything matches the recommended setup in the documentation. If the issue persists, check your hardware echo cancellation settings on the Quest and ensure you do not have duplicate voice components active. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
<@185325614775926784> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
@Normcore Assistant does the audio source on a player need to loop?
Let me check the knowledge base for you again. One moment! :books:
----------------------
The knowledge sources do not mention that the AudioSource on a player needs to have the "Loop" property enabled for Normcore voice chat to work. The documentation states that RealtimeAvatarVoice will create and use an AudioSource for playback, but it does not specify any requirement for looping. Therefore, you should not need to enable looping on the AudioSource for voice chat functionality Voice Chat XR.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
<@185325614775926784> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
@Normcore Assistant my PC version RealtimeView says that I'm on a local client (1), while all others are remote clients. No one seems to get echoes from my pc, but all quest clients hear each other echo. Might this be why?
Let me check the knowledge base for you again. One moment! :books:
----------------------
Based on the knowledge sources, echoing in Normcore voice chat is typically related to issues with audio routing, microphone pickup, or component configuration, not directly to whether a client is local or remote. The RealtimeView ownership (local vs. remote) determines who can send or receive audio, but it should not by itself cause echoing.
However, the fact that Quest clients hear each other echo, while the PC does not, suggests a platform-specific configuration or hardware issue—possibly related to how the Quest handles microphone input and speaker output, or how echo cancellation is managed on that device. The documentation notes that echo cancellation is often handled by the operating system, and that Normcore’s AudioPreprocessor is included in RealtimeAvatarVoice, but does not provide platform-specific troubleshooting steps Voice Chat XR.
There is no explicit mention in the knowledge sources that the ownership status shown in RealtimeView would cause echoing. The issue is more likely related to Quest-specific audio hardware or settings, or possibly a misconfiguration in your scene setup on Quest (such as multiple RealtimeAvatarVoice components, or incorrect AudioSource routing).
In summary:
The knowledge sources do not indicate that the local/remote client status in RealtimeView would cause echoing. The problem is more likely due to Quest-specific audio configuration or scene setup issues. If your PC does not echo but Quest clients do, focus on reviewing your Quest scene setup and hardware echo cancellation settings. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
The knowledge sources do not indicate that the local/remote client status in RealtimeView would cause echoing. The problem is more likely due to Quest-specific audio configuration or scene setup issues. If your PC does not echo but Quest clients do, focus on reviewing your Quest scene setup and hardware echo cancellation settings. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
<@185325614775926784> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
I've double checked the looping toggle too before
It's managed by RealtimeAvatarVoice and will be different for local/remote
It's expected behaviour and wasn't related to the echo as far as I could tell
Drat.
@Normcore Assistant If I hear my voice coming from other client's mouths, should I mute my local audio source?
Let me check the knowledge base for you again. One moment! :books:
----------------------
If you are hearing your own voice coming from other clients' avatars, this is expected behavior in a multiplayer voice chat system—your voice is transmitted to other clients and played back through their avatars. However, you should not mute your local audio source entirely, as this would prevent you from hearing other players.
Normcore’s RealtimeAvatarVoice component manages sending and receiving audio streams based on ownership. If you mute your local audio source, you may also mute incoming audio from other players, which is not the intended effect. Instead, ensure that your scene is set up so that:
- Each player only sends their own microphone audio to the network.
- You are not playing back your own voice locally (i.e., you should not hear your own voice from your own avatar).
- The RealtimeAvatarVoice component is only present on the avatar prefab and not duplicated elsewhere.
If you are hearing your own voice with a delay or echo, it may indicate a configuration issue, such as multiple RealtimeAvatarVoice components or incorrect audio routing. The knowledge sources do not mention muting the local audio source as a solution, but recommend checking your setup for duplicate components and ensuring proper ownership and audio routing Voice Chat XR.
If you continue to experience issues, review your scene setup and ensure it matches the recommended configuration in the documentation.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
<@185325614775926784> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
fwiw this last AI response is a total hallucination
aside from the idea that you could’ve instantiated two player prefabs for yourself but even then I’d expect the mic input for one to render total silence
Ok, so I just tested with a bunch of players. They could all hear the echoing, even when I left the lobby, so it's not directly linked to my account like I had wondered.
Do you have any AudioSource objects where Unity’s Microphone AudioClip is being set on them?
I’d be curious if you do a Find all components in scene call for AudioSource and log the clip property what it will say
I just checked, I have none
DEBUG [AudioSource] GameObject: Balloon (8), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Balloon (4), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: PlayerBalloon (8), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Balloon (1), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: PlayerBalloon (3), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Balloon (10), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: PlayerBalloon (7), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Balloon (9), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: PlayerBalloon (5), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Balloon (2), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Balloon (3), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: PlayerBalloon, Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Balloon (14), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: PlayerBalloon (2), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: PlayerBalloon (9), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Balloon (11), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Balloon (6), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Balloon, Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Record Toggle, Clip:
DEBUG [AudioSource] GameObject: Orientation Button, Clip:
DEBUG [AudioSource] GameObject: Mic Toggle, Clip:
DEBUG [AudioSource] GameObject: Selfie Flip Button, Clip:
DEBUG [AudioSource] GameObject: Selfie Smoothing Button, Clip:
DEBUG [AudioSource] GameObject: Selfie FOV Button, Clip:
DEBUG [AudioSource] GameObject: Third Person Mode Toggle, Clip:
DEBUG [AudioSource] GameObject: First Person Mode Toggle, Clip:
DEBUG [AudioSource] GameObject: Selfie Mode Toggle, Clip:
DEBUG [AudioSource] GameObject: Balloon (12), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: PlayerBalloon (4), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Balloon (5), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Balloon (13), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: PlayerBalloon (1), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: PlayerBalloon (6), Clip: mixkit-long-pop-2358 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Buy Button, Clip: ButtonClick (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Directional Light, Clip: hound-dog-jazz-228434 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: Music, Clip: Balloon Bats_Overworld_Draft 2 (UnityEngine.AudioClip)
DEBUG [AudioSource] GameObject: PlayerBody, Clip:
hmm, nothing stands out
this is from while you hear the echo?
I don’t even see RealtimeAvatarVoice in this list
No, this was just when I loaded into the scene.

this is what it looks like on my PC client when I load in
And I just realized that when I hear my voice echoing from another player, I see their mouth move and they see it moving as well, even though they're staying quiet
if someone hears their voice echoing from me and i mute my mic, it stops, so im suspecting that somehow I'm making unity mic sensitivity too high somehow
man honestly I’m stumped. I don’t understand how your voice could be coming back through
yeah its all good, im recording my thoughts here so i can keep track of whats going on
right but the hardware should be filtering this perfectly
and it’s not possible to disable the hardware echo cancellation
if they turn their volume down on their headset does it go away?
it seems to, yes
it doesnt seem reproducible, which is annoying me, ill be standing with 4 people in a lobby for 10 minutes and all of a sudden the ringing will start
If you make an empty unity project, load the Realtime + VR Player scene and test with someone that has this bug too, do you hear the echo?
ah dang
yeah this is a really crazy one
you don’t support any other headsets besides Quest?
im trying to host a tournament at 4:30, im going to try to use it as an opportunity to test, what should i ask the players
its only quest
whats weird is that the jaw flapping is supposed to be based on your local volume, so it only makes sense that my voice is coming from others because they are sending it through their mic somehow
it’s based on the audio source volume. we don’t send the volume level value over the network
we measure it during playback to ensure it matches the current playback time
m_Jaw.localEulerAngles = Vector3.Lerp(m_JawClosedRotation, m_JawOpenRotation, m_Voice.voiceVolume);
So if I see my voice coming from someone else and their jaw is moving, then it means that locally speaking they are actually submitting my audio back to me, right?
it just means whatever audio source is next to RealtimeAvatarVoice is playing audio
is there a chance a second AudioSource is getting added at runtime?
i am running it and do not see a second audiosource
would you be interested in a screen share if you aren't busy
maybe im missing something real obvious
I’m not at my desk unfortunately
all good
Any chance that my head strap is making my mic sound go further?

Just recorded an interaction with my players. If they hear echoing coming from my mouth, I can see my mouth move in the LIV camera. If I mute my mic, they no longer hear echoing from me. If I turn down the sound on my headset, they no longer hear echoing from me.
So it seems like it's 100% unity/quests mic stuff malfunctioning on me
skip to like 1:30
noticed that when im running this in play mode, i don't have an audio output script on my normcoreplayer
in a lobby with 3 other players, i only hear the echo from one of them. They restarted the game and I still hear it from them.
It can't be this, just reproduced the echoing with a Quest 2 without a headstrap.
made a prefab from one of the echoing players
I wonder if Meta has introduced a bug with their hardware echo cancellation
There isn't a codepath for your audio output to play through your own mic stream
I'm pretty sure I switched from Unity 6 to 6.1 while changing the levels
Ah, that's a Meta thing though
but like I can't imagine how any software change would affect this.
im hoping there's something very dumb and obvious im missing and i dont have to go beg meta to help me
turning your system volume down means the audio is passing out of the speakers and back into the microphone
thats what i figured
and it should be filtered before it gets handed back to Unity from the operating system
And you've never had any other normcore users have issues with echoing?
not on Quest
I've been playing builds with our team all week too and haven't had this issue
do you know the best way for me to contact meta for help by any chance
do you have access to the First Access forum? I believe you can access it with a developer account.
that's been the most effective way for us to get bugs reported and addressed by Meta
i have, yeah, ill check it out
it might be worth trying to put together a minimal repro where you play some audio and record the microphone and show that an empty project causes this bug
whats the best way for me to fill up a lobby with a bunch of normcore bots?
It may be an OS issue

That would explain it. That's the only way I could see this bug happening on Quest. It always bums me out how bad Meta's quality control is here.
So I just wait a month or so until the next OS patch and the issue should fix itself, I'm hoping?
it sounds like it 😦 hopefully Meta fixes it quickly
Looks like it's been bad enough that Upload did a post on it: https://www.uploadvr.com/meta-quest-developers-performance-issues-bugs-regressions/?utm_medium=social&utm_source=x
UploadVR
Meta Quest Developers Face Bugs & Performance Regressions
Meta's frequent Horizon OS updates are coming at the cost of performance issues and bugs for Quest developers, with users often blaming them.