firetouchinterest
Simulate a physical Touched or TouchEnded event between two BaseParts.
function firetouchinterest(part1: BasePart, part2: BasePart, toggle: boolean | number): ()Synopsis
How it works
Simulates a
.Touched / .TouchEnded event between two BaseParts without physically moving either one. The toggle parameter controls the phase: 1 (or true) fires Touched, 0 (or false) fires TouchEnded. Internally patches the physics contact pair list to include the requested pair.Common pattern
Touch-based interactions (coin collection, zone triggers, damage regions) requirerequire()Loads and executes a ModuleScript, returning its result. The return value is cached in _LOADED — subsequent require() calls return the cached copy. Executor overrides may bypass the cache or load arbitrary modules. both a begin and end touch. Always fire both:
firetouchinterest(hrp, coin, 1)
task.wait()
firetouchinterest(hrp, coin, 0)Usage
Trigger a kill brick touch event
local killBrick = workspace:FindFirstChild("KillBrick")
local char = game.Players.LocalPlayer.Character
if killBrick and char then
local hrp = char:FindFirstChild("HumanoidRootPart")
firetouchinterest(hrp, killBrick, true) "cc">-- start touch
task.wait(0.1)
firetouchinterest(hrp, killBrick, false) "cc">-- end touch
endParameters
part1 BasePart The initiating BasePart.
part2 BasePart The BasePart that should be touched.
toggle boolean | number true or 0 = simulate touch start. false or 1 = simulate touch end.
Avoid Luau re-implementation
Implementing this in Luau exposes easy detection vectors. Use the executor built-in only.