FE INVISIBLE ( OPEN SOURCE )
Key RequiredUniversal

FE INVISIBLE ( OPEN SOURCE )

Universal ScriptMANGO205MANGO205 22.7K views 8K executesUpdated Sep 16, 2025
3.3/ 5(6 votes)
4267% Positive
Lua Script•438 lines (12318 chars)
--!strict

-- Configuration
local CONFIG = {
	TOGGLE_KEY = Enum.KeyCode.X,
	DEFAULT_SPEED = 16,
	BOOSTED_SPEED = 48,
	SOUND_ID = "rbxassetid://942127495",
	INVISIBILITY_POSITION = Vector3.new(-25.95, 84, 3537.55),
	NOTIFICATION_DURATION = 3,
	-- UI Colors
	BACKGROUND_COLOR = Color3.fromRGB(25, 25, 25),
	ACCENT_COLOR = Color3.fromRGB(45, 45, 45),
	PRIMARY_COLOR = Color3.fromRGB(0, 170, 255),
	SUCCESS_COLOR = Color3.fromRGB(46, 204, 113),
	DANGER_COLOR = Color3.fromRGB(231, 76, 60),
	WARNING_COLOR = Color3.fromRGB(241, 196, 15),
	TEXT_COLOR = Color3.fromRGB(255, 255, 255),
	SECONDARY_TEXT_COLOR = Color3.fromRGB(189, 195, 199),
}

-- Types
type PlayerState = {
	isInvisible: boolean,
	isSpeedBoosted: boolean,
	originalSpeed: number,
}

-- Services
local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

-- Variables
local player = Players.LocalPlayer
local playerState: PlayerState = {
	isInvisible = false,
	isSpeedBoosted = false,
	originalSpeed = CONFIG.DEFAULT_SPEED,
}

-- GUI Elements
local screenGui: ScreenGui
local mainFrame: Frame
local toggleButton: TextButton
local speedButton: TextButton
local closeButton: TextButton
local signatureLabel: TextLabel
local sound: Sound

-- Utility Functions
local function createNotification(title: string, text: string): ()
	StarterGui:SetCore("SendNotification", {
		Title = title,
		Text = text,
		Duration = CONFIG.NOTIFICATION_DURATION,
	})
end

local function setCharacterTransparency(character: Model, transparency: number): ()
	for _, descendant in character:GetDescendants() do
		if descendant:IsA("BasePart") or descendant:IsA("Decal") then
			descendant.Transparency = transparency
		end
	end
end

local function getHumanoid(): Humanoid?
	local character = player.Character
	if not character then
		return nil
	end
	return character:FindFirstChild("Humanoid") :: Humanoid?
end

local function getHumanoidRootPart(): BasePart?
	local character = player.Character
	if not character then
		return nil
	end
	return character:FindFirstChild("HumanoidRootPart") :: BasePart?
end

local function playSound(): ()
	if sound then
		sound:Play()
	end
end

-- Core Functions
local function toggleInvisibility(): ()
	if not player.Character then
		warn("Character not found")
		return
	end

	playerState.isInvisible = not playerState.isInvisible
	playSound()

	if playerState.isInvisible then
		local humanoidRootPart = getHumanoidRootPart()
		if not humanoidRootPart then
			warn("HumanoidRootPart not found")
			return
		end

		local savedPosition = humanoidRootPart.CFrame

		-- Move to invisibility position
		player.Character:MoveTo(CONFIG.INVISIBILITY_POSITION)
		task.wait(0.15)

		-- Create invisible seat
		local seat = Instance.new("Seat")
		seat.Name = "invischair"
		seat.Anchored = false
		seat.CanCollide = false
		seat.Transparency = 1
		seat.Position = CONFIG.INVISIBILITY_POSITION
		seat.Parent = workspace

		-- Weld seat to character
		local weld = Instance.new("Weld")
		weld.Part0 = seat
		weld.Part1 = player.Character:FindFirstChild("Torso") or player.Character:FindFirstChild("UpperTorso")
		weld.Parent = seat

		task.wait()
		seat.CFrame = savedPosition

		-- Set character transparency
		setCharacterTransparency(player.Character, 0.5)

		-- Update button appearance
		toggleButton.BackgroundColor3 = CONFIG.SUCCESS_COLOR
		toggleButton.Text = "VISIBLE"
		if _G.statusLabel then
			_G.statusLabel.Text = "Invisible Mode Active"
			_G.statusLabel.TextColor3 = CONFIG.SUCCESS_COLOR
		end

		createNotification("Invisibility ON", "You are now invisible")
	else
		-- Remove invisible chair
		local invisChair = workspace:FindFirstChild("invischair")
		if invisChair then
			invisChair:Destroy()
		end

		-- Restore character visibility
		if player.Character then
			setCharacterTransparency(player.Character, 0)
		end

		-- Update button appearance
		toggleButton.BackgroundColor3 = CONFIG.PRIMARY_COLOR
		toggleButton.Text = "INVISIBLE"
		if _G.statusLabel then
			_G.statusLabel.Text = "Visible Mode Active"
			_G.statusLabel.TextColor3 = CONFIG.SECONDARY_TEXT_COLOR
		end

		createNotification("Invisibility OFF", "You are now visible")
	end
