====== Ultimate Character Control ======
This is the successor to ''Undressify''.\\
\\
To spread the the tool to a wider range of users, it is rebranded to a more 'interesting' name.\\
Functions will stay the same and undressify is basicly a part and the core of the system.\\
But there is an opportunity to add a wider range of tools and shenanigans, to bring the system to a bright future.
**Key Features:**
* ✅ Sleek interface
* ✅ Custom sounds
* ✅ optional Animated undressing
* ✅ optional SitGuard included
* ✅ optional DiscordNotifier for you
* ✅ Random outfits and a redress timer
* ✅ Optional Bumper to loose outfit parts
* ✅ Follow your friends in a region
**Advantages:**
* ✅ Keep your complexity low by avoiding transparent body parts.
* 🎯 One avatar setup for multiple related outfits
* 🎯 No need to search through your inventory to change clothing layers.
* 🚀 Faster, cleaner, and more intuitive experience overall.
**Feedback & Support:**
If you discover a bug or encounter a problem, please report it via Discord (online).
Feature requests are also welcome through the same channel.
**Conclusion:**
A fresh start was necessary – and it comes with smarter design and improved usability.
===== Tested SL Clients =====
* Alchemy Viewer
* Firestorm Viewer
* Black Dragon
* Restrained Love viewer
* Kokua Viewer
* Radegast Text Viewer NOT RECOMMENDED
* Catznip
* Genesis
* Singularity
* mysmartbots NOT RECOMMENDED Payed RLV - Closed source.
* Corrade Bot NOT RECOMMENDED RLV is super outdated. Only 16 available attachement points. Reactiontime is very slow.
* Lumiya Mobile client
====== How to Create the Avatar Folder ======
**!! NEVER KEEP THE TOOL WITHIN YOUR `~undressify` FOLDER !!**
Doing so will cause the tool to be detached when you change avatars.\\
⚠️ I take no responsibility if the HUD fails to work with other RLV tools.
You must create a basic folder structure as explained below.\\
This structure is essential for Undressify to function properly.
**Required Folder Structure:**\\
\\
**[[videtosetup|How to Setup Folders - Video]]**\\
\\
📁 Avatar Folder:
* `#RLV/~undressify/av/youravatarname`
**EXAMPLE**\\
{{:ucc:avatarsetup.png?400|}}
Place your naked avatar into this folder.
🚫 **WITHOUT TESTICLES!** Unless you *really* want to carry scriptbombs.\\
You can have multiple avatar folders. \\
Load an avatar using the **Avatar** button!v\\
===== 🧥 Version 1 – One outfit folder for all avatars =====
Create the following structure:
#RLV/~undressify/of/
└── nameofyouroutfit/
├── top_1
├── pants_1
├── top_2
├── pants_2
├── top_3
├── pants_3
└── top_0 / pants_0 (optional)
===== 🧥 Version 2 – One Outfit Folder per Avatar (default setting)=====
🧥 Optional Setup:
You can organize outfits per avatar by enabling **avatar-specific mode** (`avspecific`).
**Folder Structure Example:**\\
{{:ucc:outfitsetup.png?400|}}
#RLV/~undressify/of_avatarname/
└── nameofyouroutfit/
├── top_1
├── pants_1
├── top_2
├── pants_2
├── top_3
├── pants_3
└── top_0 / pants_0 (optional)
===== Folder Layer Meanings =====
📌 Layers are restricted to three (3).\\
📌 Each folder suffix defines how the clothing behaves during undressing.\\
Refer to the table below for clarity:
^ Folder Suffix ^ Meaning ^ Notes ^
| `_1` | Top layer | Visible clothing |
| `_2` | Underwear or secondary layer | Optional |
| `_3` | Naked layer or extras | Optional, requires `_2` to be present |
| `_0` | Hidden layer | Inaccessible to others (e.g. tattoos or outfit-specific details) |
You can create multiple outfit folders to suit different styles or avatars.\\
\\
\\
**📌 Outfits with** * **in its name are only visible for you**
**How to Use:**
* Load an outfit using the **Outfits** button.
* The **Clothing** button will appear next.
* 👆 Click the **Clothing** button to preview how your clothing will be undressed.
* You can now click your **belly** or **lower back** to open the menu and load your avatar, outfit, etc.
* 🎛 Go to the main menu and click on **"outfit"** to begin.
====== Addons & AvAddons ======
🎯 **Addons**
Addons are items you'd like to load with **every avatar and outfit** — such as HUDs, toys, or utility tools.\\
{{:ucc:addonsetup.png?400|}}\\
📁 Folder Structure:
#RLV
└──~undressify
└──addon
└──category
└──item
└──your item goes here
Use categories to organize your items e.g.
HUDs
Accessories
Scripts
These items are loaded globally, no matter which avatar or outfit is selected.
❗ **Important:**
None of these folders are created automatically. You must **create them manually** before placing items inside.
🧬 **AvAddons**
AvAddons are items you'd like to load with your **current avatar and outfit only** — perfect for avatar-specific HUDs, toys, or gear.
{{:ucc:avaddonssetup.png?400|}}\\
📁 Folder Structure:
#RLV
└──~undressify
└──av_addons
└──avatar name
└──category
└──item
└──your item goes here
✅ Example:
* Global HUD: #RLV/~undressify/addon/HUDs/gestureHUD/
* Avatar-specific toy: #RLV/~undressify/av_addons/avatarname/Toys/bubblewand/
🔧 **Note:**
AvAddon folders are **not created automatically** either. You need to create them manually to use them.
🔄 **Starting with version 1.63:**
* If you select a different subfolder within the same category, other items in that category will be automatically removed.
* To **hide** any addon folder from the menu, simply add a * at the end of the folder name.
🛠 **Managing Addons:**
Use the **Options** menu to activate or deactivate Addons and AvAddons for other users.
===== Example Folder Layout =====
This is a complete example of how to structure your Undressify outfit folders.
#RLV/
└── ~undressify/
├── addon/
│ ├── HUDs/
│ │ ├── gestureHUD/
│ │ │ └──item
│ │ └── AOcontroller/
│ │ │ └──item
│ ├── Accessories/
│ │ ├── smartGlasses/
│ │ │ └──item
│ │ └── wristwatch/
│ │ │ └──item
│ └── Scripts/
│ └── autoSit/
│ └──item
│
├── av_addons/
│ ├── Luna/
│ │ ├── Toys/
│ │ │ ├── bubblewand/
│ │ │ │ └──item
│ │ │ └── leash
│ │ │ └──item
│ │ ├── HUDs/
│ │ │ └── lunaHUD
│ │ │ └──item
│ │ └── Accessories/
│ │ └── collar
│ │ └──item
│ └── Rex/
│ ├── Gear/
│ │ ├── combatVest
│ │ │ └──item
│ │ └── scanner
│ │ │ └──item
│ └── HUDs/
│ └── rexHUD/
│ └──item
│
├── av/
│ ├── Luna/
│ └── Rex/
│
└── of/
└── CasualLook/
├── top_1
├── pants_1
├── top_2
├── pants_2
├── top_3
├── pants_3
├── base_0
└── stuff_0_0.100 ← optional item with hover height control
❗ **Note:** None of these folders are created automatically. You must create them manually before placing items inside.
🧩 **Tips:**
- The folder under `of/` is your outfit name (e.g. `CasualLook`)
- Items use suffixes like `_1`, `_2`, `_3` to define layer priority
- Items with `_0` are optional base layers
- You can append `_0.100`, `_0.050`, etc. to an item name to control avatar hover height
====== Sounds & Animations ======
🎵 **Sounds**
Sounds correspond to the folder names.
If you have a folder named top_1 the sound played will be top
You can place your own sound files inside the object to customize the experience.
🎬 **Animations**
Animations follow the same logic:
A folder named pants_2 will trigger the animation named pants
====== Hoverheight Control ======
📏 To automatically adjust your avatar's hover height, include a folder like:
stuff_0_0.100
**Version 1.94 and up** will support the following new setting based on your .feet notecard to have two possible hoverheights.
stuff_0_0.100_0.005
_0 means the item won't appear in the dialog.
_0.100 sets your hover height to **100mm above ground**.
_0.005 sets your hover height to **5mm above ground** when undressing anything listed in your .lower config.
Activate it via: Options > Hoverheight
🪑 If you sit on an object or the ground, your hover height will reset to 0.
This helps avoid manually adjusting poses or animations.
====== Plugins ======
🕒 **Redress Timer**
Automatically redresses you once no one is within a specified range, after a variable delay.
🎲 **Randomizer**
Selects a random outfit every xx seconds.
🚶 **Follow**
Lets you pick an avatar to follow automatically.
🤜 **Bumper**
Lets you loose clothing if you run into someone or if someone runs in to you
====== SitGuard Plugin ======
🛡️ **SitGuard – Intelligent Sit Monitoring for Second Life**
SitGuard is a specialized script that monitors avatars sitting on the same object as you.
If someone matches a ban list, wears flagged items, or uses content from creators you choose not to support, SitGuard will automatically react.
You can configure sitguards blacklisted items, people and creators from the notecards within undressify.
🔍 **Core Functionality:**
- Scans co-sitters in real time
- Detects banned avatars or worn items
- Identifies creators you’ve blacklisted
- Forces you to stand and re-sit once the avatar leaves the scan area
🚫 **Why SitGuard?**
- Maintain control over shared seating
- Avoid unwanted interactions
- Enforce personal or community standards
SitGuard runs silently and efficiently, giving you peace of mind without disrupting your experience.
====== Tips & Tricks ======
🧵 If you change textures via a HUD (e.g. color or material changes),
detach the item manually and reattach it after the change.
Second Life may ignore HUD-based changes if the item is removed via RLV.
🔊 You can place your own sounds inside the object to override default ones.
Just match the sound name to the folder prefix (e.g. top for top_1
===== API =====
UCC listens on channel 5100\\
and sends on channel 5200\\
Commands
^ Command ^ Meaning
| `outfit~nameofoutfit` | load outfit |
| `avatar~nameofavatar` | load avatar |
| `reload` | reload current outfit |
| `callav` | responds current avatar-name |
| `callof` | responds current outfit-name |
| `naked` | loads naked layers |
| `ping` | to find users on a region |
\\
Chatcommands
^ Command ^ Meaning
| `/7 main` | calls main menu |
| `/7 clothing` | opens your current outfit |
| `/7 avatars` | opens your avatars |
| `/7 outfits` | opens your outfits |
| `/7 options` | opens your options |
| `/7 naked ` | loads naked layers |
| `/7 reload ` | reloads your current outfit |
Here is a simple listener for the API output
default
{
state_entry()
{
llGetOwner();
llListen(5200,"","","");
llListen(5100,"","","");
}
listen(integer chan,string name,key id,string msg)
{
if(llGetOwnerKey(id) == llGetOwner())
{
llOwnerSay((string)chan + " | "+name +":"+msg);
}
}
}
If you want to create a new function for undressify here is an exxample plugin
//this script should be named with a leading 'app.' in its name
default
{
link_message(integer link,integer chan,string msg,key id)
{
if(chan == 500)
{
list scriptname = llParseString2List(llGetScriptName(),["."],[]);
if(msg == llList2String(scriptname,1))
{
llOwnerSay("Hello World!");
}
}
}
}
====== UCC Changelog ======
🛠️ **Latest Updates & Changes**
**🔄 Changes and new functions**
Version 1.93 December 2025
* ✅ Options moved to a new script
* ✅ Saving your settings was changed
* ✅ Optional Spunked cleaning on redress and changing outfits
* ✅ Removed BugReport because people dont report bugs anyways
* ✅ Fixed the readme section for addons and av_addons
* ✅ Fixed a gamebreaking error in the menu
Version 1.94 January 2026
* ✅ added dressing and redressing animation for outfits
* ✅ added plugin uninstaller in options
* ✅ added option to remove plugins
* ✅ changed buttons in plugins from 'main' to 'back' to return to the plugin menu
* ✅ added variable hoverheight
**✨ New Plugin: DiscordTracker**
* Log who used your undressify and how, to your personal discord webhook. This is purely optional and up to your convinience to use.
---
''This changelog reflects the most recent updates to Undressify. Older versions and legacy features may no longer be supported.''
~~DISCUSSION~~