

Scanning the entire data model for parts named “KillBrick” and attaching code to them, which is slow and is often done without accounting for new bricks being added after the game starts.LinkedScripts, which have the issue that if you ever want to add a ModuleScript child or something, well, you just can’t.There are a few solutions to this problem today that are used: Local humanoid = part.Parent and part.Parent:FindFirstChild("Humanoid")īut now they have a dilemma, that they have thousands of copies of this script that all need to be individually updated. Then they later realize that the brick only breaks your legs off and doesn’t actually kill you when you jump up and down on it, and they want to replace it with this: :Connect(function(part) Then they would copy and paste that kill brick thousands of times throughout their place. It makes it easy to add scripted behaviors to objects created by level designers on a multi-disciplinary team.īy handling both the added and removed signals in your scripts, it makes it easy to write code that’s compatible with StreamingEnabled.įor example, in the old days someone might implement a kill brick by writing this Script and putting it inside their first kill brick: :Connect(function(part) Why use CollectionService?ĬollectionService allows you to avoid copying and pasting scripts throughout your game and avoid scanning the workspace for hardcoded names. It’s become an essential tool in many game developers’ toolboxes. You can also visualize and view a list of what objects have a given tag, and so on. This plugin allows you to create tags, and then assign them to objects in your game. If you aren’t familiar with what that is, please read the wiki page and then continue reading this post:

This is a plugin for editing CollectionService tags.
