Hello there, and thank you for purchasing the Titillating Tickling Tongue from the wild mind of GlenSkunk! This file will give you some important information about using these assets in your projects, as well as an update log to keep track of major updates to the files!

REQUIREMENTS:

To use these assets, you will require the following:

- Unity 2022.3.22f1

- The latest VRCSDK (either standalone or via the VRChat Creator Companion)

- The latest version of VRCFury (Required for all prefabs due to heavy usage of SPS)

You can also import your own desired shader and plugin files as needed by whatever else your avatar project requires, but by default this asset uses the Unity Stadard shader for its materials to ensure maximum project compatibility.

For the included Blender and Substance Painter files, it is recommended you use the latest versions of Blender and Substance Painter (Substance Painter file was made in the 2020 Steam edition); the included PSD file should work in most major 2d art programs (Photoshop, Krita, Clip Studio Paint, Paint Tool SAI etc.)


HOW TO USE:

First off, make sure you have Unity 2022.3.22f1 on your machine; this is the currently accepted version of Unity that the VRChat SDK requires for smooth operation. If you are still using Unity 2019.4.31f1 or earlier for your avatar project, it is recommended that you either migrate your 2019 project to Unity 2022, or create a brand new project in Unity 2022 and port the needed assets into this new project.

Next up, open up the avatar project you desire to add the tongue prefab to, whether through VRChat's Creator Companion, through Unity Hub or directly from the .unity scene file for the avatar. Make sure that you have also imported the plugins necessary for the specific prefab you want to use on your avatar.

Right-click in your avatar project's Assets folder and select "Import" and "Custom Package"; from the file browser screen that appears select the .unitypackage for your desired dick and select "Open." After a short time loading, a new window will show up that shows all the files of that .unitypackage you want to import; just click "Import" and the import process will begin.

Once the import completes, you should have a new folder that is named after the asset you imported in. In here are located all of the assets, prefabs and scenes for the tongue: Animations, Materials, Models, Prefabs and Scenes. Open the "Prefabs" folder and you should see every prefab variant for the tongue, based on the specific material used, the presence of piercings, and whether or not dynamic blendshape controls are included.

Due to the integral usage of SPS functionality in this specific asset, there are *only* VRCFury prefabs included in this project; additionally, several quality of life features are used to make this asset as easy to install as possible, so manual installation of this asset is not recommended.


(VRCFURY INSTALLATION)

By default, all you really need to do is drag your desired prefab as-is directly onto a bone in your avatar's armature (usually the Head or Jaw bone - there are specific functions of the VRCFury prefab that are added to allow the tongue to show up in first-person view to take into account VRChat's "Head Chop" method of hiding the avatar's head when you inhabit the avatar). Depending on your needs, you can also have the prefab placed *outside* the avatar armature but on the same level as the armature and any body/clothing meshes your avatar has, then use a Parent Constraint pointed to an Empty placed underneath your intended target bone to lock the prefab to that Empty. Do be aware this can introduce physics instability due to the order in which VRChat calculates constraints and PhysBones; this may be especially noticeable if you use a World Constraint approach to allow you to pick up and drop the asset in the world. (As an alternative, you can use the Armature Link feature of VRCFury to set the tongue outside of your avatar's armature and adjust it to the correct positioning and scaling from there, and set the Armature Link to go to the Head or Jaw bone of your avatar's armature; on build, the tongue will be reparented to the appropriate bone and act as if you had directly placed the tongue underneath that bone in the first place.)

All of the included FX controllers, menus and parameters will also be non-destructively merged into your avatar's Avatar Descriptor; if you wish to adjust some settings (like rewriting where the VRCFury component places the Titillating Tickling Tongue menu in your radial menu) it is recommended to Unpack the prefab to modify the VRCFury component to your specific needs (recommended only for those already quite familiar with Unity and VRCFury). You can rescale and reposition the asset however you need to, VRCFury will help take these changes into account.


You can now move on to more in-depth customization of your tongue! A few tips to keep in mind:

-Run into a penetrator too big for the default tongue scale to fit it right? You can use the built-in tongue scalar to adjust the size of the tongue to better fit whatever penetrator you want it to wrap around, and if you're using one of the tongues with full blendshape controls built-in, you can thin out the tongue to get extra length without adding extra thickness! Be advised that if you scale the tongue this way, the tongue wrap animation may not behave as expected, and may wrap too loosely or clip into the penetrator depending on your scaling choice. This may also occur if you manually change the base scale of the asset (see below).

