Un preajuste agrupa las tres. Los campos que dejes vacíos recurren a los valores predeterminados.
| Capa | Decide | Cómo se cambia |
|---|---|---|
Theme |
Colores, tamaños, escala de texto y la forma de todo lo que dibuja el motor — paneles de botón, campos de entrada, pestañas, gráficos de los interruptores | Escribe un .tres, o genera uno con tools/make_theme.py |
GoSkin |
La forma de todo lo que dibuja el código — el joystick, las caras de las ranuras rápidas, el anillo de la marca guía, los chips, los esqueletos, los separadores, los encabezados de sección | Créale una subclase y sobrescribe solo los métodos que te importen |
GoIconSet |
Iconos por nombre — 84 dibujos predeterminados, o los 16 dibujos grabados del juego medieval por encima de ellos. Un paquete de texturas o una fuente de iconos; el código que los llama es idéntico en ambos casos | Proporciona un juego completo, o sobrescribe solo unos pocos nombres |
StyleBoxFlat —
pon el radio a cero y obtienes un ángulo recto; no hay nada intermedio. Esquinas cortadas en diagonal,
un único borde engrosado, un resplandor exterior: el motor no dibuja ninguno de ellos. Y el joystick y la marca guía
se dibujan en _draw(), donde un tema no llega en absoluto.
Cómo elegir uno
GoUi.use_preset(GoThemePresets.SCIFI_DARK)
Esa única línea cambia el tema, el skin y los iconos. Desde el editor, usa
Ajustes del proyecto → Gohud → Theme → Preset; desde un recurso de configuración, GoConfig.preset.
Cómo conservar un campo propio
GoUi.use_preset(GoThemePresets.SCIFI_DARK)
GoUi.config.icons = my_icons # tus iconos, y del preajuste todo lo demás
Asignar theme, skin o icons de forma explícita tiene prioridad sobre el preajuste.
Los catorce preajustes incluidos
| Preajuste | Paneles | Skin · iconos |
|---|---|---|
default_dark · default_light | Paneles StyleBoxFlat redondeados sobre una escala graduada de sombras; los botones primarios se elevan y se hunden al pulsarlos | GoSkin · 84 iconos predeterminados |
scifi_dark · scifi_light | Paneles GoStyleBoxCut achaflanados con borde de neón y resplandor; marcas de foco GoStyleBoxBracket | GoSkinSciFi — joystick hexagonal · iconos predeterminados |
medieval_dark · medieval_light | Marcos GoStyleBoxMedieval forjados — hierro y cuero, o pergamino — con remaches y ornamentos de esquina en los menús | GoSkinMedieval · 16 iconos grabados por encima de los predeterminados |
material_light · material_dark Nuevo | Material 3 Expressive para pantallas de apps — botones en píldora de 40dp dentro del área táctil de 48dp, diálogos de 28dp, tarjetas rellenas, campos con contorno, el deslizador Expressive; los componentes de app (barra de navegación, barra superior, FAB, barra de búsqueda, chips, progreso, selector de fecha) siguen los tokens de componente de M3 | GoSkinMaterial · iconos predeterminados |
kids_light · kids_dark Nuevo | Para niños — la caja de juguetes: contornos gruesos y un labio sólido bajo cada tecla, que se hunde al pulsarla; campos de texto hundidos, pestañas de burbuja, barras de gelatina; cada tipo de control con su propio color de crayón, ranuras rápidas de caramelo, insignias de pegatina, un joystick arcoíris y gráficos de crayón. Los tamaños y la fuente del proyecto no cambian. | GoSkinKids · iconos predeterminados |
arcade_light · arcade_dark Nuevo | Una máquina recreativa dibujada por GoStyleBoxArcade: cada tecla pintada con un degradado de arriba abajo, un brillo blanco y un labio que se hunde al pulsarla, dentro de un contorno de tinta azul marino, y con la etiqueta en blanco con contorno de tinta — primario verde, teclas azules, peligro en rojo, teclas pequeñas lavanda. Tableros gruesos con un marco de color alrededor de un fondo pálido; un estandarte de título dorado y una tecla de cerrar roja y redonda en las ventanas. | GoSkinArcade · iconos predeterminados |
comic_light · comic_dark Nuevo | Viñetas de cómic dibujadas por GoStyleBoxComic: un contorno grueso de tinta y una sombra dura en cada cara, que desaparece al pulsarla; interruptores, casillas y tiradores de deslizador entintados, y un rótulo de título amarillo en las ventanas. El grosor del contorno, el tamaño de la sombra y si se muestran o no las sombras son ajustes de GoConfig. | GoSkinComic · iconos predeterminados |
Los catorce, uno al lado del otro
La misma pantalla de la galería cambiando solo el nombre del preajuste — no cambia ni una línea del código de los widgets. Cada imagen es un teléfono en vertical, a 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: hierro, cuero y pergamino
medieval_dark combina hierro y cuero oscuros con oro antiguo. medieval_light
usa pergamino y tinta. Ambos usan GoSkinMedieval, los widgets existentes y 16 iconos
originales con detalles de grabado; los iconos de navegación recurren al juego original.
GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
# O bien: GoUi.use_preset(GoThemePresets.MEDIEVAL_LIGHT)
Elige el preajuste antes de crear tu interfaz. Las sobrescrituras explícitas de GoConfig.theme,
skin o icons siguen teniendo prioridad. Abre
res://addons/gohud/examples/medieval/medieval.tscn y pulsa F6 para ver una hoja de personaje,
un zurrón y un diario de misiones en funcionamiento. Sus botones alternan las variantes y abren el detalle de los objetos.


