Tutorial: So deaktivierst du die Roblox UI-Navigation
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.
- Erstelle ein LocalScript in
StarterPlayerScriptsoder innerhalb einerScreenGui. - 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.
- Wähle das UI-Element (z. B. einen
ImageButtonoderTextButton) im Explorer aus. - Suche im Properties-Fenster nach der Eigenschaft Selectable.
- Deaktiviere das Häkchen (auf
falsesetzen).
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:
- Wähle deine ScreenGui im Explorer aus.
- Suche in den Properties nach AutoSelectGuiEnabled.
- 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.
- Wähle den Button aus.
- Suche die Eigenschaft SelectionImageObject.
- 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!