Checking the distance between two parts constantly

In my game, aircraft need to return near its carrier to resupply weapons/ordnance.

I am using RunService to check if the plane is in resupply distance or not. Would this cause lag? There are usually multiple flying around at the same time, all checking for the distance. Is there a better way to handle this?

game:GetService("RunService").Heartbeat:Connect(function()
	if exploded == false then
		if script.Parent.PrimaryPart.Position.Y < 0 then
			boom() --explosion function
		end

		--below checks if aircraft is near its carrier
		if ((workspace.Antares["Aircraft Carrier Scorpius Alpha"].Carrier.Ship.ResupplyRef.Position - script.Parent.PrimaryPart.Position)).Magnitude < resupplydistance then
			for _,o in pairs(script.Parent.Weapons.Bombs:GetChildren()) do
				o.MeshPart.Transparency = 0 --show weapons to indicate it's resupplied
			end
			resupplied = true --enables weapon usage
		end
	end
end);

@ClassicMasterNoob, I wouldn’t say it would cause performance issues, especially when you’re not creating 3D Rendered parts / overloading the game with instances. (Assuming you’re doing this in a very high frequency.)

Although I wouldn’t do this too fast. At least, I’d place it in a while loop with a yield of .2 seconds.

No, it’s fine. Even if you do it 100s to 1000s of times per frame.