Los marcos de menú llevan un remache y un pequeño ornamento de esquina; el HUD siempre visible mantiene un borde discreto.
La vida, el maná y la resistencia usan rellenos rojo, azul y oliva. Cinzel se limita a títulos y subtítulos;
el texto del cuerpo conserva la fuente del proyecto anfitrión o la predeterminada. La fuente incluida trae su licencia en
assets/fonts/cinzel/OFL.txt.
El juego grabado redibuja bag, book, box, coin, crown,
flag, heart, key, map, potion, shield,
star, sword y user, y añade scroll y seal.
Cualquier otro nombre recurre al juego predeterminado, así que close y settings conservan sus dibujos
predeterminados en todos los preajustes. Cinzel cubre el alfabeto latino; dale a los encabezados localizados una fuente propia a través de
shape.fonts.
DPITexture; que una ranura rápida real usa el skin; que cambiar los dials de un skin copiado llega
a la ranura sin tocar el preajuste; y que al volver atrás se restaura la geometría predeterminada y la de ciencia ficción.
Crea un reino propio
python3 addons/gohud/tools/new_theme.py kingdom --from medieval_dark
# Edita themes/palettes/kingdom.json y luego:
python3 addons/gohud/tools/make_theme.py kingdom
godot --headless --path . --import
# En GDScript, antes de crear los widgets:
GoUi.use_preset(&"kingdom")
Los temas JSON pueden heredar de otros temas JSON. Los valores omitidos conservan los del padre; la herencia circular se rechaza. El preajuste generado conserva el juego de iconos de su padre.
| Ajuste | Efecto |
|---|---|
shape.material | 0: hierro · 1: cuero · 2: pergamino. Controla las marcas de la superficie. |
shape.grain_alpha | Opacidad de la textura. Usa 0 para una superficie limpia. |
shape.ornament_scale · shape.bevel_strength | Tamaño del ornamento de esquina del menú e intensidad del realce biselado. |
shape.fonts | Asigna los roles de título, subtítulo, leyenda, cuerpo y botón a archivos de fuente res:// locales del add-on. Los roles omitidos conservan su fuente heredada. |
skin.dials | Radio de las ranuras rápidas, visibilidad de los remaches, grano y realce. La tabla completa de más abajo enumera cada dial. |
Material 3: un aspecto para pantallas de apps Nuevo
material_light y material_dark llevan Material 3 Expressive a gohud — las formas, los tamaños y la
tipografía de los componentes de M3, con cada número leído del conjunto oficial de tokens de M3 (material-web,
tokens/versions/latest). Recurre a ellos cuando una pantalla deba sentirse como una app y no como el menú de un juego:
tiendas, bandejas de entrada, páginas de cuenta y de ajustes, clasificaciones, una app complementaria.
GoUi.use_preset(GoThemePresets.MATERIAL_LIGHT)
# O bien: GoUi.use_preset(GoThemePresets.MATERIAL_DARK)

