local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local inspectorGui = Instance.new("ScreenGui") inspectorGui.Name = "UISearch_v2_Final" inspectorGui.DisplayOrder = 999999 inspectorGui.IgnoreGuiInset = true inspectorGui.ResetOnSpawn = false inspectorGui.Parent = playerGui local topBar = Instance.new("Frame") topBar.Size = UDim2.new(1, -20, 0, 40) topBar.Position = UDim2.new(0, 10, 0, 10) topBar.BackgroundColor3 = Color3.fromRGB(25, 25, 25) topBar.BorderSizePixel = 0 topBar.Parent = inspectorGui local barCorner = Instance.new("UICorner") barCorner.CornerRadius = UDim.new(0, 6) barCorner.Parent = topBar local padding = Instance.new("UIPadding") padding.PaddingLeft = UDim.new(0, 8) padding.PaddingRight = UDim.new(0, 8) padding.Parent = topBar local layout = Instance.new("UIListLayout") layout.FillDirection = Enum.FillDirection.Horizontal layout.HorizontalAlignment = Enum.HorizontalAlignment.Right layout.VerticalAlignment = Enum.VerticalAlignment.Center layout.SortOrder = Enum.SortOrder.LayoutOrder layout.Padding = UDim.new(0, 6) layout.Parent = topBar local function createButton(name, text, size, color, iconId, order) local btn = Instance.new("TextButton") btn.Name = name btn.Size = size btn.BackgroundColor3 = color btn.Text = "" btn.AutoButtonColor = true btn.BorderSizePixel = 0 btn.LayoutOrder = order btn.Parent = topBar local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 4) corner.Parent = btn local stroke = Instance.new("UIStroke") stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border stroke.Color = Color3.fromRGB(255, 255, 255) stroke.Transparency = 0.8 stroke.Parent = btn local contentFrame = Instance.new("Frame") contentFrame.Name = "Content" contentFrame.Size = UDim2.fromScale(1, 1) contentFrame.BackgroundTransparency = 1 contentFrame.Parent = btn local innerLayout = Instance.new("UIListLayout") innerLayout.FillDirection = Enum.FillDirection.Horizontal innerLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center innerLayout.VerticalAlignment = Enum.VerticalAlignment.Center innerLayout.Padding = UDim.new(0, 4) innerLayout.Parent = contentFrame if iconId then local icon = Instance.new("ImageLabel") icon.Name = "Icon" icon.Size = UDim2.fromOffset(14, 14) icon.BackgroundTransparency = 1 icon.Image = "rbxassetid://"..iconId icon.Parent = contentFrame end if text ~= "" then local txtLabel = Instance.new("TextLabel") txtLabel.Name = "Text" txtLabel.Size = UDim2.new(0, 0, 1, 0) txtLabel.AutomaticSize = Enum.AutomaticSize.X txtLabel.BackgroundTransparency = 1 txtLabel.Text = text txtLabel.TextColor3 = Color3.fromRGB(255, 255, 255) txtLabel.Font = Enum.Font.GothamBold txtLabel.TextSize = 10 txtLabel.Parent = contentFrame end return btn end local searchBox = Instance.new("TextBox") searchBox.Name = "SearchBox" searchBox.Size = UDim2.new(0.4, -10, 1, -12) searchBox.LayoutOrder = 0 searchBox.BackgroundColor3 = Color3.fromRGB(40, 40, 40) searchBox.PlaceholderText = "Search UI Path..." searchBox.Text = "" searchBox.TextColor3 = Color3.fromRGB(255, 255, 255) searchBox.Font = Enum.Font.SourceSansBold searchBox.TextSize = 14 searchBox.Parent = topBar local sCorner = Instance.new("UICorner") sCorner.CornerRadius = UDim.new(0, 4) sCorner.Parent = searchBox local findBtn = createButton("FindBtn", "SEARCH", UDim2.new(0.15, 0, 1, -12), Color3.fromRGB(0, 120, 215), "118685771787843", 1) local prevBtn = createButton("PrevBtn", "PREV", UDim2.new(0.08, 0, 1, -12), Color3.fromRGB(55, 55, 55), nil, 2) local nextBtn = createButton("NextBtn", "NEXT", UDim2.new(0.08, 0, 1, -12), Color3.fromRGB(55, 55, 55), nil, 3) local copyBtn = createButton("CopyBtn", "COPY PATH", UDim2.new(0.18, 0, 1, -12), Color3.fromRGB(90, 45, 145), "83983589022863", 4) local closeBtn = createButton("CloseBtn", "", UDim2.new(0, 32, 1, -12), Color3.fromRGB(160, 35, 35), "132261474823036", 5) local infoLabel = Instance.new("TextLabel") infoLabel.Size = UDim2.new(1, -20, 0, 25) infoLabel.Position = UDim2.new(0, 10, 0, 55) infoLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0) infoLabel.BackgroundTransparency = 0.7 infoLabel.TextColor3 = Color3.fromRGB(255, 255, 255) infoLabel.Text = "Ready" infoLabel.TextSize = 12 infoLabel.Font = Enum.Font.Code infoLabel.Parent = inspectorGui local lCorner = Instance.new("UICorner") lCorner.CornerRadius = UDim.new(0, 4) lCorner.Parent = infoLabel local highlight = Instance.new("Frame") highlight.BackgroundTransparency = 0.85 highlight.BackgroundColor3 = Color3.fromRGB(255, 255, 0) highlight.Visible = false highlight.Parent = inspectorGui local hStroke = Instance.new("UIStroke") hStroke.Color = Color3.fromRGB(255, 255, 255) hStroke.Thickness = 2 hStroke.Parent = highlight local matches = {} local currentIndex = 0 local function updateHighlight() local target = matches[currentIndex] if target and target.Parent then local inset = game:GetService("GuiService"):GetGuiInset() highlight.Position = UDim2.fromOffset(target.AbsolutePosition.X, target.AbsolutePosition.Y + inset.Y) highlight.Size = UDim2.fromOffset(target.AbsoluteSize.X, target.AbsoluteSize.Y) highlight.Visible = true infoLabel.Text = "["..currentIndex.."/"..#matches.."] ".. target:GetFullName() else highlight.Visible = false end end local function performSearch() local query = searchBox.Text:lower() matches = {} currentIndex = 0 if query == "" then return end for _, obj in pairs(playerGui:GetDescendants()) do if obj:IsA("GuiObject") and not obj:IsDescendantOf(inspectorGui) then if obj:GetFullName():lower():find(query) then table.insert(matches, obj) end end end if #matches > 0 then currentIndex = 1 updateHighlight() else infoLabel.Text = "No results found." highlight.Visible = false end end local function cycle(dir) if #matches == 0 then return end currentIndex = (dir == "next") and ((currentIndex % #matches) + 1) or (currentIndex - 1) if currentIndex < 1 then currentIndex = #matches end updateHighlight() end findBtn.MouseButton1Click:Connect(performSearch) nextBtn.MouseButton1Click:Connect(function() cycle("next") end) prevBtn.MouseButton1Click:Connect(function() cycle("prev") end) closeBtn.MouseButton1Click:Connect(function() inspectorGui:Destroy() end) searchBox.FocusLost:Connect(function(enter) if enter then performSearch() end end) copyBtn.MouseButton1Click:Connect(function() local target = matches[currentIndex] if target then setclipboard(target:GetFullName()) local label = copyBtn.Content.Text local old = label.Text label.Text = "COPIED" task.wait(0.5) label.Text = old end end) RunService.RenderStepped:Connect(function() if currentIndex > 0 then updateHighlight() end end)