end

local function toggleSpeedBoost(): ()
	local humanoid = getHumanoid()
	if not humanoid then
		warn("Humanoid not found")
		return
	end

	playerState.isSpeedBoosted = not playerState.isSpeedBoosted
	playSound()

	if playerState.isSpeedBoosted then
		humanoid.WalkSpeed = CONFIG.BOOSTED_SPEED
		speedButton.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
		speedButton.Text = "SPEED ON"
		createNotification("Speed Boost ON", `Speed: {CONFIG.BOOSTED_SPEED}`)
	else
		humanoid.WalkSpeed = playerState.originalSpeed
		speedButton.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
		speedButton.Text = "SPEED BOOST"
		createNotification("Speed Boost OFF", `Speed: {playerState.originalSpeed}`)
	end
end

local function resetPlayerState(): ()
	playerState.isInvisible = false
	playerState.isSpeedBoosted = false

	-- Reset button appearances
	if toggleButton then
		toggleButton.BackgroundColor3 = CONFIG.PRIMARY_COLOR
		toggleButton.Text = "INVISIBLE"
	end

	if speedButton then
		speedButton.BackgroundColor3 = CONFIG.DANGER_COLOR
		speedButton.Text = "SPEED BOOST"
	end

	-- Reset status
	if _G.statusLabel then
		_G.statusLabel.Text = "Ready"
		_G.statusLabel.TextColor3 = CONFIG.SECONDARY_TEXT_COLOR
	end
end