-Due to the fact that the tongue can act as *both* an SPS plug and a socket, it is recommended that you turn OFF the SPS Plug function whenever you turn ON the SPS Socket function (and vice versa); odd visual behavior can result from having both active at the same time, most often as the tongue becoming visibly stuck in the halfway point of a tongue wrap animation due to the conflict. You can find both SPS functions in the SPS Modes sub menu, labelled as Deep Slurp (SPS Plug) and Tongue Wrap (SPS Socket).

-If the avatar you install this tongue asset on already has a tongue built into it, it is recommended to add dedicated animations to your avatar that will turn off the existing tongue of your avatar whenever the Titillating Tickling Tongue is active, as well as opening up the mouth of your avatar when your VRCFury tongue is active. You may need to either scale the root bone of the avatar's built-in tongue bones to 0/0/0, or use a texture mask to turn the avatar tongue texture fully transparent/invisible. Fortunately, in the VRCFury prefabs the "TongueTog" parameter has been set up to be a global VRCFury parameter, thus allowing that parameter to interact with any instances of the same parameter that is placed directly on your avatar. Be aware that this "TongueTog" parameter you add to your avatar should be a Float, as this is how the "TongueTog" parameter is set up in the Titillating Tickling Tongue's FX controllers.

-You can rescale the tongue to whatever size you need it to be inside of Unity to change the base size in game, whether or not you use the included in-game scale slider; VRCFury will automatically adjust most of the scale values in the tongue animations to take the new base scale into account. If you wish, you can even remove the tongue scale slider from the FX controller, parameters and menus of the tongue asset, although it is *highly* recommended that you create backups of the mentioned files before proceeding with modifications. Do be aware that this automatic scaling adjustment *only* works if you retain the main VRCFury component in the top of the asset!

-Have a specific tongue shape in mind but don't want to use a lot of parameter space? Not to worry; the included "Simple" prefabs have the dynamic blendshape customization menu sliders removed to drastically cut down on parameter usage. To adjust the shape of the tongue without these sliders, you'll want to go to the actual mesh component of the tongue and look for the Blendshapes section of the Skinned Mesh Renderer; then you can shift the sliders to get your desired tongue shape locked in; once you begin the upload process for your avatar, the SPS functionality will build its deformation based on the blendshape values of the tongue it detects upon upload. (Additionally, in more recent versions of VRCFury starting from about v1.8+, the "Unlimited Parameters" beta component has been added that drastically compresses radial slider floats, dramatically improving parameter bit usage; in some cases this may be a good solution if you want to have the tongue customization available in-game but are in need of more parameter space.)

-The recolorable prefabs are provided to allow in-Unity color customization, albeit primarily for solid color changes; more complex customizations to the texture will require either modifying the raw texture files using an art program of your choice, adding texture masks to allow for more selective editing (if using a more complex shader like Poiyomi, Mochie etc.) or editing the provided Substance Painter/Photoshop files. If you want to change your tongue's appearance to use a different shader from the included Standard version, you can change the tongue material to any VRChat-compatible shader you wish; SPS is directly baked into any shader it is applied to via VRCFury, so the SPS penetration function will work with a large variety of different VRC shaders. Check the VRCFury website (vrcfury.com) for information about specific shaders that are not currently compatible.

-Are the tongue state animations or the tongue wrap feature not working correctly on your avatar when you port them into your FX controller? Check to see if your avatar's FX controller has masks on the layers; in recent iterations of the VRCSDK having masks on layers in your FX controller can cause animations to break. Note that this does NOT apply to the other controllers (Base, Gesture, Action etc.); only on the FX controller. You may also have a mismatch between Write Defaults on various animations in your FX controller that can cause the tongue to act unpredictably; plugins like Avatar 3.0 Manager, Gesture Manager and VRCFury can help correct this issue. Also, given the use of a Direct Blendtree setup to compress multiple FX layers into a single blendtree, be sure to check that the "Normalize Blend Values" checkbox is marked OFF in the blendtree; otherwise, this can result in strange behaviors.


Hopefully this helps you get your new tongue up and running on your avatar; now go forth and start licking *all* of the things!