Dresser Plus
| Summary | An enhanced version of the citizen and human dresser component. |
|---|---|
| Description |
[Image] An enhanced version of the built-in Dresser component. Works with both citizens and humans, built-in and custom player controllers. 📣 Features Body attributes networked and updated in real time across all clients Clothing sources are now easier to grasp for beginners A new hybrid (Manual & OwnerUser at the same time) clothing source Parallel workshop clothing loading Clothing Sources • Manual - Dress using hand-picked built-in clothing items or clothing straight from the workshop • LocalUser - Each client sees their own avatar; you can change your avatar in s&box's main menu • OwnerUser - All clients see the network owner's avatar of the GameObject where Dresser+ is attached • Hybrid - Start from the network owner's avatar, strip selected clothing categories, and add hand-picked clothing on top Hybrid Source • Set Source to Hybrid • Add categories to StrippedCategories (e.g. Hat, Jacket, Skin) to remove those slots from the owner's outfit • Add your own items to Clothing or WorkshopClothing to dress your client specific clothes Extremely useful for gamemodes where players keep their identity but wear role-specific equipment, like uniforms or team gear. Body Attributes • ManualHeight - Body height scale • ManualAge - Skin aging intensity (smooth to wrinkled) - ONLY ON CITIZENS • ManualTint - Skin color along the tint spectrum - ONLY ON CITIZENS Editable in Manual and Hybrid modes. Changes are synced and propagate immediately via OnManualChange. Workshop Clothing • Retrieves clothing from workshop packages using their identifiers • Fetched and mounted asynchronously at dress time Editable in Manual and Hybrid modes. A warning will be logged if the package could not be fetched or mounted. 📖 Installation • Install the DresserPlus library straight from your Library Manager in your s&box editor OR • Download the DresserPlus.cs C# script and move it to your project's Code/ folder Once you've done either one of those, add the Dresser Plus component to a GameObject with a Citizen or Human body. Set the BodyTarget to the body's SkinnedModelRenderer (auto-detected from children if left empty), pick a clothing source, and you're done. 🛜 API // Apply with current settings await dresser.Apply(); // Apply with new clothing items (e.g. to set different clothes depending on a var in your code) await dresser.Apply( myClothingList ); // Strip all clothing and reset body attributes dresser.Clear(); // Cancel an in-progress async dressing operation dresser.CancelDressing(); // Check if currently dressing if ( dresser.IsDressing ) { /* ... */ } ⚙️ Properties • BodyTarget - The SkinnedModelRenderer of the body to dress (auto-detected if empty) • Source - Which clothing source to use • RemoveUnownedItems - Strip items not in the owner's Steam Inventory (OwnerUser/Hybrid only) • ApplyHeightScale - Whether height scaling is active • ManualHeight - Body height scale, 0.5 to 1.5 (Manual/Hybrid only) • ManualAge - Skin aging, 0 to 1 (Manual/Hybrid only) • ManualTint - Skin color blend, 0 to 1 (Manual/Hybrid only) • Clothing - List of clothing entries (Manual/Hybrid only) • WorkshopClothing - Workshop package identifiers to fetch (Manual/Hybrid only) • StrippedCategories - Clothing categories to remove from the owner's avatar (Hybrid only) 📄 Source Code [Link preview][Image]
An enhanced version of the built-in Dresser component. Works with both citizens and humans, built-in and custom player controllers.
📣 Features
Body attributes networked and updated in real time across all clients
Clothing sources are now easier to grasp for beginners
A new hybrid (Manual & OwnerUser at the same time) clothing source
Parallel workshop clothing loading
Clothing Sources
• Manual - Dress using hand-picked built-in clothing items or clothing straight from the workshop
• LocalUser - Each client sees their own avatar; you can change your avatar in s&box's main menu
• OwnerUser - All clients see the network owner's avatar of the GameObject where Dresser+ is attached
• Hybrid - Start from the network owner's avatar, strip selected clothing categories, and add hand-picked clothing on top
Hybrid Source
• Set Source to Hybrid
• Add categories to StrippedCategories (e.g. Hat, Jacket, Skin) to remove those slots from the owner's outfit
• Add your own items to Clothing or WorkshopClothing to dress your client specific clothes
Extremely useful for gamemodes where players keep their identity but wear role-specific equipment, like uniforms or team gear.
Body Attributes
• ManualHeight - Body height scale
• ManualAge - Skin aging intensity (smooth to wrinkled) - ONLY ON CITIZENS
• ManualTint - Skin color along the tint spectrum - ONLY ON CITIZENS
Editable in Manual and Hybrid modes. Changes are synced and propagate immediately via OnManualChange.
Workshop Clothing
• Retrieves clothing from workshop packages using their identifiers
• Fetched and mounted asynchronously at dress time
Editable in Manual and Hybrid modes. A warning will be logged if the package could not be fetched or mounted.
📖 Installation
• Install the DresserPlus library straight from your Library Manager in your s&box editor
OR
• Download the DresserPlus.cs C# script and move it to your project's Code/ folder
Once you've done either one of those, add the Dresser Plus component to a GameObject with a Citizen or Human body.
Set the BodyTarget to the body's SkinnedModelRenderer (auto-detected from children if left empty), pick a clothing source, and you're done.
🛜 API
// Apply with current settings
await dresser.Apply();
// Apply with new clothing items (e.g. to set different clothes depending on a var in your code)
await dresser.Apply( myClothingList );
// Strip all clothing and reset body attributes
dresser.Clear();
// Cancel an in-progress async dressing operation
dresser.CancelDressing();
// Check if currently dressing
if ( dresser.IsDressing ) { /* ... */ }
⚙️ Properties
• BodyTarget - The SkinnedModelRenderer of the body to dress (auto-detected if empty)
• Source - Which clothing source to use
• RemoveUnownedItems - Strip items not in the owner's Steam Inventory (OwnerUser/Hybrid only)
• ApplyHeightScale - Whether height scaling is active
• ManualHeight - Body height scale, 0.5 to 1.5 (Manual/Hybrid only)
• ManualAge - Skin aging, 0 to 1 (Manual/Hybrid only)
• ManualTint - Skin color blend, 0 to 1 (Manual/Hybrid only)
• Clothing - List of clothing entries (Manual/Hybrid only)
• WorkshopClothing - Workshop package identifiers to fetch (Manual/Hybrid only)
• StrippedCategories - Clothing categories to remove from the owner's avatar (Hybrid only)
📄 Source Code
[Link preview]
|
| Votes | 9 0 9 |
| Error Rate | 0% |
| Data | {} |