material_light
material_dark
GoDialogs · material_light
GoDialogs · material_darkQué cambia
| Parte | En Material 3 |
|---|---|
| Botones | Píldoras (la esquina completa). La placa mide 40dp de alto y va centrada en el área táctil de 48dp, así que la zona de pulsación no se reduce; la placa de un botón compacto mide 32dp. Las etiquetas usan Roboto con peso 500. |
| Diálogos y hojas | Esquinas de 28dp (extragrandes), relleno de 24dp y un titular de 24sp — GoDialogs, GoSurface, GoSheet y todas las ventanas emergentes construidas sobre ellos. |
| Tarjetas | Tarjetas rellenas con esquinas de 12dp y relleno de 16dp. |
| Campos y deslizadores | Campos de texto con contorno; el deslizador Expressive con su tirador alto. |
| Chips y segmentos | Esquinas de 8dp (pequeñas). |
| Componentes de app | GoNavBar, GoAppBar, GoFab, GoSearchBar, los chips, GoProgress y GoDatePicker siguen los tokens de componente de M3. |
| Tipografía | La Roboto incluida para títulos, subtítulos, leyendas y botones. El texto del cuerpo conserva la fuente de tu proyecto, así que el coreano, el japonés, el chino o el árabe se siguen dibujando. |
| Opacidad | Todos los paneles son opacos — las superficies de M3 son sólidas. (Los paneles predeterminados, de ciencia ficción y medievales son opacos al 80%, para que el juego se vea a través.) |
| Skin | GoSkinMaterial: el panel lateral es la hoja lateral modal de M3, la cara de la consola es la barra de herramientas flotante de M3 y los banners se apoyan en surface_container_low. |
tools/check_contrast.py mide ambos aspectos igual que todos los demás.
Roboto se distribuye bajo la SIL Open Font License 1.1 (assets/fonts/roboto/OFL.txt) y solo la usan los preajustes
Material.
Infantil: la caja de juguetes Nuevo
kids_light (crema y melocotón con un primario uva) y kids_dark (fondo arándano, primario amarillo
sol, píldoras menta) son un aspecto hecho para juegos infantiles y apps educativas — grueso, vivo y blandito, justo
lo que un dedo pequeño quiere pulsar.
GoUi.use_preset(&"kids_light")
# O bien: GoUi.use_preset(&"kids_dark")

kids_light
kids_dark
GoDialogs · kids_light
GoDialogs · kids_darkQué cambia
| Parte | En los aspectos infantiles |
|---|---|
| Todas las caras | Un caramelo de gelatina, dibujado por GoStyleBoxJelly: un contorno grueso, un labio sólido bajo todo lo que se pulsa, un cuerpo más claro arriba y más intenso abajo, y un brillo blanco arriba a la izquierda. Lo llevan las teclas, las filas de lista, los títulos plegables, los campos, las barras, los deslizadores y los paneles. |
| Al pulsar | El labio desaparece y la cara se hunde en su sitio; luego llega un aplastamiento de gelatina — ancha y plana por un instante, y después un rebote elástico. Funciona en todos los botones que crea gohud; reduce_motion lo desactiva. |
| Campos, pestañas, barras | Un campo de texto es la misma gelatina vuelta hacia dentro — un pozo hundido. Las pestañas son burbujas y las barras tienen un brillo de gelatina. |
| Color | Cada tipo de control con su propio color de crayón, elegido por el mismo generador que todos los aspectos, así que todas las comprobaciones de contraste se siguen cumpliendo. |
| Ventanas | Una cinta soleada (menta de noche) detrás del título de una ventana — el título se encoge, hasta 15, para caber en una línea — y un botón de cerrar redondo de caramelo en el crayón de peligro, con una cruz blanca. |
| Partes del skin | GoSkinKids: las ranuras rápidas son bloques de caramelo que se hunden durante el enfriamiento, las insignias son pegatinas, los chips y la píldora de navegación son gelatinas pequeñas, los avatares son caramelos redondos, el joystick es un arcoíris, los gráficos usan crayones, y las alertas y los avisos son notas de pegatina con un borde sólido. |
| Opacidad | Los paneles, las tarjetas, los avisos y las ventanas emergentes son opacos. |

Crea tu propia caja de juguetes
python3 addons/gohud/tools/new_theme.py candy --from kids_light
# Edita themes/palettes/candy.json y luego:
python3 addons/gohud/tools/make_theme.py candy
GoUi.use_preset(&"candy")
Cómic: tinta gruesa Nuevo
comic_light (paneles blancos sobre una página color crema papel, un primario cobalto) y comic_dark (paneles pizarra sobre una
página nocturna, contornos crema, un primario amarillo) dibujan cada cara como una viñeta de cómic — un contorno grueso de tinta con una
sombra dura detrás.
GoUi.use_preset(&"comic_light")
# O bien: GoUi.use_preset(&"comic_dark")

