TouchInterest.rbxl (583.7 KB)
I have been doing some Testing for about an Hour and I learnt a lot about how TouchInterest works and how they are created
for i , v in pairs(workspace:GetDescendants()) do
if v.Name == 'TouchInterest' then
v:Destroy()
end
end
I have use this code to remove all of the TouchInterest inside the Accessories Handle
but when the Accessories are Re-Parented Studio and also the Game creates a new TouchInterest (when a New Server is being created)
I have noticed that when an Empty Character with no Accessories inside of it touches an Accessory with a TouchInterest in it will Parent the Accessory to the Character.
If the TouchInterest is removed then it does nothing upon touch
I have also found that when TouchInterest is :Destroy() in the client it won’t Parent the Accessory to the Player.Character even when the TouchInterest is still on the Server
This is also true for Tools and BaseParts with Touched:Connect(function)
So why do I think there should be more Documents on TouchInterest?
Because we know nothing about it and there is nothing on the Wiki that Explains what it does or how it’s even created as you can see here https://wiki.roblox.com/index.php?title=API:Class/TouchTransmitter
“This object has been marked as internal. It currently serves no significant use to developers.”
But it’s in our games and it can cause unwanted behaviors
-
A Developer might not want Players to pick up Tools/Accessories from the ground when Touched and they have no idea how to do that because there is no Documents about TouchInterest.
-
A Developer might have Accessories inside an NPC and Anchored all of the BaseParts inside it then a Player Touches the Accessory gets stuck then Resets and then the Accessory is gone from that Server, and they have no idea how to deal with that because there is no Documents about TouchInterest.
(This happened in my game btw so it’s a legit case, it was the reason why I have been doing this in the first place) -
A Developer might want to limit Touch Events for a Specific Client and they have no idea how to do that because there is no Documents about TouchInterest.
(Let’s say that you have an Obby and they have CheckPoints you could :Destroy() the TouchInterest of a Specific Checkpoint with a LocalScript to limit Touch Events so that the Server doesn’t receive the Touch Event when the player Touches Level 5’s Checkpoint when they are actually at Level 10, because it’s just useless and it bothers the Server for no good reason)