Um preset empacota as três. Os campos que você deixa vazios caem para os valores padrão.
| Camada | Decide | Como você muda |
|---|---|---|
Theme |
Cores, tamanhos, escala do texto e a forma de tudo que a engine desenha — painéis de botão, campos, abas, a arte dos interruptores | Escreva um .tres ou gere um com tools/make_theme.py |
GoSkin |
A forma de tudo que o código desenha — o joystick, as faces dos slots rápidos, o anel do coach mark, chips, esqueletos de carregamento, divisores, títulos de seção | Crie uma subclasse e sobrescreva só os métodos que te interessam |
GoIconSet |
Ícones por nome — 84 desenhos padrão, ou os 16 desenhos gravados do conjunto medieval por cima deles. Um pacote de texturas ou uma fonte de ícones; o código que chama é idêntico nos dois casos | Forneça um conjunto, ou sobrescreva apenas alguns nomes |
StyleBoxFlat tem —
zere o raio e você tem um ângulo reto; não existe nada entre os dois. Cantos cortados na diagonal,
uma única borda mais grossa, um brilho externo: a engine não desenha nenhum deles. E o joystick e o coach mark
são desenhados em _draw(), onde um tema não alcança de jeito nenhum.
Escolhendo um
GoUi.use_preset(GoThemePresets.SCIFI_DARK)
Essa única linha troca tema, skin e ícones. Pelo editor, use
Configurações do Projeto → Gohud → Theme → Preset; por um recurso de configuração, GoConfig.preset.
Mantendo um campo só seu
GoUi.use_preset(GoThemePresets.SCIFI_DARK)
GoUi.config.icons = my_icons # seus ícones, todo o resto do preset
Definir theme, skin ou icons explicitamente vence o preset.
Os catorze presets embutidos
| Preset | Painéis | Skin · ícones |
|---|---|---|
default_dark · default_light | Painéis StyleBoxFlat arredondados sobre uma escala graduada de sombras; os botões primários sobem e afundam ao serem pressionados | GoSkin · 84 ícones padrão |
scifi_dark · scifi_light | Painéis GoStyleBoxCut chanfrados com borda e brilho em neon; marcas de foco em GoStyleBoxBracket | GoSkinSciFi — joystick hexagonal · ícones padrão |
medieval_dark · medieval_light | Molduras forjadas GoStyleBoxMedieval — ferro e couro, ou pergaminho — com rebites e ornamentos de canto nos menus | GoSkinMedieval · 16 ícones gravados sobre os padrão |
material_light · material_dark Novo | Material 3 Expressive para telas de apps — botões em pílula de 40dp dentro da área de toque de 48dp, diálogos de 28dp, cartões preenchidos, campos com contorno, o controle deslizante Expressive; os componentes de app (barra de navegação, barra superior, FAB, barra de busca, chips, progresso, seletor de data) seguem os tokens de componente do M3 | GoSkinMaterial · ícones padrão |
kids_light · kids_dark Novo | Para crianças — a caixa de brinquedos: contornos grossos e uma borda sólida sob cada tecla, que afunda ao ser pressionada; campos de texto rebaixados, abas de bolha, barras de gelatina; cada tipo de controle com sua própria cor de giz de cera, slots rápidos de bala, emblemas de adesivo, um joystick arco-íris e gráficos coloridos. Os tamanhos e a fonte do projeto continuam os mesmos. | GoSkinKids · ícones padrão |
arcade_light · arcade_dark Novo | Um fliperama desenhado pelo GoStyleBoxArcade: cada tecla pintada com um degradê de cima para baixo, um brilho branco e uma borda que afunda ao ser pressionada, dentro de um contorno de tinta azul-marinho, com o rótulo branco contornado de tinta — primário verde, teclas azuis, perigo em vermelho, teclas pequenas lavanda. Painéis grossos com uma moldura colorida em volta de um fundo claro; uma faixa de título dourada e uma tecla de fechar vermelha e redonda nas janelas. | GoSkinArcade · ícones padrão |
comic_light · comic_dark Novo | Quadros de quadrinhos desenhados pelo GoStyleBoxComic: um contorno grosso de tinta e uma sombra dura em cada face, que some quando a face é pressionada; interruptores, caixas de seleção e alças de controle deslizante com contorno de tinta, e uma legenda de título amarela nas janelas. A largura do contorno, o tamanho da sombra e se as sombras aparecem ou não são configurações do GoConfig. | GoSkinComic · ícones padrão |
Os catorze, lado a lado
A mesma tela da galeria mudando só o nome do preset — nenhuma linha do código dos widgets muda. Cada imagem é um celular na vertical, em 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_darkMedieval: ferro, couro e pergaminho
O medieval_dark combina ferro escuro e couro com ouro envelhecido. O medieval_light
usa pergaminho e tinta. Os dois usam o GoSkinMedieval, os widgets já existentes e 16 ícones
originais com detalhes de gravação; os ícones de navegação voltam ao conjunto original.
GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
# Ou: GoUi.use_preset(GoThemePresets.MEDIEVAL_LIGHT)
Escolha o preset antes de criar a sua UI. Sobrescritas explícitas de GoConfig.theme,
skin ou icons continuam tendo precedência. Abra
res://addons/gohud/examples/medieval/medieval.tscn e pressione F6 para ver uma ficha de
personagem, uma bolsa e um diário de missões funcionando. Os botões dele alternam entre as variantes e abrem
os detalhes dos itens.


