New Part Collision Property: CanTouch [ACTIVATED]

Is there maybe an introduction on how it works? I wanna test this but I don’t know how to start.

1 Like

Send your bug report as a direct message to @bug-support. (Following the correct format of course)

1 Like

Is this a bug? If the touch events were established before changing the property then it makes sense that the property change would shutdown those touch events. At least to me it makes sense.

3 Likes

Never mind, i re-published the place today and it all works now!

After setting CanTouch = false on all non-collidable and non-touchable parts in our huge open-world game, I haven’t noticed any performance or memory usage improvement.

1 Like

image
I never set any of those parts CanTouch to false. Does this mean I’ve got to manually set it to false?

It appears to be set to false on the client but true on the server

Very useful, but is there a way to have it work with GetTouchingParts()? I couldn’t get that function to work unless I connected another touch function first.

This behavior will also extend to BasePart:GetTouchingParts . This function ignores all parts with CanCollide set to False , unless the caller part has a TouchTransmitter (is listening for touch events). If that’s the case, all parts with CanTouch set to False will still be ignored.

Is there a reason that you still have to insert a touch transmitter?

1 Like

Thank you very much for this. This is a game changer in my project. I have thousands of active elements in my game, so I decided to connect Touched function to humanoid instead and filter out all inactive elements. By using this property I can vastly reduce amount of calls. Big thanks.

Are there plans to get rid of the warning message “Collider has CanTouch set to False. TouchTransmitter will be removed.”?

1 Like

Will this be planned to work on raycasts soon? Am having an annoying issue with HumanoidRootParts, and i was thinking of using CanTouch set to false to ignore hitting it but Raycasts still collide with it.

I have the same issue it just totally made my game unplayable

used this to spawn food for the players to collect… which now has stopped working

https://www.roblox.com/games/3138006609

This feature has been enabled for months.
The bug that caused that issue earlier today is unrelated.

3 Likes

Amazing,it really reduced lag inside my game!

Disabling this property via a script logs a warning in the console. Is there any way to evade that?

5 Likes

i have made a test world tool and use the proprety on my tool part and now it warn (Handle has CanTouch set to False. No TouchTransmitter will be created) i like that it dont make a TouchTransmitter since now exploiter cant use the tool to tp other user around but is there a way to remove this warning to showing each and every time i take a tool out my backpack

Agreed. We have this warning spam in our game. It doesn’t communicate specifically which part, we have thousands of possible parts that could be causing this. Would it be possible to get a full path outputted for these errors?

3 Likes

You could just

for i,v in next,game:GetDescendants() do
	pcall(function()
		if v:IsA("MeshPart") and v.CanTouch==false then
			print(v:GetFullName())
		end
	end)
end

But for finding out what’s trying to be added with a Touched event, oh.

I just tried using this to deactivate touchable parts that shrink into an object because they would still touch players’ arms, etc. So while in (CanTouch = false), out (CanTouch = true)

This design caused memory build up and lag (in studio)
Memory>CoreMemory>default just continues to grow.
item.CanTouch = false removing this line prevents it.

My Question:
Is default where the errors are stored? I wrack up thousands of them with repeated disconnects/reconnects, and if so, please show me the off switch for them.

Otherwise something might be wrong. :confused:
P.S. Was just trying something new, probably gonna just redesign them to work without the property so this is mostly just curiosity.

What if you set CanTouch back on later? Will the event reactivate itself? I’m trying to use CanTouch as an easy way to temporarily suppress touch events.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.