Updated: 17th July 2020

The following pages are meant to be read in sequence from section 1 through section 6 and used mainly as a tutorial for new people that need examples when setting up Wardrobe for the first time or as a reference for the entrenched wardrobe addict. I do have some preamble on the parent page talking about “My way is just one way” of using the Wardrobe. Its “not the only way”, You need to find “your way that works for you”. Feel free to read it, otherwise continue reading.

There are two implementations of RLV, the original RLV used by Restrained Love Viewer and RLVa used by most other 3rd party viewers. Any reference in these pages that only states RLV, should be interpreted as RLVa.

If you don't want to read the preamble, skip section 1.1

1.1 Organizing Your Inventory

Here I am starting with the basics, if your going to use a tool like CTS Wardrobe that is efficient at providing an organized visual structure of your inventory that is accessible via the web dashboard or in-world Wardrobe Closet then you really should organize your SL inventory.

My wardrobe as it is now is the result of a major rework of my whole inventory between July and September 2016 when I did a mass cull of inventory as part of my upgrade to a Mesh body. At the same time I also took the drastic option of deleting my entire CTS Wardrobe and re-starting from scratch.

The first step was to create a zz folder at the root level that would sit at the bottom of My Inventory in SL. I moved everything from other folders to here except for my new Mesh body/Head and newly purchased attachable items like clothing and shoes etc. This zz folder is were I culled from, in most cases I simply trashed it only boxing up and archiving things I wasn’t sure about.

My inventory count after the rework and cull was reduced from, over 100K to 4.5k so I was ruthless dumping well over80%. The remainder of “old items” are boxed waiting to be reviewed. In terms of new items, my inventory now generally fluctuates between 10K – 14K (including the Library).

I do go into more detail in how I organize my inventory under RLV on a dedicated page 1-1: RLV Inventory Expanded.

I only add new items to Wardrobe when I start using them for the first time, until then new items often sits in my holding folder path waiting to be used. Whe I add new items to Wardrobe, I also add them to Archive.

Performance Boost

During the process of culling I did notice a slight performance improvement. I tracked this down to two reasons;

  1. Large numbers of items sitting inside single folders does slow down the login process as your inventory is downloaded to inventory cache. An example here is my Object folder was bloated with 1000’s of objects.
  2. Generally an overall decreased inventory reduces background memory consumption.

By running some diagnostics on my PC (credit to the University IT Department). According to them SL viewers are not the most efficiently coded clients. The root issue here in terms of inventory is it is extremely inefficient with PC memory usage. Not in the amount of memory used, more in that the viewer does not release that memory when an inventory window is closed and depending on how large your inventory is along with how many inventory windows you have opened at one time it can lead to memory creep.

Additionally, after testing several SL viewers it became apparent that most of them suffer from memory leak.

For more details read the “Inventory Memory Usage” section on my SL Tips & Hints page.

I do not have a large number of root folders sitting under My inventory. If I expanded each of those out there are multiple branching paths that often go 3 or more sub-folder levels before you find the actual objects. Basically my entire inventory is now well organised within a hierarchical structure..

My Lost And Found as well as Objects folders generally only have a few items in them at anyone time. I now keep these fairly clean. I use the Catznip Configure ‘Accept in’ Folders feature here to automatically create new folders when I purchase something.

Another big decision I made as part of my cull was to replace my usage of links with Wardrobe’s Base Outfits feature. Basically, I dramatically reduced the number of links, they now reside in only a few folder paths.

In a nutshell, I generally have links in only three paths of my inventory.

  1. #zQuick – this contains links for several key HUD’s that I often add when required via the Catznip Quick Preferences feature.
  2. #RLV\.CTS Base [items]\LinkBase\ – these are my base naked avatars, I have 1 base outfit per head/body combo.
  3. My Outfits – I have a single GET OUT OF JAIL base avatar RESET, its basically my main base naked (BoM) avatar stripped down to just system layers, mesh body and head.

There are two other situations were I do use links, these are how I use the Maitreya V5 Feet Auto-Select and Alpha Auto-Hide Tools. Click here to visit those pages.