-- GUI Creation
local function createGUI(): ()
	-- Main ScreenGui
	screenGui = Instance.new("ScreenGui")
	screenGui.Name = "InvisibilityGUI"
	screenGui.ResetOnSpawn = false
	screenGui.Parent = player:WaitForChild("PlayerGui")

	-- Main Frame
	mainFrame = Instance.new("Frame")
	mainFrame.Name = "MainFrame"
	mainFrame.Size = UDim2.new(0, 160, 0, 180)
	mainFrame.Position = UDim2.new(0.5, -80, 0.5, -90)
	mainFrame.BackgroundColor3 = CONFIG.BACKGROUND_COLOR
	mainFrame.BorderSizePixel = 0
	mainFrame.Active = true
	mainFrame.Draggable = true
	mainFrame.Parent = screenGui

	-- Add corner rounding and shadow effect
	local corner = Instance.new("UICorner")
	corner.CornerRadius = UDim.new(0, 12)
	corner.Parent = mainFrame

	-- Add stroke for better definition
	local stroke = Instance.new("UIStroke")
	stroke.Color = CONFIG.ACCENT_COLOR
	stroke.Thickness = 2
	stroke.Parent = mainFrame

	-- Title Label
	local titleLabel = Instance.new("TextLabel")
	titleLabel.Name = "TitleLabel"
	titleLabel.Size = UDim2.new(1, -20, 0, 25)
	titleLabel.Position = UDim2.new(0, 10, 0, 10)
	titleLabel.Text = "INVISIBILITY TOOL"
	titleLabel.BackgroundTransparency = 1
	titleLabel.TextColor3 = CONFIG.TEXT_COLOR
	titleLabel.Font = Enum.Font.GothamBold
	titleLabel.TextSize = 12
	titleLabel.TextXAlignment = Enum.TextXAlignment.Left
	titleLabel.Parent = mainFrame

	-- Toggle Button
	toggleButton = Instance.new("TextButton")
	toggleButton.Name = "ToggleButton"
	toggleButton.Size = UDim2.new(1, -20, 0, 35)
	toggleButton.Position = UDim2.new(0, 10, 0, 45)
	toggleButton.Text = "INVISIBLE"
	toggleButton.BackgroundColor3 = CONFIG.PRIMARY_COLOR
	toggleButton.TextColor3 = CONFIG.TEXT_COLOR
	toggleButton.Font = Enum.Font.GothamBold
	toggleButton.TextScaled = true
	toggleButton.BorderSizePixel = 0
	toggleButton.Parent = mainFrame

	local toggleCorner = Instance.new("UICorner")
	toggleCorner.CornerRadius = UDim.new(0, 8)
	toggleCorner.Parent = toggleButton

	-- Add hover effect for toggle button
	local toggleStroke = Instance.new("UIStroke")
	toggleStroke.Color = Color3.fromRGB(255, 255, 255)
	toggleStroke.Thickness = 0
	toggleStroke.Transparency = 0.8
	toggleStroke.Parent = toggleButton

	-- Speed Button
	speedButton = Instance.new("TextButton")
	speedButton.Name = "SpeedButton"
	speedButton.Size = UDim2.new(1, -20, 0, 35)
	speedButton.Position = UDim2.new(0, 10, 0, 90)
	speedButton.Text = "SPEED BOOST"
	speedButton.BackgroundColor3 = CONFIG.DANGER_COLOR
	speedButton.TextColor3 = CONFIG.TEXT_COLOR
	speedButton.Font = Enum.Font.GothamBold
	speedButton.TextScaled = true
	speedButton.BorderSizePixel = 0
	speedButton.Parent = mainFrame

	local speedCorner = Instance.new("UICorner")
	speedCorner.CornerRadius = UDim.new(0, 8)
	speedCorner.Parent = speedButton

	-- Add hover effect for speed button
	local speedStroke = Instance.new("UIStroke")
	speedStroke.Color = Color3.fromRGB(255, 255, 255)
	speedStroke.Thickness = 0
	speedStroke.Transparency = 0.8
	speedStroke.Parent = speedButton

	-- Close Button
	closeButton = Instance.new("TextButton")
	closeButton.Name = "CloseButton"
	closeButton.Size = UDim2.new(0, 25, 0, 25)
	closeButton.Position = UDim2.new(1, -30, 0, 5)
	closeButton.Text = "×"
	closeButton.BackgroundColor3 = CONFIG.DANGER_COLOR
	closeButton.TextColor3 = CONFIG.TEXT_COLOR
	closeButton.Font = Enum.Font.GothamBold
	closeButton.TextSize = 16
	closeButton.BorderSizePixel = 0
	closeButton.Parent = mainFrame

	local closeCorner = Instance.new("UICorner")
	closeCorner.CornerRadius = UDim.new(0, 6)
	closeCorner.Parent = closeButton

	-- Status Indicator
	local statusFrame = Instance.new("Frame")
	statusFrame.Name = "StatusFrame"
	statusFrame.Size = UDim2.new(1, -20, 0, 20)
	statusFrame.Position = UDim2.new(0, 10, 0, 135)
	statusFrame.BackgroundColor3 = CONFIG.ACCENT_COLOR
	statusFrame.BorderSizePixel = 0
	statusFrame.Parent = mainFrame

	local statusCorner = Instance.new("UICorner")
	statusCorner.CornerRadius = UDim.new(0, 6)
	statusCorner.Parent = statusFrame

	local statusLabel = Instance.new("TextLabel")
	statusLabel.Name = "StatusLabel"
	statusLabel.Size = UDim2.new(1, -10, 1, 0)
	statusLabel.Position = UDim2.new(0, 5, 0, 0)
	statusLabel.Text = "Ready"
	statusLabel.BackgroundTransparency = 1
	statusLabel.TextColor3 = CONFIG.SECONDARY_TEXT_COLOR
	statusLabel.Font = Enum.Font.Gotham
	statusLabel.TextSize = 10
	statusLabel.TextXAlignment = Enum.TextXAlignment.Left
	statusLabel.Parent = statusFrame

	-- Signature Label
	signatureLabel = Instance.new("TextLabel")
	signatureLabel.Name = "SignatureLabel"
	signatureLabel.Size = UDim2.new(1, -20, 0, 15)
	signatureLabel.Position = UDim2.new(0, 10, 1, -20)
	signatureLabel.Text = "By: xXHaNdEROXx TG@MK14CFG"
	signatureLabel.BackgroundTransparency = 1
	signatureLabel.TextColor3 = CONFIG.SECONDARY_TEXT_COLOR
	signatureLabel.Font = Enum.Font.Gotham
	signatureLabel.TextSize = 8
	signatureLabel.TextTransparency = 0.5
	signatureLabel.TextXAlignment = Enum.TextXAlignment.Center
	signatureLabel.Parent = mainFrame

	-- Sound
	sound = Instance.new("Sound")
	sound.Name = "ToggleSound"
	sound.SoundId = CONFIG.SOUND_ID
	sound.Volume = 0.5
	sound.Parent = screenGui

	-- Store status label for updates
	_G.statusLabel = statusLabel
