Un preset li raggruppa tutti e tre. I campi che lasci vuoti ricadono sui valori predefiniti.
| Livello | Decide | Come lo cambi |
|---|---|---|
Theme |
Colori, dimensioni, scala del testo e la forma di tutto ciò che disegna il motore — pannelli dei pulsanti, campi di inserimento, schede, grafica degli interruttori | Scrivi un .tres, oppure generane uno con tools/make_theme.py |
GoSkin |
La forma di tutto ciò che disegna il codice — il joystick, le facce degli slot rapidi, l'anello del coach mark, i chip, gli scheletri, i divisori, le intestazioni di sezione | Estendila e sovrascrivi solo i metodi che ti interessano |
GoIconSet |
Icone per nome — 84 disegni di default, oppure i 16 disegni incisi del set medievale sopra di essi. Un pacchetto di texture o un font di icone; il codice chiamante è identico in entrambi i casi | Fornisci un set, oppure sovrascrivi solo qualche nome |
StyleBoxFlat conosce —
porta il raggio a zero e ottieni un angolo retto; in mezzo non c'è nulla. Angoli tagliati in diagonale,
un singolo bordo ispessito, un bagliore esterno: il motore non ne disegna nessuno. E il joystick e il coach mark
sono disegnati in _draw(), dove un tema non arriva affatto.
Sceglierne uno
GoUi.use_preset(GoThemePresets.SCIFI_DARK)
Quella riga sola cambia tema, skin e icone. Dall'editor usa
Project Settings → Gohud → Theme → Preset; da una risorsa di impostazioni, GoConfig.preset.
Tenere un campo tuo
GoUi.use_preset(GoThemePresets.SCIFI_DARK)
GoUi.config.icons = my_icons # le tue icone, tutto il resto del preset
Valorizzare esplicitamente theme, skin o icons ha la precedenza sul preset.
I quattordici preset inclusi
| Preset | Pannelli | Skin · icone |
|---|---|---|
default_dark · default_light | Pannelli StyleBoxFlat arrotondati su una scala graduata di ombre; i pulsanti primari si sollevano e affondano quando vengono premuti | GoSkin · 84 icone di default |
scifi_dark · scifi_light | Pannelli GoStyleBoxCut smussati con bordo al neon e bagliore; segni di focus GoStyleBoxBracket | GoSkinSciFi — joystick esagonale · icone di default |
medieval_dark · medieval_light | Cornici forgiate GoStyleBoxMedieval — ferro e cuoio, oppure pergamena — con rivetti e ornamenti angolari sui menu | GoSkinMedieval · 16 icone incise sopra quelle di default |
material_light · material_dark Nuovo | Material 3 Expressive per le schermate delle app — pulsanti a pillola da 40dp nell'area di tocco da 48dp, finestre di dialogo da 28dp, schede piene, campi con contorno, lo slider Expressive; i componenti per app (barra di navigazione, barra superiore, FAB, barra di ricerca, chip, avanzamento, selettore di data) seguono i token dei componenti M3 | GoSkinMaterial · icone di default |
kids_light · kids_dark Nuovo | Per bambini — la scatola dei giocattoli: contorni spessi e un bordo pieno sotto ogni tasto, che affonda quando lo premi; campi di testo incavati, schede a bolla, barre di gelatina; ogni tipo di controllo nel suo colore pastello, slot rapidi come caramelle, badge adesivi, un joystick arcobaleno e grafici colorati. Le dimensioni e il font del progetto restano gli stessi. | GoSkinKids · icone di default |
arcade_light · arcade_dark Nuovo | Un cabinato da sala giochi disegnato da GoStyleBoxArcade: ogni tasto dipinto con una sfumatura dall'alto in basso, un riflesso bianco e un bordo che affonda quando lo premi, dentro un contorno d'inchiostro blu notte, con l'etichetta bianca e un contorno d'inchiostro — primario verde, tasti blu, pericolo rosso, tasti piccoli lavanda. Plance spesse con una cornice colorata attorno a un fondo chiaro; una fascia del titolo dorata e un tasto di chiusura tondo e rosso sulle finestre. | GoSkinArcade · icone di default |
comic_light · comic_dark Nuovo | Vignette a fumetti disegnate da GoStyleBoxComic: un contorno d'inchiostro spesso e un'ombra netta su ogni superficie, che sparisce quando la premi; interruttori, caselle di spunta e maniglie degli slider inchiostrati, una didascalia del titolo gialla sulle finestre. Lo spessore del contorno, la dimensione dell'ombra e la presenza o meno delle ombre sono impostazioni di GoConfig. | GoSkinComic · icone di default |
Tutti e quattordici, fianco a fianco
La stessa schermata della galleria, cambiando solo il nome del preset — non cambia nemmeno una riga del codice dei widget. Ogni immagine è un telefono tenuto in verticale, 390×844.

