I created a system that allows you to bypass (or greatly exceed) the roblox highlight limit if used in the right ways. This system offers close to if not the same level of customizability as having a regular highlight instance inserted into a part or model regularly. Of course, I could be wrong about this in some aspects such as offering the same level of customizability, as I’d need more people to test this out to be certain. The more feedback I receive about potential issues, or simply feature requests, the better this system will become for all developers.
Cool stuff, but the highlight limit exists for a reason. Highlights are expensive to render, and thus should be used sparingly. If you have to use that many unique highlights, you’re probably doing something wrong.
Expensive to render how? It’s just getting the object in a 2d view and slapping a black box over it with some geometry to fit it, how is it expensive to render
This system works by getting the table you create, with the first entry being the name of the tag you’ll put on an instance, which will then be assigned to a bypasser. Each part you add the tag to will be put into that table, and read by the module. Each part added will also have an ObjectValue inserted into it that defines the instances Original Location before being inserted into a bypasser. Then, upon creating a bypasser (a model with a highlight in it that you customize), it takes everything in that table of instances (skipping the first entry in the table, which is the detection tag), and inserts it into the bypasser. Updating the bypassers works by getting all of the instances in the table used by a bypasser, and determining whether or not an instance within the table is in the right location. So, if an instance is in the bypasser table, but not in the bypasser, we’ll parent the instance to the bypasser. But, if the instance is in the bypasser, but isn’t in the table, we’ll remove the instance from the bypasser. And if the instance is already in the right location, we do nothing. The way destroying bypassers works is it gets all of the instances inside the bypasser table and reads the original location object value inside of each instance, and parents it to that value. Then, it destroys the bypasser.
I hope this made sense, and if you need more of a visual explanation, you can find some documentation and examples within the module, and server script. You can also check out the video I made on it.
Ohh, I see. Sadly this is not exactly a bypasser, because you could easily achieve the same effect by just parenting a single Highlight to a workspace.
Well, not exactly. Inserting a highlight into the workspace, while only using one highlight instance, will cause everything to be highlighted, rather than specific parts and models. Inserting a highlight into the workspace also has extremely limited customizability. This system allows for a lot more customizability.