New Part Collision Property: CanTouch [ACTIVATED]

It seems to work well, although i get weird bug where if i disable CanTouch and re-enable it my touch detectors seem not to work [“There is no error being outputed on the server”].

1 Like

Could you please post a bug report for this? Feel free to tag me in it after

1 Like

I can’t because i have no ability to create a draft in the bug section, is there any other way i can report this bug?

1 Like

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.