Most games that have a “CoreGui” detection aren’t actually, they are really just using preloadasync and checking for if any images are added into CoreGui aka a Library.
Most scripts use ProtectedGuis now, so this is basically useless now
while task.wait() do -- loops
game:GetService("ContentProvider"):preloadAsync({game.CoreGui}, function(assetid, status) -- search coregui for any assets, the 2nd arg is useless
if string.find(tostring(assetid), "rbxassetid://") then -- Roblox will never put a rbxassetid by themselves in.
game.Players.LocalPlayer:Kick('Exploiting! External Library Added to the Game!') -- Kick Player if detected (I would kick with a remote tbh)
end
end)
end