end

-- Event Connections
local function connectEvents(): ()
	-- Button connections
	toggleButton.MouseButton1Click:Connect(toggleInvisibility)
	speedButton.MouseButton1Click:Connect(toggleSpeedBoost)
	closeButton.MouseButton1Click:Connect(function()
		screenGui.Enabled = false
	end)

	-- Keyboard input
	UserInputService.InputBegan:Connect(function(input: InputObject, gameProcessed: boolean)
		if gameProcessed then
			return
		end

		if input.KeyCode == CONFIG.TOGGLE_KEY then
			toggleInvisibility()
		end
	end)

	-- Character respawn handling
	player.CharacterAdded:Connect(function(character: Model)
		resetPlayerState()

		local humanoid = character:WaitForChild("Humanoid") :: Humanoid
		playerState.originalSpeed = humanoid.WalkSpeed
		humanoid.WalkSpeed = CONFIG.DEFAULT_SPEED

		-- Clean up any existing invisible chairs
		local invisChair = workspace:FindFirstChild("invischair")
		if invisChair then
			invisChair:Destroy()
		end
	end)

	-- Handle player leaving
	Players.PlayerRemoving:Connect(function(leavingPlayer: Player)
		if leavingPlayer == player then
			local invisChair = workspace:FindFirstChild("invischair")
			if invisChair then
				invisChair:Destroy()
			end
		end
	end)
end

-- Initialize
local function initialize(): ()
	-- Wait for character to load
	if not player.Character then
		player.CharacterAdded:Wait()
	end

	-- Store original speed
	local humanoid = getHumanoid()
	if humanoid then
		playerState.originalSpeed = humanoid.WalkSpeed
	end

	-- Create GUI and connect events
	createGUI()
	connectEvents()

	print("Enhanced Invisibility Script loaded successfully!")
end

-- Start the script
initialize()

Features & Information

- player cant see your when you invisible - FE - Work on any game ( run hide fight its the mosts perfect game to use this script ) - Keybind X to make ur character invisible or you can press the button
#OP#FE

Community Comments (15)

LuauIsBluu_2LuauIsBluu_2Sep 16, 2025

Great script Gang But iDk if is posible make a script of invisibility thats allows you to attack When invisible like hide your body underGrownd but still hitbox up?

Replying to @LuauIsBluu_2
MANGO205MANGO205Sep 16, 2025

@teslacueto on run hide fight there a gun when you use this script you still can kill people with ur gun or weapon also maybe can work on other game

panh60041panh60041Sep 16, 2025

nice

aniq092uaniq092uSep 17, 2025(edited)

Great script, but SOMETIMES it doesn't work(In your screen it says invisible) while other people can still see you at the place you clicked the "invisible" button and you're just frozen there. Otherwise, this script is goated people can't even see you in spectator

i have a script iit still gets players while invisble but when a dev uses A hitbox is a whole new issue

plus hes using the same method i am using and released same moth as i am feels weird and code feels weird just names

Joyful_PizzaPartylJoyful_PizzaPartylJan 29, 2026

Is this chatgpt?

Replying to @Joyful_PizzaPartyl
MANGO205MANGO205Jan 30, 2026

@Joyful_PizzaPartyl nope i got some source on github and i modify it

Replying to @MANGO205
Joyful_PizzaPartylJoyful_PizzaPartylJan 31, 2026

@SCRIPTBLOXSECURITY then if you modified the script what if person who made the script used chatgpt

Replying to @Joyful_PizzaPartyl
MANGO205MANGO205Jan 31, 2026

@Joyful_PizzaPartyl so what purpose you commenting this script?

Joyful_PizzaPartylJoyful_PizzaPartylJan 31, 2026

Noone uses that stupid -- comment

Joyful_PizzaPartylJoyful_PizzaPartylJan 31, 2026

On every variable and parts

Joyful_PizzaPartylJoyful_PizzaPartylFeb 15, 2026

Hey guys there is no script that supports ALL pvp games and support invisibility kill, sadly your hrp gets teleported too.

Replying to @Joyful_PizzaPartyl
MANGO205MANGO205Feb 15, 2026

@Joyful_PizzaPartyl who said all pvp games tho its actually support invisbillity kill based on your rage and game

Replying to @MANGO205
Joyful_PizzaPartylJoyful_PizzaPartylFeb 21, 2026

@SCRIPTBLOXSECURITY yeah like mm2 but there's no thing that supports ALL pvp games..

More Scripts for Universal Scripts