default_dark
default_light
scifi_dark
scifi_light
medieval_dark
medieval_light
material_light
material_dark
kids_light
kids_dark
comic_light
comic_dark
arcade_light
arcade_darkMedievale: ferro, cuoio e pergamena
medieval_dark accosta ferro e cuoio scuri all'oro antico. medieval_light
usa pergamena e inchiostro. Entrambi usano GoSkinMedieval, i widget già esistenti e 16 icone
originali con dettagli di incisione; le icone di navigazione ricadono sul set originale.
GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
# Oppure: GoUi.use_preset(GoThemePresets.MEDIEVAL_LIGHT)
Scegli il preset prima di creare la UI. Le sovrascritture esplicite di GoConfig.theme,
skin o icons restano comunque prioritarie. Apri
res://addons/gohud/examples/medieval/medieval.tscn e premi F6 per una scheda personaggio,
una bisaccia e un diario delle missioni funzionanti. I suoi pulsanti cambiano variante e aprono il dettaglio degli oggetti.


Le cornici dei menu hanno un rivetto e un piccolo ornamento angolare; l'HUD sempre visibile mantiene un bordo sobrio.
Salute, mana e vigore usano riempimenti rosso, blu e oliva. Cinzel è limitato a titoli e sottotitoli;
il testo del corpo mantiene il font del progetto ospite o quello predefinito. Il font incluso porta con sé la propria licenza in
assets/fonts/cinzel/OFL.txt.
Il set inciso ridisegna bag, book, box, coin, crown,
flag, heart, key, map, potion, shield,
star, sword e user, e aggiunge scroll e seal.
Ogni altro nome ricade sul set di default, così close e settings mantengono i loro disegni
predefiniti in ogni preset. Cinzel copre l'alfabeto latino; assegna alle intestazioni localizzate un font dedicato tramite
shape.fonts.
DPITexture; uno slot rapido reale usa la skin; cambiare le manopole di una skin copiata arriva
fino allo slot senza toccare il preset; e tornando indietro si ripristinano le geometrie default e sci-fi.
Costruisci un regno tutto tuo
python3 addons/gohud/tools/new_theme.py kingdom --from medieval_dark
# Modifica themes/palettes/kingdom.json, poi:
python3 addons/gohud/tools/make_theme.py kingdom
godot --headless --path . --import
# In GDScript, prima di creare i widget:
GoUi.use_preset(&"kingdom")
I temi JSON possono ereditare da altri temi JSON. I valori omessi mantengono le impostazioni del genitore; l'ereditarietà circolare viene rifiutata. Il preset generato conserva il set di icone del genitore.
| Impostazione | Effetto |
|---|---|
shape.material | 0: ferro · 1: cuoio · 2: pergamena. Controlla i segni sulla superficie. |
shape.grain_alpha | Opacità della trama. Usa 0 per una superficie pulita. |
shape.ornament_scale · shape.bevel_strength | Dimensione dell'ornamento angolare dei menu e intensità della luce di bisello. |
shape.fonts | Associa i ruoli titolo, sottotitolo, didascalia, corpo e pulsante a file di font res:// locali all'add-on. I ruoli omessi mantengono il font ereditato. |
skin.dials | Raggio degli slot rapidi, visibilità dei rivetti, grana e luce. La tabella completa qui sotto elenca ogni manopola. |
Material 3: un aspetto per le schermate delle app Nuovo
material_light e material_dark portano Material 3 Expressive in gohud — le forme, le dimensioni e la
tipografia dei componenti M3, con ogni valore letto dal set di token M3 ufficiale (material-web,
tokens/versions/latest). Usali dove una schermata deve sembrare un'app più che un menu di gioco:
negozi, caselle di posta, pagine di account e impostazioni, classifiche, un'app companion.
GoUi.use_preset(GoThemePresets.MATERIAL_LIGHT)
# Oppure: GoUi.use_preset(GoThemePresets.MATERIAL_DARK)

