Technical Specifications & Known Limitations
This page describes the current behavior of Real Sweat System v1.0.2. The menus, parameters, and objects generated by Setup depend on the installed modules, the avatar rig, and the enabled effects.
Technical scope by module
| Item | Sweat Base Module | Sweat Effects Module | Full Pack |
|---|---|---|---|
| Skin sweat and flowing surface droplets | Yes | — | Yes |
| Body sweat material and Rest data | Yes | — | Yes |
| Tess / No Tess and Remote Low Load | Yes | — | Yes |
| Falling Drops and Floor Stains | — | Yes | Yes |
| Breath Puffs and Steam | — | Yes | Yes |
| Manual Mode | Yes | Yes | Yes |
| Auto Mode on a compatible rig | Yes | Yes | Yes |
| Changes Body material, Body mesh, or Rest mapping | Yes | No | Through Base only |
An Effects-only setup still needs a Body Mesh as the particle emission source. It does not change the Body material, Body mesh, Rest Vertex Data, or tessellation configuration.
Supported environment
- Unity 2022.3
- VRChat Avatars SDK3
- Modular Avatar
- PC VRChat (Direct3D 11)
This product is for PC VRChat. Quest standalone is not supported.
Humanoid avatars are the primary supported target. A Humanoid rig that can create the Motion Pendulum can use both Manual Mode and Auto Mode. A Non-Humanoid avatar, or a setup where the required bone data cannot be resolved, falls back to Manual Mode. See Compatibility for the rig-dependent feature matrix.
Current officially supported scope
- One Setup installation officially tracks one Body
SkinnedMeshRenderer. - If Face and Body are separate renderers, automatic simultaneous application to Face is not currently officially supported.
- Automatic simultaneous installation across multiple switchable Body Renderers is not currently supported.
- Compatibility with every combination of third-party optimizer, mesh merger, material merger, or build-time converter is not guaranteed.
A reference procedure for Face is available in Advanced Tools, but it is not recommended and is outside official support.
Synced parameters
The following values are maximums for a compatible Auto Mode setup with every relevant optional effect installed. Setup omits parameters for missing modules, disabled effects, and unavailable features, so the actual cost may be lower.
| Configuration | Synced parameters (max) | Sync cost (max) |
|---|---|---|
| Base / No Tess | 5 | 19 bits |
| Base / Tess Support | 6 | 20 bits |
| Effects | 9 | 23 bits |
| Full Pack / No Tess | 10 | 24 bits |
| Full Pack / Tess Support | 11 | 25 bits |
The maximum includes the Float parameters for Sweat % and Auto Mode, Sweat On, visibility range, and module-dependent controls. Installing all four individual Effects controls—Falling Drops, Floor Stains, Breath Puffs, and Steam—adds up to four synced Bool parameters. Tessellation Support adds one synced Bool.
Internal Animator calculation parameters and the unsynced Exertion and Breath Rate values are not included in the synchronized parameter or bit totals above.
Sweat materials and simultaneous draws
These material counts refer only to the Body sweat-surface materials managed by Base. Particle materials used by Effects are not included.
| Base installation setting | Sweat-surface materials | Sweat materials drawn at once |
|---|---|---|
| 3D Feature not installed | One No Tess material | 1 |
| 3D Feature installed | Tess + No Tess, two materials | 1 |
| Effects-only | No Body sweat material added | 0 |
Installing the 3D Feature does not draw Tess and No Tess together. The system swaps the same Body slot between them.
PhysBones and colliders
| Item | Created by Setup |
|---|---|
Auto Mode VRCPhysBone | 1 on a compatible rig; 0 in a Manual-only setup |
VRCPhysBoneCollider | 0 |
The Auto Mode PhysBone is created on a dedicated Motion Pendulum under RealSweat. Real Sweat System does not intentionally edit existing avatar PhysBones or colliders used by the chest, hair, clothing, or other systems.
The standard Real Sweat Setup does not edit existing PhysBones. Check the final Play Mode build for another tool that merges bones or components, avatar constraints, or other build-time changes.
Rest Vertex Data
The Base Module creates three per-vertex Rest data textures for the selected display mesh:
- Rest Position
- Rest Normal
- Rest Tangent
Rest Vertex Data Baker reads the mesh and assigns the generated textures to the target sweat material. It does not directly modify the source FBX, sharedMesh, UVs, blend shapes, or other materials. Rest data matches a specific mesh layout, so the same sweat material cannot be shared between different meshes.
Replacing the Body mesh, changing its vertex layout, or merging submeshes after Setup can invalidate the mapping between the Rest data and the final display mesh.
Render Queue and shadows
- Automatic render order sets the sweat material Render Queue to exactly 2455.
- Keep the selected Body material at 2454 or lower.
- A manual queue is available when automatic order cannot be used, but values of 2501 or higher are affected by Transparent sorting.
- When Follow Body Shadow Strength is enabled, Setup or Apply to FX copies the target Body material's
_ShadowStrengthinto the sweat material.
See Compatibility for details and exceptions.
Technical behavior of Tess, Remote Low Load, and Effects
Tessellation
Tessellation is an optional Base Module feature. It adds smoother silhouettes and three-dimensional droplet displacement than No Tess, at a higher GPU cost. When it is not installed, only one No Tess material is uploaded.
Remote Low Load
Remote Low Load is available when Base is installed. When enabled, the sweat shown to other users switches to the built-in Lite path on No Tess.
- With Tess Support: other users receive No Tess + the Lite path
- Without Tess Support: the same No Tess material uses its Lite path
- Local view: keeps the locally selected Tess / No Tess state
- Simultaneous draw: always one sweat material
Effects
The Effects Module uses particles for Falling Drops, Floor Stains, Breath Puffs, and Steam. Only effects selected during Setup add their controls and parameters, and each can be disabled in game.
Floor Stains depend on the world's floor colliders and layers. Breath Puffs and Steam are generated only when the required Head and Chest anchors can be resolved.
Tools that modify the mesh during build
If sweat looks correct in the Unity Editor but its position, shape, or visibility breaks only in VRChat, another build-time tool may be changing one of the following:
- The target Body Renderer or mesh
- Vertex or submesh layout
- Material-slot order
- The final display mesh referenced by Rest data
If that tool has an exclusion list, exclude the Body Renderer used by Real Sweat from optimization or merging. If it has no feature for excluding a Body Renderer, compatibility with that tool cannot be guaranteed.
In workflows where mesh changes can be finalized first, run Real Sweat System Setup after producing the final mesh. If the mesh changes only during build, compatibility with the final result must be verified for that configuration.