VCLYSS
Adds fully functional Proximity Voice Chat to ATLYSS. Talk to your friends, organize dungeon runs, or just hang out in the plaza with 3D spatial audio.
| Date uploaded | 6 months ago |
| Version | 1.2.0 |
| Download link | s0apy-VCLYSS-1.2.0.zip |
| Downloads | 70 |
| Dependency string | s0apy-VCLYSS-1.2.0 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2304Nessie-EasySettings
A mod API for easily adding options to the settings menu.
Preferred version: 1.3.0README
VCLYSS
Voice Chat plugin for Atlyss multiplayer.
Adds fully functional Proximity Voice Chat to ATLYSS. Talk to your friends, organize dungeon runs, or just hang out in the plaza with 3D spatial audio.
Features
- Proximity Chat: Voices are 3D and get quieter as players walk away.
- Visual Indicators:
- Speech Bubbles: A 3D bubble appears over a player's head when they talk.
- Overlay: See who is talking in the UI.
- Lip Sync: Player mouths move when they speak!
- Host Safety: The mod automatically checks if the Lobby Host has VCLYSS installed. If they don't, the mod disables itself to prevent connection issues.
- Mic Test: Loopback mode to hear yourself and adjust your settings.
- Panic Button: A "Mute Everyone" toggle in the settings for emergencies.
Installation
- Install BepInEx (if you haven't already).
- Install CodeTalker (Required for networking).
- Install Nessie-EasySettings (Required for the configuration menu).
- Drop
VCLYSS.dllinto yourBepInEx/pluginsfolder.
Settings
Press F1 (or your Mod Settings bind) to configure:
- Input Mode: Choose between Push-to-Talk, Toggle, or Always On. (Default Key: T)
- Mic Threshold: Adjust this if your mic is picking up breathing or keyboard clicks.
- Spatial Audio:
- Min Distance: How close you need to be for 100% volume.
- Max Distance: The distance at which voices become silent.
- Visuals:
- Toggle the overlay, head icons, or lip sync.
- Bubble Scale: Adjust the size of the speech bubble icon.
🛠️ For Developers (API)
VCLYSS exposes a static API designed for other mods (Radio mods, Admin tools, Status Effects, etc.).
1. How to Reference
Add VCLYSS.dll as a reference in your project, or use Reflection/Soft Dependency if you don't want a hard requirement.
2. Usage Examples
Muting a Player (e.g., Blocking/Admin Mod)
// Mutes the player LOCALLY (you won't hear them, but others might)
VCLYSS.VoiceAPI.SetPlayerMute(targetPlayer, true);
Changing Volume (e.g., Deafness Status Effect)
// Set volume to 10%
VCLYSS.VoiceAPI.SetPlayerVolume(targetPlayer, 0.1f);
// Reset to normal
VCLYSS.VoiceAPI.SetPlayerVolume(targetPlayer, 1.0f);
Forcing Global Audio (e.g., Walkie-Talkie / Phone Mod)
// Force audio to be 2D (Global) regardless of distance
VCLYSS.VoiceAPI.SetPlayerSpatialOverride(targetPlayer, false);
// Force audio to be 3D (Spatial)
VCLYSS.VoiceAPI.SetPlayerSpatialOverride(targetPlayer, true);
// Reset to user's Config settings
VCLYSS.VoiceAPI.SetPlayerSpatialOverride(targetPlayer, null);
Reacting to Speech (e.g., Custom UI)
void Start() {
VCLYSS.VoiceAPI.OnPlayerStartSpeaking += (player) => {
Debug.Log($"{player._nickname} started talking!");
};
VCLYSS.VoiceAPI.OnPlayerStopSpeaking += (player) => {
Debug.Log($"{player._nickname} stopped talking.");
};
}
3. Soft Dependency Check
If you want to support VCLYSS but not require it:
if (BepInEx.Bootstrap.Chainloader.PluginInfos.ContainsKey("com.soggy.vclyss"))
{
// Use Reflection or a separate wrapper method to call the API
}
Credits
Massive thanks to the people who helped make this mod possible:
- Zera (@origamidisaster)
- Kami (@wolfkann)
- Soggy_Pancake (@soggy_pancake)
- Marioalexsan (@marioalexsan)
- Destiny (@terradestination)
CHANGELOG
Changelog
Updates
1.2.4
- Updated dependencies
1.2.3
- Recompiled 1.2.2 varient
1.2.2
- Updated Dependencies: Codeyapper v2.2.0.
1.2.1
🛠️ Bug Fixes
- Fixed "Silent Return" Bug: Fixed a critical issue where players would lose the ability to hear or speak to others after leaving a map instance (dungeon/hub) and coming back. The audio system now performs a full "hard reset" on map transitions to ensure a clean connection.
- Fixed "Zombie" Voice Bubbles: Fixed an issue where voice bubbles would detach or duplicate when a player re-entered a zone, sometimes leaving floating icons behind.
- Fixed Bubble Positioning: Ensure voice bubbles always re-attach to the correct player bone after a map transition, keeping them aligned with the player's head.
- Improved Stability: Added additional safety checks during scene loading to prevent rare crashes when joining a laggy lobby.
1.2.0
🛠️ Critical Stability Fixes
- Fixed "Mute on Return" Bug: Implemented a robust Resync System. When players switch maps or return to a previous zone, their audio engines are automatically reset, ensuring they can be heard immediately without needing to rejoin the lobby.
✨ Visuals & UI
- Microphone Status Indicator: Added a new UI element in the bottom right corner.
- Shows [MIC OPEN] (Green) when transmitting.
- Shows [MIC CLOSED] (Red) when muted or PTT key is not held.
- System Status: Added a "VCLYSS: READY" indicator to confirm when the voice system has successfully initialized.
- Bubble Fixes: Fixed the speech bubble attaching to the wrong position after map changes. It now correctly follows the player's head height across all races.
⚙️ Logic Improvements
- Map Isolation: You will now strictly only hear players who are in the same Map Instance (Dungeon/Hub) as you.
- Proximity Fallback: Added a fail-safe that allows you to hear players if they are physically close to you, even if the server hasn't fully synced their map status yet.
1.1.0
🔧 Critical Fixes
- Fixed "Naked Player" Bug: Completely overhauled the initialization logic. The mod now waits for the game to fully load player assets (clothes/skin) before processing network packets. This prevents the thread-blocking issue that caused players to spawn as floating heads or without equipment.
- Fixed Audio Looping: Resolved an issue where the last second of audio would repeat indefinitely if a packet was dropped or delayed.
- Fixed Stuttering: Reverted to a more stable audio buffering method to ensure smooth playback without robotic artifacts.
- Fixed Mic Threshold: The "Mic Activation Threshold" setting now works correctly on the sender side. It will no longer send "silence" packets if your background noise is below the limit, saving bandwidth and fixing visual desync.
✨ Visual Improvements
- Better Bubble Positioning: The speech bubble now attaches to the game's native
_effect_chatBubblebone. It will now track with the player's head height correctly across different races. - Bubble Animation: Added the native
RotateObjectcomponent to speech bubbles so they spin just like the text chat bubbles. - Bubble Scaling: Added a new "Bubble Scale" slider in the Mod Settings (F1). You can now adjust how big the icon is to your preference.
💻 For Developers (API)
- New API: Added
VCLYSS.VoiceAPIfor easier integration with other mods.IsPlayerSpeaking(Player)SetPlayerMute(Player, bool)SetPlayerVolume(Player, float)SetPlayerSpatialOverride(Player, bool?)- Events:
OnPlayerStartSpeaking,OnPlayerStopSpeaking
⚙️ Other
- Debug Mode: Added a "Debug Mode" toggle in settings. Enabling this shows detailed traffic flow logs in the console (disabled by default to reduce spam).
- Safety Buffer: Added a safety delay on join to ensure the network stack is stable before voice data transmission begins.
1.0.0
- Initial release
Mini Updates
BETA
- Join discord to see beta changelogs