Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
TweenService = :()
UserInputService = :()
Workspace = :()
LocalPlayer = Players.LocalPlayer
PlayerGui = LocalPlayer:()
Camera = Workspace.CurrentCamera
Config = {
ESP = ,
AimAssist = ,
TargetLock = ,
WallCheck = ,
HitboxDebug = ,
IgnoreFriends = ,
AimSmoothness = ,
MaxDistance = ,
TargetPart = ,
Theme =
}
State = {
Target = ,
ESP = {},
Hitboxes = {},
GUIOpen =
}
Themes = {
Dark = {
Background = .(,,),
Panel = .(,,),
Button = .(,,),
Accent = .(,,),
Text = .(,,),
SubText = .(,,)
},
Emerald = {
Background = .(,,),
Panel = .(,,),
Button = .(,,),
Accent = .(,,),
Text = .(,,),
SubText = .(,,)
}
}
Theme = Themes.Dark
(Class, Properties, Parent)
Object = .(Class)
Property, Value (Properties)
Object[Property] = Value
Object.Parent = Parent
Object
(Object, Radius)
C = .()
C.CornerRadius = .(, Radius)
C.Parent = Object
C
ScreenGui = (, {
Name = ,
ResetOnSpawn = ,
IgnoreGuiInset = ,
ZIndexBehavior = .ZIndexBehavior.Sibling
}, PlayerGui)
Icon = (, {
Name = ,
Size = .(,),
Position = .(,,,-),
BackgroundColor3 = Theme.Panel,
BorderSizePixel = ,
Text = ,
TextColor3 = Theme.Accent,
TextSize = ,
Font = .Font.GothamBold,
AutoButtonColor =
}, ScreenGui)
(Icon,)
IconStroke = .()
IconStroke.Name =
IconStroke.Color = Theme.Accent
IconStroke.Thickness =
IconStroke.Parent = Icon
Main = (, {
Name = ,
Size = .(,),
Position = .(,-,,-),
BackgroundColor3 = Theme.Background,
BorderSizePixel =
}, ScreenGui)
(Main,)
MainStroke = .()
MainStroke.Color = Theme.Accent
MainStroke.Transparency =
MainStroke.Parent = Main
TopBar = (, {
Size = .(,,,),
BackgroundColor3 = Theme.Panel,
BorderSizePixel =
}, Main)
(TopBar,)
Title = (, {
BackgroundTransparency = ,
Position = .(,),
Size = .(,-,,),
Text = ,
TextColor3 = Theme.Text,
Font = .Font.GothamBold,
TextSize = ,
TextXAlignment = .TextXAlignment.Left
}, TopBar)
Subtitle = (, {
BackgroundTransparency = ,
Position = .(,),
Size = .(,-,,),
Text = ,
TextColor3 = Theme.SubText,
Font = .Font.Gotham,
TextSize = ,
TextXAlignment = .TextXAlignment.Left
}, TopBar)
Close = (, {
Size = .(,),
Position = .(,-,,),
BackgroundColor3 = Theme.Button,
BorderSizePixel = ,
Text = ,
TextColor3 = Theme.Text,
TextSize = ,
Font = .Font.GothamBold
}, TopBar)
(Close,)
Content = (, {
Position = .(,),
Size = .(,-,,-),
BackgroundTransparency = ,
BorderSizePixel = ,
ScrollBarThickness = ,
CanvasSize = .(,,,),
AutomaticCanvasSize = .AutomaticSize.Y
}, Main)
(, {
Padding = .(,),
SortOrder = .SortOrder.LayoutOrder
}, Content)
Dragging =
DragStart
StartPosition
TopBar.InputBegan:((Input)
Input.UserInputType == .UserInputType.MouseButton1
Input.UserInputType == .UserInputType.Touch
Dragging =
DragStart = Input.Position
StartPosition = Main.Position
)
TopBar.InputEnded:((Input)
Input.UserInputType == .UserInputType.MouseButton1
Input.UserInputType == .UserInputType.Touch
Dragging =
)
UserInputService.InputChanged:((Input)
Dragging
Input.UserInputType ~= .UserInputType.MouseMovement
Input.UserInputType ~= .UserInputType.Touch
Delta = Input.Position - DragStart
Main.Position = .(
StartPosition.X.Scale,
StartPosition.X.Offset + Delta.X,
StartPosition.Y.Scale,
StartPosition.Y.Offset + Delta.Y
)
)
()
State.GUIOpen =
Main.Visible =
Main.Size = .(,)
TweenService:(
Main,
TweenInfo.(,.EasingStyle.Back,.EasingDirection.Out),
{Size = .(,)}
):()
()
State.GUIOpen =
Tween = TweenService:(
Main,
TweenInfo.(,.EasingStyle.Quad,.EasingDirection.In),
{Size = .(,)}
)
Tween:()
Tween.Completed:(()
State.GUIOpen
Main.Visible =
)
Icon.MouseButton1Click:(()
State.GUIOpen
()
()
)
Close.MouseButton1Click:(CloseGUI)
IconDragging =
IconStart
IconPosition
Icon.InputBegan:((Input)
Input.UserInputType == .UserInputType.MouseButton1
Input.UserInputType == .UserInputType.Touch
IconDragging =
IconStart = Input.Position
IconPosition = Icon.Position
)
Icon.InputEnded:((Input)
Input.UserInputType == .UserInputType.MouseButton1
Input.UserInputType == .UserInputType.Touch
IconDragging =
)
UserInputService.InputChanged:((Input)
IconDragging
Input.UserInputType ~= .UserInputType.MouseMovement
Input.UserInputType ~= .UserInputType.Touch
Delta = Input.Position - IconStart
Icon.Position = .(
IconPosition.X.Scale,
IconPosition.X.Offset + Delta.X,
IconPosition.Y.Scale,
IconPosition.Y.Offset + Delta.Y
)
)
(Name, Default, Callback)
Button = (, {
Size = .(,,,),
BackgroundColor3 = Theme.Button,
BorderSizePixel = ,
TextColor3 = Theme.Text,
TextSize = ,
Font = .Font.GothamMedium,
AutoButtonColor =
}, Content)
(Button,)
Enabled = Default
()
Button.Text = Name .. (Enabled )
Enabled
Button.BackgroundColor3 = Theme.Accent
Button.TextColor3 = .(,,)
Button.BackgroundColor3 = Theme.Button
Button.TextColor3 = Theme.Text
Button.MouseButton1Click:(()
Enabled = Enabled
(Enabled)
()
)
()
Button
(Player)
Player Player == LocalPlayer
Config.IgnoreFriends
Success, IsFriend = (()
LocalPlayer:(Player.UserId)
)
Success IsFriend
Character = Player.Character
Character
Humanoid = Character:()
Root = Character:()
Humanoid Humanoid.Health <= Root
(Player)
(Player)
.huge
Character = LocalPlayer.Character
Character
.huge
MyRoot = Character:()
TargetRoot = Player.Character:()
MyRoot TargetRoot
.huge
(MyRoot.Position - TargetRoot.Position).Magnitude
(Target)
(Target)
Character = LocalPlayer.Character
Character
OriginPart =
Character:()
Character:()
TargetPart =
Target.Character:(Config.TargetPart)
Target.Character:()
OriginPart TargetPart
Parameters = RaycastParams.()
Parameters.FilterType = .RaycastFilterType.Exclude
Parameters.FilterDescendantsInstances = {Character}
Parameters.IgnoreWater =
Result = Workspace:(
OriginPart.Position,
TargetPart.Position - OriginPart.Position,
Parameters
)
Result
Result.Instance:(Target.Character)
()
BestTarget =
BestDistance = Config.MaxDistance
_, Player (Players:())
(Player)
Distance = (Player)
Distance <= BestDistance
Visible =
Config.WallCheck
Visible = (Player)
Visible
BestDistance = Distance
BestTarget = Player
BestTarget
(Player)
State.ESP[Player]
(Player)
Character = Player.Character
Highlight = .()
Highlight.Name =
Highlight.Adornee = Character
Highlight.DepthMode = .HighlightDepthMode.AlwaysOnTop
Highlight.FillTransparency =
Highlight.OutlineTransparency =
Highlight.FillColor = Theme.Accent
Highlight.OutlineColor = Theme.Text
Highlight.Parent = Character
Billboard = .()
Billboard.Name =
Billboard.Adornee = Character:()
Billboard.Size = .(,)
Billboard.StudsOffset = .(,,)
Billboard.AlwaysOnTop =
Billboard.Parent = Character
Label = .()
Label.BackgroundTransparency =
Label.Size = .(,)
Label.Text = Player.DisplayName
Label.Font = .Font.GothamBold
Label.TextSize =
Label.TextColor3 = Theme.Accent
Label.TextStrokeTransparency =
Label.Parent = Billboard
State.ESP[Player] = {
Highlight = Highlight,
Billboard = Billboard
}
(Player)
Data = State.ESP[Player]
Data
Data.Highlight
Data.Highlight:()
Data.Billboard
Data.Billboard:()
State.ESP[Player] =
()
_, Player (Players:())
Player ~= LocalPlayer
Config.ESP
(Player)
(Player)
(Player)
State.Hitboxes[Player]
(Player)
Root = Player.Character:()
Root
Selection = .()
Selection.Name =
Selection.Adornee = Root
Selection.LineThickness =
Selection.Color3 = Theme.Accent
Selection.Parent = Root
State.Hitboxes[Player] = Selection
(Player)
State.Hitboxes[Player]
State.Hitboxes[Player]:()
State.Hitboxes[Player] =
()
_, Player (Players:())
Player ~= LocalPlayer
Config.HitboxDebug
(Player)
(Player)
(Target)
Target
(Target)
Config.WallCheck (Target)
Part = Target.Character:(Config.TargetPart)
Part
Desired = .(
Camera.CFrame.Position,
Part.Position
)
Camera.CFrame = Camera.CFrame:(
Desired,
Config.AimSmoothness
)
(,,(Value)
Config.ESP = Value
Value
Player (State.ESP)
(Player)
)
(,,(Value)
Config.AimAssist = Value
)
(,,(Value)
Config.TargetLock = Value
Value
State.Target = ()
State.Target =
)
(,,(Value)
Config.WallCheck = Value
)
(,,(Value)
Config.IgnoreFriends = Value
Value State.Target
(State.Target)
State.Target =
)
(,,(Value)
Config.HitboxDebug = Value
()
)
SliderFrame = (, {
Size = .(,,,),
BackgroundColor3 = Theme.Button,
BorderSizePixel =
}, Content)
(SliderFrame,)
SliderLabel = (, {
BackgroundTransparency = ,
Position = .(,),
Size = .(,-,,),
Text = ,
TextColor3 = Theme.Text,
Font = .Font.GothamMedium,
TextSize = ,
TextXAlignment = .TextXAlignment.Left
}, SliderFrame)
Slider = (, {
Position = .(,),
Size = .(,-,,),
BackgroundColor3 = Theme.Panel,
BorderSizePixel = ,
Text =
}, SliderFrame)
(Slider,)
Fill = (, {
Size = .(Config.AimSmoothness,,,),
BackgroundColor3 = Theme.Accent,
BorderSizePixel =
}, Slider)
(Fill,)
Sliding =
(X)
Start = Slider.AbsolutePosition.X
Width = Slider.AbsoluteSize.X
Value = .(
(X - Start) / Width,
,
)
Config.AimSmoothness = .(Value,)
Fill.Size = .(
Config.AimSmoothness,
,
,
)
SliderLabel.Text =
.. .(Config.AimSmoothness * )
..
Slider.InputBegan:((Input)
Input.UserInputType == .UserInputType.MouseButton1
Input.UserInputType == .UserInputType.Touch
Sliding =
(Input.Position.X)
)
UserInputService.InputChanged:((Input)
Sliding
Input.UserInputType == .UserInputType.MouseMovement
Input.UserInputType == .UserInputType.Touch
(Input.Position.X)
)
UserInputService.InputEnded:((Input)
Input.UserInputType == .UserInputType.MouseButton1
Input.UserInputType == .UserInputType.Touch
Sliding =
)
ThemeButton = (, {
Size = .(,,,),
BackgroundColor3 = Theme.Button,
BorderSizePixel = ,
Text = ,
TextColor3 = Theme.Text,
Font = .Font.GothamMedium,
TextSize =
}, Content)
(ThemeButton,)
(Name)
Theme = Themes[Name]
Main.BackgroundColor3 = Theme.Background
TopBar.BackgroundColor3 = Theme.Panel
Title.TextColor3 = Theme.Text
Subtitle.TextColor3 = Theme.SubText
Close.BackgroundColor3 = Theme.Button
Close.TextColor3 = Theme.Text
Icon.BackgroundColor3 = Theme.Panel
Icon.TextColor3 = Theme.Accent
IconStroke.Color = Theme.Accent
MainStroke.Color = Theme.Accent
SliderFrame.BackgroundColor3 = Theme.Button
Slider.BackgroundColor3 = Theme.Panel
Fill.BackgroundColor3 = Theme.Accent
ThemeButton.BackgroundColor3 = Theme.Button
ThemeButton.TextColor3 = Theme.Text
_, Object (Content:())
Object:()
Object ~= Slider
Object ~= ThemeButton
Object.BackgroundColor3 = Theme.Button
Object.TextColor3 = Theme.Text
_, Data (State.ESP)
Data.Highlight
Data.Highlight.FillColor = Theme.Accent
Data.Highlight.OutlineColor = Theme.Text
Data.Billboard
Label =
Data.Billboard:()
Label
Label.TextColor3 = Theme.Accent
ThemeButton.MouseButton1Click:(()
Config.Theme ==
Config.Theme =
ThemeButton.Text =
()
Config.Theme =
ThemeButton.Text =
()
)
()
Config.TargetLock
(State.Target)
State.Target = ()
State.Target = ()
RunService.RenderStepped:(()
()
()
()
Config.AimAssist
(State.Target)
)
Players.PlayerRemoving:((Player)
(Player)
(Player)
State.Target == Player
State.Target =
)
Players.PlayerAdded:((Player)
Player.CharacterAdded:(()
.()
Config.ESP
(Player)
Config.HitboxDebug
(Player)
)
)
ESPFolder = .()
ESPFolder.Name =
ESPFolder.Parent = ScreenGui
(Player)
Data = State.ESP[Player]
Data
_, Object (Data)
(Object) ==
Object:()
State.ESP[Player] =
(Player)
Player == LocalPlayer
(Player)
State.ESP[Player]
Character = Player.Character
Humanoid = Character:()
Root = Character:()
Head = Character:()
Character Humanoid Root Head
Data = {}
Highlight = .()
Highlight.Name =
Highlight.Adornee = Character
Highlight.DepthMode = .HighlightDepthMode.AlwaysOnTop
Highlight.FillColor = .(,,)
Highlight.OutlineColor = .(,,)
Highlight.FillTransparency =
Highlight.OutlineTransparency =
Highlight.Parent = ESPFolder
Data.Highlight = Highlight
Billboard = .()
Billboard.Name =
Billboard.Adornee = Head
Billboard.Size = .(,)
Billboard.StudsOffset = .(,,)
Billboard.AlwaysOnTop =
Billboard.MaxDistance = Config.MaxDistance
Billboard.Parent = ESPFolder
Data.Billboard = Billboard
Name = .()
Name.BackgroundTransparency =
Name.Size = .(,,,)
Name.Text = Player.DisplayName
Name.TextColor3 = .(,,)
Name.TextStrokeTransparency =
Name.Font = .Font.GothamBold
Name.TextSize =
Name.Parent = Billboard
Distance = .()
Distance.BackgroundTransparency =
Distance.Position = .(,)
Distance.Size = .(,,,)
Distance.TextColor3 = .(,,)
Distance.TextStrokeTransparency =
Distance.Font = .Font.Gotham
Distance.TextSize =
Distance.Parent = Billboard
Health = .()
Health.BackgroundTransparency =
Health.Position = .(,)
Health.Size = .(,,,)
Health.TextColor3 = .(,,)
Health.TextStrokeTransparency =
Health.Font = .Font.GothamBold
Health.TextSize =
Health.Parent = Billboard
Data.Distance = Distance
Data.Health = Health
Box = .()
Box.Name =
Box.Adornee = Root
Box.Size = .(,,)
Box.Color3 = .(,,)
Box.Transparency =
Box.AlwaysOnTop =
Box.ZIndex =
Box.Parent = ESPFolder
Data.Box = Box
Tracer = .()
Tracer.Name =
Tracer.AnchorPoint = .(,)
Tracer.BorderSizePixel =
Tracer.BackgroundColor3 = .(,,)
Tracer.Visible =
Tracer.Parent = ESPFolder
Dot = .()
Dot.Name =
Dot.AnchorPoint = .(,)
Dot.Size = .(,)
Dot.BackgroundColor3 = .(,,)
Dot.BorderSizePixel =
Dot.Visible =
Dot.Parent = ESPFolder
DotCorner = .()
DotCorner.CornerRadius = .(,)
DotCorner.Parent = Dot
Data.Tracer = Tracer
Data.Dot = Dot
State.ESP[Player] = Data
(Player)
Data = State.ESP[Player]
Data
(Player)
Data = State.ESP[Player]
Data
Config.ESP
_, Object (Data)
(Object) ==
Object.Visible =
Character = Player.Character
Humanoid = Character Character:()
Root = Character Character:()
Head = Character Character:()
Character Humanoid Root Head
Humanoid.Health <=
(Player)
Distance = (Player)
Distance > Config.MaxDistance
Data.Billboard.Enabled =
Data.Tracer.Visible =
Data.Dot.Visible =
Data.Highlight.Enabled =
Data.Box.Visible =
Data.Billboard.Enabled =
Data.Highlight.Enabled =
Data.Box.Visible =
Data.Distance.Text =
.. .(Distance) ..
HealthPercent =
.(
Humanoid.Health / .(Humanoid.MaxHealth,),
,
)
Data.Health.Text =
.. .(Humanoid.Health)
..
.. .(Humanoid.MaxHealth)
HealthPercent >
Data.Health.TextColor3 = .(,,)
HealthPercent >
Data.Health.TextColor3 = .(,,)
Data.Health.TextColor3 = .(,,)
Height = .(
Character:().Y,
,
)
Data.Box.Size = .(,Height,)
ScreenPosition, OnScreen =
Camera:(Root.Position)
OnScreen
Start = .(
Camera.ViewportSize.X / ,
Camera.ViewportSize.Y
)
End = .(
ScreenPosition.X,
ScreenPosition.Y
)
Difference = End - Start
Length = Difference.Magnitude
Data.Tracer.Position = .(
(Start.X + End.X) / ,
(Start.Y + End.Y) /
)
Data.Tracer.Size = .(
,
Length
)
Data.Tracer.Rotation =
.(.(Difference.Y,Difference.X)) +
Data.Tracer.Visible =
Data.Dot.Position = .(
ScreenPosition.X,
ScreenPosition.Y
)
Data.Dot.Visible =
Data.Tracer.Visible =
Data.Dot.Visible =
Data.Highlight.FillColor = .(,,)
Data.Highlight.OutlineColor = .(,,)
Data.Box.Color3 = .(,,)
Data.Tracer.BackgroundColor3 = .(,,)
Data.Dot.BackgroundColor3 = .(,,)
()
_, Player (Players:())
Player ~= LocalPlayer
Config.ESP
(Player)
State.ESP[Player]
(Player)
Players.PlayerAdded:((Player)
Player.CharacterAdded:(()
.()
Config.ESP
(Player)
)
)
Players.PlayerRemoving:((Player)
(Player)
)
RunService.RenderStepped:(()
Config.ESP
()
)Sonic hub

Universal