Tutorial: So deaktivierst du die Roblox UI-Navigation

Melden

Hier ist ein ausführliches Tutorial auf Deutsch, wie du die UI-Navigation (die automatische Auswahl von Buttons mit dem Controller oder der Tastatur) in Roblox einschränkst oder komplett deaktivierst.

Wenn du ein Spiel in Roblox entwickelst, ist die automatische UI-Navigation oft hilfreich für Konsolenspieler. Manchmal stört sie jedoch – zum Beispiel bei benutzerdefinierten Inventaren oder wenn man nicht möchte, dass ein weißer Rahmen um die Buttons erscheint.

In diesem Tutorial lernst du drei Methoden kennen: das komplette Deaktivieren, das Deaktivieren einzelner Elemente und das Verhindern der automatischen Auswahl.


Methode 1: Die UI-Navigation komplett abschalten (Global)

Dies ist der schnellste Weg, um zu verhindern, dass Spieler mit dem Controller oder der Tastatur (über die "Backslash"-Taste \) in den UI-Navigationsmodus wechseln.

  1. Erstelle ein LocalScript in StarterPlayerScripts oder innerhalb einer ScreenGui.
  2. Füge folgenden Code ein:
local GuiService = game:GetService("GuiService")

-- Deaktiviert die Möglichkeit, die UI-Navigation zu aktivieren
GuiService.GuiNavigationEnabled = false

Was das bewirkt: Der Spieler kann den Navigationsmodus nicht mehr manuell starten. Bestehende Selektionen werden aufgehoben.


Methode 2: Einzelne UI-Elemente von der Navigation ausschließen

Falls du möchtest, dass einige Buttons klickbar bleiben, aber andere ignoriert werden sollen, nutzt du die Eigenschaft Selectable.

  1. Wähle das UI-Element (z. B. einen ImageButton oder TextButton) im Explorer aus.
  2. Suche im Properties-Fenster nach der Eigenschaft Selectable.
  3. Deaktiviere das Häkchen (auf false setzen).

Per Script für viele Elemente: Wenn du alle Elemente in einem Frame deaktivieren willst:

local frame = script.Parent -- Beispiel-Pfad
for _, child in ipairs(frame:GetDescendants()) do
    if child:IsA("GuiObject") then
        child.Selectable = false
    end
end

Methode 3: Die automatische Auswahl (AutoSelect) verhindern

Standardmäßig wählt Roblox automatisch ein Element aus, wenn ein Gamepad verbunden wird. Das kannst du unterbinden:

  1. Wähle deine ScreenGui im Explorer aus.
  2. Suche in den Properties nach AutoSelectGuiEnabled.
  3. Setze diesen Wert auf false.

Methode 4: Den Auswahl-Rahmen (Selection Image) verstecken

Manchmal möchtest du, dass die Navigation technisch funktioniert, aber man den hässlichen blauen oder weißen Rahmen nicht sieht.

  1. Wähle den Button aus.
  2. Suche die Eigenschaft SelectionImageObject.
  3. Erstelle ein unsichtbares Frame (BackgroundTransparency = 1) und weise es hier zu, oder nutze ein leeres Objekt, um den Standard-Rahmen zu überschreiben.

Zusammenfassung: Welches Script brauche ich?

Wenn du einfach nur willst, dass der Controller-Cursor gar nicht erst erscheint, ist dies die beste Lösung in einem LocalScript:

local GuiService = game:GetService("GuiService")

-- 1. Manuelle Navigation blockieren
GuiService.GuiNavigationEnabled = false

-- 2. Aktuelle Auswahl auf "nichts" setzen, falls schon etwas ausgewählt ist
GuiService.SelectedObject = nil

Profi-Tipp:

Vergiss nicht, dass Spieler auf der Xbox oder mit dem Controller ohne UI-Navigation eventuell dein Menü gar nicht bedienen können. Wenn du die Standard-Navigation deaktivierst, solltest du ein eigenes System bauen oder sicherstellen, dass dein Spiel auch ohne Controller-UI-Fokus spielbar bleibt!

0