As molduras de menu têm um rebite e um pequeno ornamento de canto; o HUD sempre visível mantém uma borda discreta.
HP, mana e estamina usam preenchimentos vermelho, azul e verde-oliva. O Cinzel fica restrito a títulos e subtítulos;
o texto corrido mantém a fonte do projeto hospedeiro ou a padrão. A fonte que acompanha o pacote traz sua licença em
assets/fonts/cinzel/OFL.txt.
O conjunto gravado redesenha bag, book, box, coin, crown,
flag, heart, key, map, potion, shield,
star, sword e user, e acrescenta scroll e seal.
Todo outro nome volta ao conjunto padrão, então close e settings mantêm seus desenhos
padrão em qualquer preset. O Cinzel cobre a escrita latina; dê aos títulos localizados uma fonte própria através de
shape.fonts.
DPITexture; um slot rápido de verdade usa a skin;
mudar os dials de uma cópia da skin chega ao slot sem tocar no preset; e voltar atrás restaura a geometria padrão
e a do sci-fi.
Crie um reino só seu
python3 addons/gohud/tools/new_theme.py kingdom --from medieval_dark
# Edite themes/palettes/kingdom.json e depois:
python3 addons/gohud/tools/make_theme.py kingdom
godot --headless --path . --import
# Em GDScript, antes de criar os widgets:
GoUi.use_preset(&"kingdom")
Temas em JSON podem herdar de outros temas em JSON. Os valores omitidos mantêm as configurações do pai; herança circular é rejeitada. O preset gerado mantém o conjunto de ícones do pai.
| Configuração | Efeito |
|---|---|
shape.material | 0: ferro · 1: couro · 2: pergaminho. Controla as marcas da superfície. |
shape.grain_alpha | Opacidade da textura. Use 0 para uma superfície limpa. |
shape.ornament_scale · shape.bevel_strength | Tamanho do ornamento de canto do menu e intensidade do realce do bisel. |
shape.fonts | Mapeia os papéis title, subtitle, caption, body e button para arquivos de fonte res:// internos ao add-on. Papéis omitidos mantêm a fonte herdada. |
skin.dials | Raio do slot rápido, visibilidade dos rebites, textura e realce. A tabela completa abaixo lista cada dial. |
Material 3: um visual para telas de apps Novo
O material_light e o material_dark trazem o Material 3 Expressive para o gohud — as formas, os tamanhos e a
tipografia dos componentes do M3, com cada número tirado do conjunto oficial de tokens do M3 (material-web,
tokens/versions/latest). Use-os onde uma tela deve parecer um app, e não um menu de jogo:
lojas, caixas de entrada, páginas de conta e de configurações, rankings, um app companheiro.
GoUi.use_preset(GoThemePresets.MATERIAL_LIGHT)
# Ou: GoUi.use_preset(GoThemePresets.MATERIAL_DARK)

