SamSuka
DegenerateWaste
DegenerateWaste

gumroad


IsSubject V2/Param Desync

You'll get the IsSubject V2 Unity Package and the Read Me

Please rate if you enjoy the asset, it helps bunches!

IsSubject (VRCHAT/SDK3)

IsSubject prefab allows you to select a person (or group) to make an animation exclusively visible to them. Is Subject is essentially a whitelist for your animations, anyone not selected for the whitelist can't see the animation!

--- For the system to work the selected player must have particle limiter off

Contents

- IsSubject Unity Package.

-Auto and Manual setup for the system, creating 4 controls for toggling the system, selecting your subject(s), debug, and setting IsSubject=IsLocal

- Detailed Manual & Instructions "Read Me" file.

- An explanation of how the system works, how to move your voice to a target object, and mute yourself via IsSubject animations

Uses?

note, these use cases are not included in the file but are examples of what you could more easily create with this system

note, these use cases are not included in the file, but are examples of what you could more easily create with this system

- Effects using 2d audio sources

Limiting the audio toggle to marked IsSubject targets allows for more control when using 2D audio sources

- Spooky avatars

Create avatars that are hidden for everyone except for the selected player(s), Including hiding your voice. (Details on how to hide your voice for targeted players in the included read-me)

- Asset safety net

If you have sensitive assets on your avatar and you want that extra bit of security/don't want anyone who joins after you toggle them on to see your assets then you can require IsSubject to be true for the toggles to function, so there will be no possible way for someone to see it accidentally.

Performance Information

It is recommended to create a second version of your avatar to add the IsSubject V2 system to as it will drop your performance rank to at least Medium

Setup Requirements

Automatic Setup Tool

VRC Fury

Or

Manual Setup Tool

Avatar 3.0 Manager


CONTACT THE CREATOR

*Art by @OutletDraws (18+ Content Warning)

Discord @ degeneratewaste

Twitter (_18+ Content Warning_) @SwirlyHobkin

Email degeneratewaste321@gmail.com

Credits

Cull Detection Animations https://hfcred.gumroad.com/

hfcRed
IsSubject V2 9-28-24.unitypackage
IsSubject V2 3-6-25.unitypackage
IsSubject READ ME.txt

(UPDATE 3-6-25 )

VRC FURY BUG FIXED ON 3-6-25 VERSION


(1-16-25 BUG WITH VRC FURY)
Vrc Fury currently breaks the system causing the cull detection to lock in place If you have the "Fix Write Defaults" Component set to WD ON, or to auto causing WD to be set on. Set the fix mode to "DIsabled" or "Force Off"

READ ME for IsSubject parameter


This prefab allows you to select a person (or group) to make an animation exclusively visible to them through the parameter IsSubject. The implementation will be the same as that of IsLocal. If you make toggles using this parameter, it is recommended to make the animation visible locally.

(The example/debug layer allows you to have a separate animation show locally if needed)

