This plugin provides annotation tools for making marks in studio, only visible to others who also have the plugin. Annotations are not visible outside of studio. This plugin is FREE!
Drawing
There are brush settings for size, distance, and color, with some fun little animations.
If you turn down the draw distance, you can draw in the air.
There are two places that this plugin does its work. The annotations are stored in ServerStorage, and the visuals are stored inside the camera. The camera is special place that only displays things to you, while also cleaning up when you leave.
In ServerStorage,
There is an AnnotationsPlugin folder
There are folders for each user’s annotations, named by UserId
In the camera,
There are Parts used as hitboxes for the eraser tool
There are LineHandleAdornments inside the parts to display lines
There are ObjectValues named Reference that point back to the annotations in ServerStorage, this is how the eraser tool knows what to delete
To keep the drawings in sync with what is in ServerStorage, these annotations are tracked in real time. Any new or deleted annotation objects will update on screen. Folders are only created when needed and cleaned up when empty.
If you want to clear all of a user’s annotations, simply clear or delete the folder with the corresponding UserId.
In my unbiased opinion, I think this plugin is pretty great! There are some areas that could be improved, and I’m sure they will over time. This seems very helpful for large groups, especially those who want to storyboard some creations. I could see myself using this for suggesting changes to a creation.
The caveat here is that in order to make the annotations only visible in studio, I did a client-side rendering which requires the plugin to function. If there is any other way to have studio-only visuals without needing the plugin, I will use that instead.
This wouldn’t work then. Someone would need the plugin to create the annotations, but if they don’t stay in studio, they will be gone until someone with the plugin joins anyway.
I did actually consider that, but it’s not always fast enough and does sometimes replicate to the first players in the server. It would also require the plugin to ask for script injection permissions. I’ll have to weigh the pros and cons.
Another alternative would be to have the annotations attached to an unanchored uncollideable part that falls into the void. I don’t think the performance would suffer that much if you did it right
this plugin has been on my mind recently, because I think you replied to someone and said that you would make this and now I finally found it! very cool