Skip to main content

Technical Specifications & Known Limitations

This page describes the current behavior of Real Sweat System v1.1.0. The menus, parameters, and objects generated by Setup depend on the installed modules, avatar rig, selected Elements/targets, and enabled options.

Technical scope by module

ItemSweat Base ModuleSweat Effects ModuleFull Pack
Skin sweat and flowing surface dropletsYesYes
Body sweat material and Rest dataYesYes
Tess / No Tess and Remote Low LoadYesYes
Spawn Mask, final Display Mask, Light Volumes toggle, and surface mirror qualityYesYes
Multiple Body Elements and additional skinned targets (experimental)YesYes
Falling Drops and Floor StainsYesYes
2D or optional 3D Breath, Falling Drops, and Body SteamYesYes
Custom Steam and optional shared intensity radialYesYes
Manual ModeYesYesYes
Auto Mode on a compatible rigYesYesYes
Changes Body material, Body mesh, or Rest mappingYesNoThrough 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 primary Body SkinnedMeshRenderer provides the scale and default Effects emission reference.
  • Multiple material Elements in that Body can be configured.
  • Separate SkinnedMeshRenderer targets such as a Face are supported as an experimental feature with their own Rest data, masks, material, and draw cost.
  • Automatic handling of every switchable Body arrangement is not guaranteed; targets must be configured explicitly.
  • Compatibility with every combination of third-party optimizer, mesh merger, material merger, or build-time converter is not guaranteed.

Experimental Face targets must be tested with the avatar's BlendShapes, expressions, and face-tracking setup. Tess around eyes or lips is not recommended.

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.

ConfigurationStandard sync cost (max)With Steam & Breath Intensity
Base / No Tess21 bitsNot applicable
Base / Tess Support22 bitsNot applicable
Effects23 bits31 bits
Full Pack / No Tess26 bits34 bits
Full Pack / Tess Support27 bits35 bits

The standard maximum includes Sweat %, Auto Mode, Sweat Display, visibility/load controls, and module-dependent effect controls. Installing all four individual Effects controls—Falling Drops, Floor Stains, Breath Puffs, and Steam—adds up to four synchronized Bool parameters. Tessellation support adds one synchronized Bool. The optional saved synchronized Steam & Breath Intensity Float adds 8 bits.

Internal exercise, body heat, drop activity, and skin wetness signals are NotSynced and add no parameter cost. Breath reuses synchronized Sweat %.

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 settingMaterials per configured targetDrawn per configured target
3D Feature not installedOne No Tess material1
3D Feature installedTess + No Tess, two materials1
Effects-onlyNo Body sweat material added0

Installing the 3D Feature does not draw Tess and No Tess together. The system swaps each configured slot between them. Multiple selected Body Elements and additional Renderers can therefore draw multiple sweat materials at the same time.

PhysBones and colliders

ItemCreated by Setup
Auto Mode VRCPhysBone1 on a compatible rig; 0 in a Manual-only setup
VRCPhysBoneCollider0

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.

If an existing PhysBone stops moving

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 each configured 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 a generated sweat material and Rest data must not be shared across different targets.

Rest data is per mesh, not per material Element. Multiple selected Elements on one Renderer use the same mesh mapping. A separate Renderer/mesh receives its own Rest data.

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.
  • Additional targets use max(2455, selected source material queue + 1).
  • 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 _ShadowStrength into 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
  • 3D Effects: halves remote Falling Drop emission, disables remote strong-motion fling, and reduces remote Body/Custom Steam emission to 25%
  • Simultaneous draw: one sweat material per configured target

Mirrors and Light Volumes

  • Full-Quality Body Sweat in Mirrors is optional and off by default. It restores surface density, optics, Light Volumes, and Tess/No Tess quality in mirror cameras.
  • Body Steam mirror modes are Full, Low, and Hidden. In 2D mode, Low skips blur without reducing particle count. In 3D mode, Low currently uses the same appearance and cost as Full.
  • VRC Light Volumes influence can be disabled from the in-game Reduce Load menu and defaults to on.

Effects

The Effects Module uses particles for Falling Drops, Floor Stains, Breath Puffs, and Steam. The lightweight 2D mode is the default; optional high-load 3D quality changes Breath, Falling Drops, and Body Steam to mesh-particle rendering. Only effects selected during Setup add their controls and parameters, and each can be disabled in game.

Floor Stains are collision sub-effects of Falling Drops and are available only while Falling Drops is enabled. Collision uses world Default and Environment layers; avatar/player layers are excluded, so an incompatible world floor collider or layer can produce no stain. Breath Puffs and Steam are generated only when the required Head and Chest anchors can be resolved.

Up to four Custom Steam slots can be active, with a mirrored pair using two. More than ten combined built-in/custom emitters triggers a mirror-cost warning; twelve is the hard total limit. Combined rate weight above 4.0 is normalized proportionally.

Generated-target integrity and build blocking

Setup records the expected generated material and Renderer slot for each experimental additional target. Missing, cleared, moved, replaced, or merged generated slots are treated as installation damage.

  • Tuning shows Repair Required.
  • Avatar build stops instead of falling back to another material slot or silently omitting the target.
  • Use Manage Targets... or Open Setup to Repair..., then run the full Setup to repair or remove it.

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.