(If you're not familiar with IsLocal, IsLocal is a transition condition that is only true for the local player {ie. the one in the avatar} the recommendation is so both you and the selected player can see the animation. Prevents instances where a toggle is on without you knowing)

---FOR THE SYSTEM TO WORK THE PERSON BEING SELECTED MUST HAVE YOU SHOWN AND HAVE PARTICLE LIMITER OFF, IF NOT FRIENDED THEY NEED TO ALLOW NON-FRIEND PARTICLE SYSTEMS TO BE SEEN IN THEIR SETTINGS---

REQUIREMENTS

SHADER

The debug system uses the Stencil feature in Poiyomi

making it a requirement for it to work properly

https://github.com/poiyomi/PoiyomiToonShader/releases

SETUP/INSTALL

AUTOMATIC (Recommended)

VRC FURY (Auto setup, best if you're inexperienced with Unity or want a plug-and-play experience. Only requires you to move a prefab onto your avatar base before upload)

-https://vrcfury.com/tutorials/artists

MANUAL

Avatar 3.0 Manager (Manual setup, do only if you know what you are doing and follow the instructions below, or if VRC FURY does not work

in your project)

-Available in curated packages in VRC Creator companion

or

- https://github.com/VRLabs/Avatars-3.0-Manager

Optional

Gesture Manager Emulator (Test the asset inside of Unity before uploading to vrchat)

-Available in curated packages in Vrc Creator companion

or

- https://github.com/BlackStartx/VRC-Gesture-Manager

How to install

Automatic Setup with VRCFURY (Subject Selection Auto setup GIF included)

-Drag and drop the "Subject Selection VRC FURY Setup" prefab into the base of your avatar hierarchy from Assets/DegenAssets/Subject Selection

-Rotate and translate the "Subject Selection VRC FURY Setup" prefab so the Red arrow is on your right hand and parallel with the forearm (The scale of the system is locked, if you do not like the size of the debug dot, scale the "Debug Container" object to change the debug dot size)

-Optional

(How to change the menu path using VRCFURY; The auto setup will set the Subject Selection menu on the top layer of your Radial menu if there is space. If your upmost layer is full then it will take 2 of your controls and merge them into a new submenu to make space. Add the VRC component "Move Menu Item" to your avatar, enter "Subject Selection" into the from path. Then put your desired submenu including all submenus above it divided using "/" like a file directory.

Example;

From Path: Subject Selection

To Path: DegenAssets/Subject Selection

This would move the subject selection submenu from your top menu into a submenu named "DegenAssets" on your top menu. For more information go to the VRCFURY website https://vrcfury.com/components/other)

-Upload

Manual Setup

-Drag and drop "Subject Selection System" prefab into scene Hierarchy to apply base unity scale


-Place prefab on your avatar base


-Unpack prefab


-Top bar in unity open VRLabs. Then select Avatar 3.0 Manager, your avatars VRC Avatar Desctiptor should automatically appear. If it does not appear drag and drop your avatar from the hierarchy into the empty space.

-Open FX, Click "Add animator to merge"

-Clicking the circle icon next to the "None (Animator Controller)" field will open all Animation controllers in your project folders, select "Subject selection (Example)"

-Choose either "Merge on current" or "Merge on new", this won't change the functionality but will allow you to go back to your old animator if the merge creates an issue with your avatar in the future

-Open the parameters tab in AV3 Manager, your avatars VRC Expression parameters will be shown here

-Clicking the circle icon next to the "None (VRC Expression Parameters)" at the bottom of the parameters tab will show all VRC Expression Parameters, select "Subject Param (Example)"

-Copy parameters

-In the folder Assets/DegenAssets/Subject Selection/Vrc Menu-Param-FX copy the control "Subject select Menu Button (Example)" anywhere in your avatars expression menus

-Upload

"Subject Param (Example)" and "Subject selection

(Example)" File Location

|| || ||

\/ \/ \/

Assets/DegenAssets/Subject Selection/Vrc Menu-Param-FX

How to use

The included menu has 4 buttons

- Subject System (Green and Red Person/Eyes) Toggle

*Toggles selection system on. turning off will reset the system reverting all active IsSubject=True players to IsSubject=False


- Subject Select (Green Player select Icon) Button

*Begins looking for a player to mark as IsSubject=True, a laser will come out from your right hand locally, if it crosses a player then they will be marked.

- Subject Debug (Red and Green Bug Icon) Toggle

*Displays Debug circle above your wrist,

-White = Local player

-Red = Non-Local Non-Subject

-Green = IsSubject

- IsSubject=IsLocal (Red and Green Dot) Toggle

-Sets IsSubject to be true ONLY FOR LOCAL PLAYER

Setup for your animations

Duplicate the layer "Subject/Local/Non-Subject Animations" and replace any condition using "Subject Debug" with your conditions.

Then place the animations you want the Subject, Local, and Non-Subject player to see when you toggle your condition

What can I use this for?

There are a couple of use cases for this parameter that I've tested and I enjoy.

However, anything that you want only one selected person to see is a valid use case and can be done with this system

* Effects using 2d audio sources

The main problem with using 2D audio sources is that they are way too annoying in public worlds

or any large group instance so automatically you're told to turn them to 3d.The 2d

audio sources have good functionality that you may want to use on an asset, by selecting

a player or group of players to be the only ones rendering the animation you avoid

potentially annoying anyone you did not intend to hear the effect

* Spooooooky avatars

-I made a ghost avatar that hid my body and voice for anyone who IsSubject=False, and showed

me as a purple phantom for anyone who IsSubject=True/Islocal=True, I was able to have conversations

with people that no one else could hear except the person(s) I selected, and disappear for whoever I wanted.

It was very fun to see people's reactions to someone just talking to empty air, and I just showed up, having been there

the whole time.

-To hide/move voice if curious: Create a dummy head and set that as the animator avatar head in unity and your voice will

come out of that bone, then rotation constraint your actual head to the dummy bone. You will be able to see your head

if you do this so have near clip enabled when in that avatar. Then you will be able to put the dummy bone on a

position constraint and move it anywhere you want, In this use case I sent it 1000 units into the floor so I was

effectively muted if my avatar was shown to IsSubject=False

  • asset safety net

If you have assets on your avatar and you want that extra bit of security/don't want anyone who joins after you toggle to see

your assets then you can require IsSubject to be true for the toggles to function, so there will be no possible

way for someone to see it, even if it is active accidentally. If you did not select them they cannot see the asset, even if

they don't have the particle limiter turned off

QUICKTIP

If you'd like to use the system to play an animation while you are pointing at the player, set it to play when "Subject/Select" is true

You also can change the settings on the "Collision check" particle system to change how a player is selected! Currently, it is a laser so you can

point at a player to select one person at a time easily. Though you easily can set it to be a set radius around you

Challenge to you

Try to change the system around to simulate a 3-D audio source with a 2-D audio source! All the information is available here for

you to figure out. However, to not break the system while you figure it out DO NOT turn on the mesh renderer on the "Collision check"

particle system, a mesh renderer being turned on under the "Cull Detection" game object is what turns on the "Subject/Select" Param. The

Sub-emitter particle system "Cull Activator" should have its mesh renderer on, however, as it only becomes active when hitting a local player collider.

Pls share!

I want to see what can be done with this system so if you come up with anything cool share it on Twitter/X and @ me! @SwirlyHobkin

If you have any problems my contact info is on the gumroad page for this asset and I will get to you as soon as I can!

Credits

Cull Detection Animations

https://hfcred.carrd.co/

PLZ check out hfc red and their stuff, I learned so much about unity through what they post and make




>>>Debug instructions outdated as of 5/2/24<<<<<<<<<<<<<

The Debug ball will become instructions for the target player when particle limiter is active

{-Toggle the system with the Subject System button

-Point at the desired player

-Press and hold subject select between their chest and face (Position may change between avatars, refer to debug tool)

-Toggle Subject Debug, and ask the desired player the color of the circle above your wrist. If they are a subject it will be green,

if they are not seeing green, hold subject select lazer on them, scanning up and down their body lenght. Ask again if it has changed

color, repeat until it changes.

-If it still doesn't work then ask for them to show your avatar completely, change their safety settings to allow

sub emitters, and turn off particle limiter. Then rejoin the world. This will solve any issue that is due to the asset, if this doesn't work the asset was not

set up properly or their vrchat is still limiting sub emitters}


IsSubject V2/Param Desync

More Creators