Now lets start and setup RLV and then Wardrobe.

1.2 #RLV Setup

  1. Create a #RLV folder as a new root folder under My Inventory, use UPPER case. I have toggled mine to show as a System Folder (catznip feature) hence why it is at the top.
  2. In the SL viewer preferences make sure RLV is enabled, depending on the viewer used it will be called either RLV or RLVa or something like Restrained Love API Support.
  3. Now recycle, log off and restart the viewer to activate the API, then log back in.

That’s it, your now RLV ready so therefore Wardrobe ready. Before we continue with Wardrobe setup lets run through a few RLV fundamentals.

Firstly, wardrobe folder names must be unique and must match the item name in the wardrobe. My recommendation is to use unique prefixing rather than suffixing. RLV can get a bit screwy with folder selection when folders names are similar and what it does may not equate to what you expected it to do. It will select based on the first match it finds when reading through the #RLV folder structure and in some cases if there are conflicts it will fail to locate a folder.

Secondly, the number of sub folder levels you can have in a given path is a bit iffy as to how many levels work. Some RLV users recommend no greater than 3 levels, others don’t say much about it. I have done some testing and I expect its more related to total character length of a full path name not reaching a max byte search limit. In saying that I generally have wardrobe items sitting at level 3 in my folder path, however in some situations I have gone down to a 4th & 5th level. I may even have a few that go down to a 6th or 7th level.

An examples of a 3 Level path would be #RLV\Level 1\Level 2\<wardrobe item folder here>\<item sub folders>

An example of a 4 level path would be #RLV\Level 1\Level 2\Level 3\<wardrobe item folder here>\<item sub folders>

An example of a 5 level path would be #RLV\Level 1\Level 2\Level 3\Level 4\<wardrobe item folder here>\<item sub folders>

An example of a 6 level path would be #RLV\Level 1\Level 2\Level 3\Level 4\Level 5\<wardrobe item folder here>\<item sub folders>

Lets now talk special characters as these can often be a love/hate relationship in terms of RLV. I along with others have done some fairly robust testing, the following are known to work;

! @ # $ % ^ & * ( ) – _ = + ~ . [ ] { } ; : ‘ ” ? < >

I do however recommend that you try and stay away from using special characters within a folder path under the #RLV structure. Especially ones that are used in Boolean logic and I strongly suggest you avoid using combinations. RLV can get confused at times especially when it comes across groups of special characters or nested strings such as 3 single quotes (”’).

In saying that I do use _ (underscore) in my wardrobe item names and prefix some wardrobe item sub-folders with either a . (dot) or + (plus).

NOTE: The use of several special characters do have special functions when using them as a prefix in a folder name. So use them with care.

1. Using ~ (tilda) could be a little confusing if your also a collar user who is heavily involved in any kind of D/s RP were items may be sent to your #RLV folder from scripted devices. So use with care.

2. Prefixing a sub-folder with + (plus) means ADD in terms of RLV. This is really useful if your wanting to add several objects to the same AP (attachment point) and you have wardrobe configured to replace as RLV will override wardrobe by performing an ADD function.

3. Prefixing folders with a . (dot) is slightly more complex.

  • Prefixing #RLV\.LEVEL1 with . (dot) will hide it and anything under its path to other users when viewing your #RLV\ folder path via any RLV enabled tool that allows that functionality. For example, what is visible by the dashboards Inventory Browser button when you have navigated to a web browser by clicking open URL in Browser from the in-world Wardrobe Closet or via a Wardrobe Link were you have allowed wearing and undressing.
  • Avoid joining words in a path with . (dot) for example do.not.do.this. Not 100% sure why, but this always causes issues. I suspect it confuses RLV, is this a suffix or a prefix kind of thing.
  • Prefixing a Wardrobe item folder with . (dot) will hide that item folder from Wardrobe, you effectively break the ability for wardrobe to locate the item folder. DON’T DO IT.
  • Prefixing a Wardrobe item’s sub-folder with . (dot) will hide that sub-folder from the Show the Wear Dialogue.

