Touched events do not work for parts that are CFramed and anchored, as stated in the the wiki. This event does not fire if the part is being CFramed through something. (This is an excerpt from the wiki). My real problem is I have many parts flying around using BodyForces, and this creates a lot of physics lag. Unanchoring the 'bullet' makes the event fire, but glitches out the bullet itself. I have thought about using RenderStepped:wait()(something like that) so that each frame it isn't glitching out, but this would create the same amount of lag I had to start with. Is there any other way to have an event that acts just like a Touched event would?
--Here's part of the script. lazer = script.Parent lazer.Touched:connect(function(otherPart) end)
No, but there are solutions
You can check if it is intersecting with another part's physical boundaries after the CFrame. Use GetTouchingParts for this.
-- Following a CFrame operation for k,v in pairs(movedPart:GetTouchingParts()) do -- v is now any part it touched, effectively. end
I hope this helped. If you have any implementation issues, feel free to ask for help.