material_light
material_dark
GoDialogs · material_light
GoDialogs · material_darkChe cosa cambia
| Parte | In Material 3 |
|---|---|
| Pulsanti | Pillole (l'arrotondamento completo). La piastra è alta 40dp, centrata nell'area di tocco da 48dp, quindi l'area di pressione non si riduce; la piastra di un pulsante compatto è di 32dp. Le etichette usano Roboto con peso 500. |
| Finestre di dialogo e fogli | Angoli da 28dp (extra-large), margine interno da 24dp e un titolo da 24sp — GoDialogs, GoSurface, GoSheet e ogni popup costruito su di essi. |
| Schede | Schede piene con angoli da 12dp e margine interno da 16dp. |
| Campi e slider | Campi di testo con contorno; lo slider Expressive con la sua maniglia alta. |
| Chip e segmenti | Angoli da 8dp (small). |
| Componenti per app | GoNavBar, GoAppBar, GoFab, GoSearchBar, i chip, GoProgress e GoDatePicker seguono i token dei componenti M3. |
| Tipografia | Il Roboto incluso per titoli, sottotitoli, didascalie e pulsanti. Il testo del corpo mantiene il font del tuo progetto, così coreano, giapponese, cinese o arabo si vedono comunque. |
| Opacità | Ogni pannello è opaco — le superfici M3 sono piene. (I pannelli default, sci-fi e medievali sono opachi all'80%, così il gioco traspare.) |
| Skin | GoSkinMaterial: il pannello laterale è il foglio laterale modale M3, la superficie della console è la barra degli strumenti flottante M3, i banner poggiano su surface_container_low. |
tools/check_contrast.py misura entrambi gli aspetti come tutti gli altri.
Roboto è distribuito con licenza SIL Open Font License 1.1 (assets/fonts/roboto/OFL.txt) ed è usato solo dai preset
Material.
Bambini: la scatola dei giocattoli Nuovo
kids_light (crema e pesca con un primario uva) e kids_dark (fondo mirtillo, primario giallo sole,
pillole menta) sono un aspetto pensato per giochi per bambini e app educative — paffuto, vivace e morbido, il genere di cosa
che un ditino ha voglia di premere.
GoUi.use_preset(&"kids_light")
# Oppure: GoUi.use_preset(&"kids_dark")

kids_light
kids_dark
GoDialogs · kids_light
GoDialogs · kids_darkChe cosa cambia
| Parte | Negli aspetti bambini |
|---|---|
| Ogni superficie | Una caramella di gelatina, disegnata da GoStyleBoxJelly: un contorno spesso, un bordo pieno sotto tutto ciò che si preme, un corpo più chiaro in alto e più intenso in basso, e un riflesso bianco in alto a sinistra. Tasti, righe di lista, titoli pieghevoli, campi, barre, slider e pannelli lo indossano tutti. |
| Pressione | Il bordo sparisce e la superficie affonda al suo posto, poi la gelatina si schiaccia — larga e piatta per un istante, poi torna su con un rimbalzo elastico. Vale per ogni pulsante creato da gohud; reduce_motion lo disattiva. |
| Campi, tab, barre | Un campo di testo è la stessa gelatina rovesciata verso l'interno — un pozzetto incavato. Le tab sono bolle, le barre hanno un riflesso di gelatina. |
| Colore | Ogni tipo di controllo nel suo colore pastello, scelto dallo stesso generatore di tutti gli aspetti, così ogni soglia di contrasto resta rispettata. |
| Finestre | Un nastro color sole (menta di notte) dietro il titolo di una finestra — il titolo si rimpicciolisce, fino a 15, per restare su una riga — e un pulsante di chiusura tondo a caramella nel pastello di pericolo, con una croce bianca. |
| Parti della skin | GoSkinKids: gli slot rapidi sono blocchetti di caramella che affondano durante la ricarica, i badge sono adesivi, i chip e la pillola di navigazione sono piccole gelatine, gli avatar caramelle tonde, il joystick un arcobaleno, i grafici usano i pastelli, alert e avvisi sono note adesive con un bordo pieno. |
| Opacità | Pannelli, schede, avvisi e popup sono opachi. |

Costruisci una scatola dei giocattoli tutta tua
python3 addons/gohud/tools/new_theme.py candy --from kids_light
# Modifica themes/palettes/candy.json, poi:
python3 addons/gohud/tools/make_theme.py candy
GoUi.use_preset(&"candy")
Fumetto: inchiostro deciso Nuovo
comic_light (pannelli bianchi su una pagina color crema carta, un primario cobalto) e comic_dark (pannelli ardesia su una
pagina notturna, contorni crema, un primario giallo) disegnano ogni superficie come una vignetta a fumetti — un contorno d'inchiostro spesso
con un'ombra netta dietro.
GoUi.use_preset(&"comic_light")
# Oppure: GoUi.use_preset(&"comic_dark")

comic_light
comic_dark
GoDialogs · comic_light
GoDialogs · comic_darkChe cosa cambia
| Parte | Negli aspetti fumetto |
|---|---|
| Ogni superficie | Disegnata da GoStyleBoxComic: il colore della superficie dentro un contorno spesso del colore dell'inchiostro, e un'ombra netta verso il basso e a destra. La portano tasti, righe di elenco, campi, tab, barre, slider, pannelli e popup. |
| Pressione | L'ombra sparisce e la superficie affonda al suo posto. |
| Controlli | Interruttori, caselle di spunta, pulsanti di opzione e maniglie degli slider sono inchiostrati anche loro, ognuno con la sua piccola ombra. |
| Finestre | Una didascalia gialla dietro il titolo di una finestra e un pulsante di chiusura tondo inchiostrato. |
| Parti della skin | GoSkinComic: slot rapidi, chip, badge, avatar, avvisi, la barra di navigazione, il FAB e le celle delle date sono inchiostrati; il pomello del joystick proietta un'ombra; i grafici usano primari decisi. |
| Opacità | Pannelli, schede, avvisi e popup sono opachi; le schede dell'HUD sono opache al 92%. |
Impostazioni di inchiostro e ombra
Tre impostazioni di GoConfig cambiano in un colpo solo tutte le superfici fumetto. Non si ricostruisce nulla — lo schermo si ridisegna mentre le imposti.
GoUi.config.comic_border_width = 2.0 # il contorno (dp) — 3 di default
GoUi.config.comic_shadow_size = 6.0 # l'ombra (dp) — 4 di default
GoUi.config.comic_shadow = false # nessuna ombra da nessuna parte
Un singolo widget può fare di testa sua, qualunque cosa dica l'impostazione:
GoStyle.comic_shadow(skip_button, false) # questo pulsante resta piatto
GoStyle.comic_shadow(card, true, true) # questa scheda e tutto ciò che contiene tengono la loro ombra
GoStyle.comic_border(title, 5.0) # un contorno più spesso su questo

Costruisci un fumetto tutto tuo
python3 addons/gohud/tools/new_theme.py inked --from comic_light
# Modifica themes/palettes/inked.json, poi:
python3 addons/gohud/tools/make_theme.py inked
GoUi.use_preset(&"inked")
Arcade: tasti dipinti e plance spesse Nuovo
arcade_light (plance bianche su una pagina azzurro cielo) e arcade_dark (plance blu notte su una pagina notturna)
vestono ogni schermata come un cabinato da sala giochi: ogni tasto è dipinto — una sfumatura da una cima chiara a un fondo più profondo,
una pennellata di riflesso bianca e un bordo che affonda quando lo premi, dentro un contorno d'inchiostro blu notte — e ogni plancia è spessa,
una cornice colorata attorno a un fondo chiaro.
GoUi.use_preset(&"arcade_light")
# Oppure: GoUi.use_preset(&"arcade_dark")

arcade_light
arcade_dark
GoDialogs · arcade_light
GoDialogs · arcade_darkChe cosa cambia
| Parte | Negli aspetti arcade |
|---|---|
| Tasti | Disegnati da GoStyleBoxArcade: un corpo sfumato, un riflesso bianco attorno all'angolo in alto a sinistra, un bordo più profondo e un contorno d'inchiostro blu notte. Il tasto primario è verde, i tasti normali e la tab scelta blu, i tasti di pericolo corallo e rossi, i tasti piccoli e le altre tab lavanda. |
| Etichette | Bianche con un contorno d'inchiostro su ogni tasto dipinto. Ogni vernice viene spostata finché quell'etichetta non si legge a ogni altezza della sua sfumatura — 4,6:1 o più, con il contorno contato come parte della lettera, come fanno le WCAG. |
| Pressione | Il bordo sparisce, il tasto affonda al suo posto e poi scatta indietro. |
| Plance | Pannelli, schede, schede dell'HUD e popup sono spessi: una cornice colorata (6dp attorno a una finestra, 4 attorno a una scheda o a una scheda dell'HUD, 3 attorno a un menu o a un avviso) con il suo riflesso e il suo bordo, attorno a un fondo chiaro con una linea d'inchiostro. Il loro margine interno cresce un po' per contenerla, così il testo non tocca mai la cornice. |
| Campi e barre | I campi di testo e le scanalature delle barre sono fondi incassati; il riempimento di una barra è un tubo dipinto e lucido nella tinta vivace del suo colore. |
| Finestre | Una fascia dorata con un titolo bianco contornato d'inchiostro, e un tasto di chiusura tondo e rosso con una croce bianca. |
| Parti della skin | GoSkinArcade: slot rapidi e chip sono copritasti, uno slot in ricarica accende un bordo dorato, i badge sono piastrine chiare, gli avvisi sono incorniciati nel loro colore, la scheda scelta accende un bordo dorato, il FAB è un tasto dorato e il joystick un pad lucido con quattro frecce. |
| Opacità | Pannelli, schede, avvisi e popup sono opachi; le schede dell'HUD sono opache al 94%. |
Dipingi un tasto del suo colore
Il tema dipinge i tasti per tipo. Un menu i cui tasti vogliono ognuno il proprio colore li dipinge uno per uno — la superficie al passaggio del mouse viene un po' più chiara, quella premuta un po' più profonda, e quella disattivata resta spenta:
menu.add_child(GoStyle.arcade_paint(GoStyle.button("Resume", _resume, GoStyle.Tone.PRIMARY), Color("#4ACB3E")))
menu.add_child(GoStyle.arcade_paint(GoStyle.button("Shop", _shop), Color("#FF8A1E")))
GoStyle.arcade_paint(stage_card, Color("#E3343D"), true) # la cornice di una plancia e ogni tasto al suo interno
arcade_paint() non fa nulla.

Costruisci un arcade tutto tuo
python3 addons/gohud/tools/new_theme.py cabinet --from arcade_light
# Modifica themes/palettes/cabinet.json — i colori *_vivid sono le vernici — poi:
python3 addons/gohud/tools/make_theme.py cabinet
GoUi.use_preset(&"cabinet")