Some things To Avoid when it comes to folder paths when the RLV API is enabled.

  1. Avoid cluttering the root #RLV folder with 1st level folders and keep these as short as possible. The more verbose these are the sooner you will encounter the LSL protocol limit. For example, try and keep these folders around 9-10 characters Offset. This will provide approx 100 folders at this level Before you exceed the byte limit. #RLV|<LEVEL 1>|level 2|level 3|… Level 1 is were the folder limit applies.
  2. Folder paths should be kept as short as possible or you may encounter script errors when using Worn Outfits due to exceeding a 1000 character offset limit. For the purpose of disclosure the total length a given folder path can be is an offset of 255 characters. The folder separator \ (back slash) are also counted as characters. If you ever have paths this long then you really do need to seriously think about how you name and structure your folders.
  3. Never use a | (pipe) / (slash) \ (backslash) or , (comma) within a folder name.
  4. I recommend sticking to a rule of prefixing unique item folder names rather than suffixing or at least have something that is unique between character offsets 8-16 in the second word which is what I do.
  5. Never call a wardrobe items sub-folder the same name as an attachment point (AP), for example don’t do …\<wardrobe Item>\top.

1.2 #RLV Level 1 Folders

I am now going to break down my #RLV Level 1 folders with brief explanations of what they all represent. How you name your Level 1 folders is up to you, just stick with the rule of keeping them as short as possible so you do not reach that max limit. Currently the max byte limit used by myself for Level 1 folder names is currently 165 which is well below the LSL protocol max limit which I believe is 1024.

I do recommend when possible that you do prefix these Level 1 folders with a . (dot), as per the reason I explained above. If you do not prefix them, then the subsequent folder paths will be visible if another person has gained access to a web dashboard either via the in-world closet or a managed link that has wearing/undressing enabled.

#RLV\.CTS prefixed folders: These are the folders I keep everything that is related to my CTS Wardrobe. Everything then branches out from these.

At the actual item level I use a unique string within the item folder name, the convention I use is \<brand> xx_<itemname>\ were xx_=  00 through FF for each store name. This unique key prevents any folder conflicts from occurring and allows for 256 wardrobe items per brand.

NOTE: You do not have to prefix folders as CTS, I just do this to group them together. Nor do you have to prefix with a . (dot), I do this to flag the paths as hidden. What you call yours and how you break your level 1 folders down is up to you. Just remember there is a max byte limit here.

#RLV\.nonCTS\: This simply contains folders for items that I have purchased and only created the items in my wardrobe but are still not in a usable state. In the wardrobe they are tagged as .nonCTS and set as Private. View this as my WIP area, once I have set the item up I move it to the relevant .CTS folders, remove the tag and make it Public.

Inventory 3

#RLV\.zFolders\: Contains sets of common empty folders that I simply copy and past to other folders when setting up an item for the wardrobe. They are my wardrobe item empty sub folder templates. This just makes life a lot easier than having to right click, create new folder.

You will also see sub folders here prefixed with z<NAME>. Under these are many more template folders specific to those kind of items.

Lets now expand one set of Wardrobe folders out for a given creator. I have chosen to use Limerence as an example. These are hairs so will sit under the path #RLV\.CTS Hair\[Limerence]\<item folder>\>item sub folder>\

were <item folder> = Limerence xx_itemname

Inventory 2

Here you can see the folder naming convention I use for each wardrobe item in practice. What you name your wardrobe items is up to you, there is no right or wrong way other than the issues of RLV searching conflicts. To avoid those I have simply added a unique key into every items name at the 2nd word. In this example RLV search is always going to find a unique identifier for any Limerence item folder at search character offset 11 for a length of 2.

For the purpose of showing a full path, I have also expanded out two sub folders under Limerence 07_Rebecca to provide an example of were the objects reside.

If you wish to see a more expanded view of how I organize my inventory under RLV then click the following link 1-1: RLV Inventory Expanded.

Or Click to continue to the next page