material_light
material_dark
GoDialogs · material_light
GoDialogs · material_darkO que muda
| Parte | No Material 3 |
|---|---|
| Botões | Pílulas (o canto inteiro). A placa tem 40dp de altura, centralizada na área de toque de 48dp, então a área de toque não encolhe; a placa de um botão compacto tem 32dp. Os rótulos usam Roboto com peso 500. |
| Diálogos e folhas | Cantos de 28dp (extragrandes), respiro de 24dp e um título de 24sp — GoDialogs, GoSurface, GoSheet e todo popup construído sobre eles. |
| Cartões | Cartões preenchidos com cantos de 12dp e respiro de 16dp. |
| Campos e controles deslizantes | Campos de texto com contorno; o controle deslizante Expressive com sua alça alta. |
| Chips e segmentos | Cantos de 8dp (pequenos). |
| Componentes de app | GoNavBar, GoAppBar, GoFab, GoSearchBar, os chips, GoProgress e GoDatePicker seguem os tokens de componente do M3. |
| Tipografia | A Roboto que acompanha o pacote, para títulos, subtítulos, legendas e botões. O texto corrido mantém a fonte do seu projeto, então coreano, japonês, chinês ou árabe continuam aparecendo. |
| Opacidade | Todo painel é opaco — as superfícies do M3 são sólidas. (Os painéis padrão, sci-fi e medievais são 80% opacos, para o jogo aparecer por trás.) |
| Skin | GoSkinMaterial: o painel lateral é a folha lateral modal do M3, a face do console é a barra de ferramentas flutuante do M3, e os banners ficam sobre surface_container_low. |
tools/check_contrast.py mede os dois visuais como todos os outros.
A Roboto está sob a SIL Open Font License 1.1 (assets/fonts/roboto/OFL.txt) e é usada apenas pelos presets
Material.
Infantil: a caixa de brinquedos Novo
O kids_light (creme e pêssego com um primário uva) e o kids_dark (fundo mirtilo, primário amarelo-sol,
pílulas menta) são um visual feito para jogos infantis e apps educativos — gorducho, vivo e fofinho, o
tipo de coisa que um dedinho quer apertar.
GoUi.use_preset(&"kids_light")
# Ou: GoUi.use_preset(&"kids_dark")

kids_light
kids_dark
GoDialogs · kids_light
GoDialogs · kids_darkO que muda
| Parte | Nos visuais infantis |
|---|---|
| Todas as faces | Uma bala de gelatina, desenhada pelo GoStyleBoxJelly: um contorno grosso, uma borda sólida embaixo de tudo o que se pressiona, um corpo mais claro em cima e mais intenso embaixo, e um brilho branco no canto superior esquerdo. Teclas, linhas de lista, títulos dobráveis, campos, barras, controles deslizantes e painéis, todos usam esse visual. |
| Ao pressionar | A borda some e a face afunda no lugar; depois vem uma amassada de gelatina — larga e achatada por um instante, e então um retorno elástico. Funciona em todo botão que o gohud cria; reduce_motion desliga o efeito. |
| Campos, abas, barras | Um campo de texto é a mesma gelatina virada para dentro — um poço rebaixado. As abas são bolhas, e as barras têm um brilho de gelatina. |
| Cor | Cada tipo de controle com sua própria cor de giz de cera, escolhida pelo mesmo gerador de todos os visuais, então todas as verificações de contraste continuam valendo. |
| Janelas | Uma faixa ensolarada (menta à noite) atrás do título de uma janela — o título encolhe, até 15, para caber em uma linha — e um botão de fechar redondo de bala, na cor de giz de perigo, com um X branco. |
| Partes da skin | GoSkinKids: os slots rápidos são blocos de bala que afundam durante o cooldown, os emblemas são adesivos, os chips e a pílula de navegação são gelatinas pequenas, os avatares são balas redondas, o joystick é um arco-íris, os gráficos usam giz de cera, e os alertas e avisos são bilhetes de adesivo com uma borda sólida. |
| Opacidade | Painéis, cartões, avisos e popups são opacos. |

Crie a sua própria caixa de brinquedos
python3 addons/gohud/tools/new_theme.py candy --from kids_light
# Edite themes/palettes/candy.json e depois:
python3 addons/gohud/tools/make_theme.py candy
GoUi.use_preset(&"candy")
Quadrinhos: tinta forte Novo
O comic_light (painéis brancos sobre uma página creme de papel, um primário cobalto) e o comic_dark (painéis ardósia sobre uma
página noturna, contornos creme, um primário amarelo) desenham cada face como um quadro de história em quadrinhos — um contorno grosso de tinta
com uma sombra dura atrás.
GoUi.use_preset(&"comic_light")
# Ou: GoUi.use_preset(&"comic_dark")

comic_light
comic_dark
GoDialogs · comic_light
GoDialogs · comic_darkO que muda
| Parte | Nos visuais de quadrinhos |
|---|---|
| Todas as faces | Desenhadas pelo GoStyleBoxComic: a cor da superfície dentro de um contorno grosso na cor da tinta, e uma sombra dura para baixo e para a direita. Teclas, linhas de lista, campos, abas, barras, controles deslizantes, painéis e popups, todos a usam. |
| Ao pressionar | A sombra some e a face afunda no lugar. |
| Controles | Interruptores, caixas de seleção, botões de opção e alças dos controles deslizantes também ganham contorno de tinta, cada um com sua própria sombra pequena. |
| Janelas | Uma legenda amarela atrás do título de uma janela e um botão de fechar redondo com contorno de tinta. |
| Partes da skin | GoSkinComic: slots rápidos, chips, emblemas, avatares, avisos, a barra de navegação, o FAB e as células de data ganham contorno de tinta; o botão do joystick projeta uma sombra; os gráficos usam cores primárias fortes. |
| Opacidade | Painéis, cartões, avisos e popups são opacos; os cartões de HUD são 92% opacos. |
Configurações de tinta e sombra
Três configurações do GoConfig mudam todas as faces de quadrinhos de uma vez. Nada é reconstruído — a tela se redesenha conforme você as define.
GoUi.config.comic_border_width = 2.0 # o contorno (dp) — 3 por padrão
GoUi.config.comic_shadow_size = 6.0 # a sombra (dp) — 4 por padrão
GoUi.config.comic_shadow = false # nenhuma sombra em lugar nenhum
Um widget pode seguir o próprio caminho, diga a configuração o que disser:
GoStyle.comic_shadow(skip_button, false) # este botão fica plano
GoStyle.comic_shadow(card, true, true) # este cartão e tudo dentro dele mantêm a sombra
GoStyle.comic_border(title, 5.0) # um contorno mais grosso neste aqui

Crie os seus próprios quadrinhos
python3 addons/gohud/tools/new_theme.py inked --from comic_light
# Edite themes/palettes/inked.json e depois:
python3 addons/gohud/tools/make_theme.py inked
GoUi.use_preset(&"inked")
Arcade: teclas pintadas e painéis grossos Novo
O arcade_light (painéis brancos sobre uma página azul-céu) e o arcade_dark (painéis azul-marinho sobre uma página noturna)
vestem cada tela como um fliperama: cada tecla é pintada — um degradê do topo claro à base mais intensa,
um traço de brilho branco e uma borda que afunda ao ser pressionada, dentro de um contorno de tinta azul-marinho — e cada painel é grosso, uma
moldura colorida em volta de um fundo claro.
GoUi.use_preset(&"arcade_light")
# Ou: GoUi.use_preset(&"arcade_dark")

arcade_light
arcade_dark
GoDialogs · arcade_light
GoDialogs · arcade_darkO que muda
| Parte | Nos visuais arcade |
|---|---|
| Teclas | Desenhadas pelo GoStyleBoxArcade: um corpo em degradê, um brilho branco no canto superior esquerdo, uma borda mais escura e um contorno de tinta azul-marinho. A tecla primária é verde; as teclas normais e a aba escolhida, azuis; as de perigo, coral e vermelhas; as teclas pequenas e as outras abas, lavanda. |
| Rótulos | Brancos com contorno de tinta em cada tecla pintada. Cada cor é ajustada até que esse rótulo se leia em qualquer altura do seu degradê — 4,6:1 ou mais, contando o contorno como parte da letra, como faz a WCAG. |
| Ao pressionar | A borda some, a tecla afunda no lugar e volta a saltar. |
| Painéis | Painéis, cartões, cartões de HUD e popups são grossos: uma moldura colorida (6dp em volta de uma janela, 4 em volta de um cartão ou de um cartão de HUD, 3 em volta de um menu ou de um aviso) com brilho e borda próprios, em volta de um fundo claro com uma linha de tinta. O respiro deles cresce um pouco para comportá-la, então o texto nunca encosta na moldura. |
| Campos e barras | Campos de texto e sulcos de barra são fundos rebaixados; o preenchimento de uma barra é um tubo pintado e brilhante, no tom vivo da sua cor. |
| Janelas | Uma faixa dourada com um título branco contornado de tinta e uma tecla de fechar vermelha e redonda com um X branco. |
| Partes da skin | GoSkinArcade: slots rápidos e chips são teclas, um slot em recarga acende um aro dourado, os emblemas são placas claras, os alertas ganham uma moldura da sua cor, o cartão escolhido acende um aro dourado, o FAB é uma tecla dourada e o joystick, uma base brilhante com quatro setas. |
| Opacidade | Painéis, cartões, avisos e popups são opacos; os cartões de HUD são 94% opacos. |
Pinte uma tecla com a própria cor
O tema pinta as teclas por tipo. Um menu em que cada tecla quer a sua própria cor as pinta uma a uma — a face ao passar o cursor fica um pouco mais clara, a pressionada um pouco mais escura, e a desativada continua apagada:
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) # a moldura de um painel e todas as teclas dentro dele
arcade_paint() não faz nada.

Crie o seu próprio arcade
python3 addons/gohud/tools/new_theme.py cabinet --from arcade_light
# Edite themes/palettes/cabinet.json — as cores *_vivid são as tintas — e depois:
python3 addons/gohud/tools/make_theme.py cabinet
GoUi.use_preset(&"cabinet")