comic_light
comic_dark
GoDialogs · comic_light
GoDialogs · comic_darkQué cambia
| Parte | En los aspectos de cómic |
|---|---|
| Todas las caras | Dibujadas por GoStyleBoxComic: el color de la superficie dentro de un contorno grueso del color de la tinta, y una sombra dura hacia abajo y a la derecha. La llevan las teclas, las filas de lista, los campos, las pestañas, las barras, los deslizadores, los paneles y las ventanas emergentes. |
| Al pulsar | La sombra desaparece y la cara se hunde en su sitio. |
| Controles | Los interruptores, las casillas, los botones de opción y los tiradores de los deslizadores también van entintados, cada uno con su propia sombra pequeña. |
| Ventanas | Un rótulo amarillo detrás del título de una ventana y un botón de cerrar redondo entintado. |
| Partes del skin | GoSkinComic: las ranuras rápidas, los chips, las insignias, los avatares, los avisos, la barra de navegación, el FAB y las celdas de fecha van entintados; el pomo del joystick proyecta una sombra; los gráficos usan primarios intensos. |
| Opacidad | Los paneles, las tarjetas, los avisos y las ventanas emergentes son opacos; las tarjetas del HUD son opacas al 92%. |
Ajustes de tinta y sombra
Tres ajustes de GoConfig cambian todas las caras de cómic a la vez. No se reconstruye nada — la pantalla se redibuja en cuanto los cambias.
GoUi.config.comic_border_width = 2.0 # el contorno (dp) — 3 por defecto
GoUi.config.comic_shadow_size = 6.0 # la sombra (dp) — 4 por defecto
GoUi.config.comic_shadow = false # sin sombras en ningún sitio
Un widget puede ir por su cuenta, diga lo que diga el ajuste:
GoStyle.comic_shadow(skip_button, false) # este botón queda plano
GoStyle.comic_shadow(card, true, true) # esta tarjeta y todo lo que contiene conservan su sombra
GoStyle.comic_border(title, 5.0) # un contorno más grueso en este

Crea tu propio cómic
python3 addons/gohud/tools/new_theme.py inked --from comic_light
# Edita themes/palettes/inked.json y luego:
python3 addons/gohud/tools/make_theme.py inked
GoUi.use_preset(&"inked")
Arcade: teclas pintadas y tableros gruesos Nuevo
arcade_light (tableros blancos sobre una página azul cielo) y arcade_dark (tableros azul marino sobre una página nocturna)
visten cada pantalla como una máquina recreativa: cada tecla va pintada — un degradado de una parte superior clara a una inferior más intensa,
un trazo de brillo blanco y un labio que se hunde al pulsarla, dentro de un contorno de tinta azul marino — y cada tablero es grueso, un
marco de color alrededor de un fondo pálido.
GoUi.use_preset(&"arcade_light")
# O bien: GoUi.use_preset(&"arcade_dark")

arcade_light
arcade_dark
GoDialogs · arcade_light
GoDialogs · arcade_darkQué cambia
| Parte | En los aspectos arcade |
|---|---|
| Teclas | Dibujadas por GoStyleBoxArcade: un cuerpo en degradado, un brillo blanco en la esquina superior izquierda, un labio más intenso y un contorno de tinta azul marino. La tecla primaria es verde; las teclas normales y la pestaña elegida, azules; las de peligro, coral y rojas; las teclas pequeñas y las demás pestañas, lavanda. |
| Etiquetas | Blancas con un contorno de tinta en cada tecla pintada. Cada pintura se ajusta hasta que esa etiqueta se lee en cualquier altura de su degradado — 4,6:1 o más, contando el contorno como parte de la letra, como hace la WCAG. |
| Al pulsar | El labio desaparece, la tecla se hunde en su sitio y vuelve a saltar. |
| Tableros | Los paneles, las tarjetas, las tarjetas del HUD y las ventanas emergentes son gruesos: un marco de color (6dp alrededor de una ventana, 4 alrededor de una tarjeta o una tarjeta del HUD, 3 alrededor de un menú o un aviso) con su propio brillo y su propio labio, alrededor de un fondo pálido con una línea de tinta. Su relleno crece un poco para dejarle sitio, así que el texto nunca toca el marco. |
| Campos y barras | Los campos de texto y los surcos de las barras son fondos hundidos; el relleno de una barra es un tubo pintado con brillo, en el tono vivo de su color. |
| Ventanas | Un estandarte dorado con un título blanco con contorno de tinta y una tecla de cerrar roja y redonda con una cruz blanca. |
| Partes del skin | GoSkinArcade: las ranuras rápidas y los chips son capuchones de tecla, una ranura en recarga enciende un borde dorado, las insignias son placas claras, las alertas llevan un marco de su color, la tarjeta elegida enciende un borde dorado, el FAB es una tecla dorada y el joystick, una base con brillo y cuatro flechas. |
| Opacidad | Los paneles, las tarjetas, los avisos y las ventanas emergentes son opacos; las tarjetas del HUD son opacas al 94%. |
Pinta una tecla con su propio color
El tema pinta las teclas según su tipo. Un menú en el que cada tecla quiere su propio color las pinta una a una — la cara al pasar el cursor sale un poco más clara, la pulsada un poco más intensa, y la desactivada sigue 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) # el marco de un tablero y todas las teclas que contiene
arcade_paint() no hace nada.

Crea tu propio arcade
python3 addons/gohud/tools/new_theme.py cabinet --from arcade_light
# Edita themes/palettes/cabinet.json — los colores *_vivid son las pinturas — y luego:
python3 addons/gohud/tools/make_theme.py cabinet
GoUi.use_preset(&"cabinet")