UI Avatar Indicator: Have to deal with pesky invisible avatars? Say no more!


The following script creates a client side ring around the base of every single avatar agent within the domain you are in!



CC: @Adrian

Anti-Harassment in VR worlds
Copy and paste and building UI

Updated the script with a new version that fixes the 0,0,0 overlay


REALLY cool Menithal!


nice! avatar indicators are cool – i was thinking that an arrow that points you toward your nearest neighbor would be neat.

self = AvatarFollowerUI; // Oddly, couldnt get this to work, but I simply didnt want to bother using prototype.

re: this line ^^ that prototype pattern is only enforced for entities, and even there its pretty lose. perfectly okay (and reasonable!) to use a plain object here - it serves as a singleton.


It would be really cool if the ring would pulse if that person speaks!


I need a script api for detecting if mic is on for that :slight_smile:


What you need is an API that gives youthe mike levels. Or, an API that lets you set a now-speaking and speaking-ended threshold along with a Speak_status event to let a script know when those transitions occur.


Sofr i know the audio signal levels could be read by javascript in the past. Remeber the voxel oscilloscope ?! And how are the debug tools implemented that can display udio data on your screen ? There is possible support. but documentation is not the strong point.


I came in just during the time original voxels got removed, so never saw that… Ill try see if I can find info on it from the scripts.



function getInputVolume (): float But no info on the wiki ‘stub’ so it’s a dive in the example scripts.


Main issue is that its for your input only.

I have no information for others. and since it is a local client side script, well no info there.


just a quick thought: everyone loads an entity script; you can put one on your domain near entry that reports peoples mic levels to your UI script via messaging, and use that to drive the display of other peoples levels


I get some error today that it cannot be loaded !


I am currently having the server in prolonged maintenance, so Ill have the scripts back up an running after Ive completed the maintenance. (Updating all my systems to be a bit more stable, switching from tomcat etc, might continue a couple of times over the month)

(Scripts been back up)


I have updated this script. It will now pulse if someone is talking. The more lounder they talk the larger the overlay will pulse.
@Caitlyn could the https://highfidelity.com/marketplace/items/6b857a63-98b0-43dd-acb6-b45c18fe0970 be marked again for review so I can update it?


Double checked, the new version should now work since people forgot to mention in the thread that the new version didnt work :slight_smile:


Does this one automatically update itself at next login when there are updates made to the script, or does one have to go to the Marketplace page and acquire it again?


You’ll have to use the new version of the non marketplace script unfortunately. Add a ?<bmnumber after thr URL to fix it.


Ive updated the script with a new version:


  • Your own avatar will now not have the ui indicator
  • Instead you will have a pointer if you are more than 5 m away from a someone. It will point to the nearest avatar. Helps one find others.


Not working in Beta 20 @menithal. at least for me thats broken. i need to reload cache to update my entities.

I get this error when i try the old reload trick

[09/06 20:49:04] [WARNING] updateModel(ModelPointer,QString,QString)
[09/06 20:49:04] [WARNING] QMetaObject::invokeMethod: No such method EntityTreeRenderer: