Instalación

May 24, 2026 · View on GitHub

Unity-Theme — Paleta de Colores

OpenUPM Unity Editor Unity Runtime r
Stars License Stand With Ukraine

Unity-Theme

English | 中文 | 日本語

Crea paletas de colores y componentes para cambiar colores específicos en elementos visuales específicos. Muy útil para UI.

Características

  • ✔️ Nombrar colores
  • ✔️ Crear temas personalizados con nombres
  • ✔️ Agregar tantos colores como necesites
  • ✔️ Nombrar temas como quieras
  • ✔️ Cambiar tema en cualquier momento por nombre
  • ✔️ Vincular color a: Image, SpriteRenderer, TextMeshPro, etc
  • ✔️ Forma fácil de agregar vinculador de color personalizado con una nueva clase C# con solo unas pocas líneas de código
  • ✔️ Renombrar color incluso después de vincular a un componente, sin enlaces rotos

Estado de estabilidad

Versión UnityPrueba EditorPrueba PlayerPrueba Build
2022.3.62f32022.3.62f32022.3.62f32022.3.62f3
6000.3.9f16000.3.9f16000.3.9f16000.3.9f1

Instalación

Opción 1 - Instalador

  • ⬇️ Descargar Instalador
  • 📂 Importar instalador al proyecto Unity
    • Puede hacer doble clic en el archivo - Unity lo abrirá
    • O: Puede abrir Unity Editor primero, luego hacer clic en Assets/Import Package/Custom Package, luego elegir el archivo

Opción 2 - OpenUPM-CLI

openupm add extensions.unity.theme

Uso

  • Ir a Window/Unity-Theme
  • Personalizar paletas de colores como desees
  • Agregar componentes ColorBinder al GameObject de destino

Vinculador de Color

Un componente que vincula un color a un objetivo específico, como Image, SpriteRenderer, TextMeshPro, o cualquier otra cosa.

Hay una lista de vinculadores de color incorporados:

  • ✔️ Light
  • ✔️ Image
  • ✔️ Button
  • ✔️ Shadow
  • ✔️ Toggle
  • ✔️ Outline
  • ✔️ Renderer
  • ✔️ Selectable
  • ✔️ TextMeshPro
  • ✔️ LineRenderer
  • ✔️ MeshRenderer
  • ✔️ SpriteRenderer
  • ✔️ SkinnedMeshRenderer
  • ✔️ SpriteShapeRenderer

Unity-Theme-Binder

Paletas de colores

Modifica paletas, respuesta instantánea con todos los GameObjects conectados.

Unity-Theme-Palettes

API de C#

Colores

using Unity.Theme;

Theme.Instance.AddColor("Primary", "#6750A4");
Theme.Instance.AddColor("Primary", Color.white);

Theme.Instance.SetColor("Primary", "#6750A4");
Theme.Instance.SetColor("Primary", Color.white);

Theme.Instance.SetOrAddColor("Primary", "#6750A4");
Theme.Instance.SetOrAddColor("Primary", Color.white);

Theme.Instance.RemoveColorByName("Primary");
Theme.Instance.RemoveColor(colorData);
Theme.Instance.RemoveAllColors();

Temas

using Unity.Theme;

Theme.Instance.AddTheme("Light");
Theme.Instance.SetOrAddTheme("Light");

Theme.Instance.CurrentThemeName = "Light";
Theme.Instance.CurrentThemeIndex = 0;

Theme.Instance.RemoveTheme("Light");
Theme.Instance.RemoveAllThemes();

Crear un ColorBinder personalizado

Si necesita vincular color a otra cosa, puede extender desde BaseColorBinder como se indica a continuación.

using UnityEngine;
using TMPro;

namespace Unity.Theme.Binders
{
    [AddComponentMenu("Theme/TextMeshPro Color Binder")]
    public class TextMeshProColorBinder : GenericColorBinder<TextMeshProUGUI>
    {
        protected override void SetColor(TextMeshProUGUI target, Color color)
            => target.color = color;

        protected override Color? GetColor(TextMeshProUGUI target)
            => target.color;
    }
}

Otros


Migración desde la versión 2.x.x

La versión 3.x.x o más reciente tiene una estructura de base de datos diferente, por lo que necesita migrar sus datos manualmente si desea mantener los vinculadores existentes conectados al color correcto. Los vinculadores utilizan GUIDs para conectarse a los colores.

❗❗❗Por favor, siga el orden exacto de los pasos

Paso 1

Cerrar el proyecto Unity para evitar cualquier pérdida de datos.

Paso 2 - copia de seguridad

  • Hacer una copia de seguridad de Assets/Resources/Unity-Theme Database.asset, colocarla fuera del proyecto.
  • Hacer una captura de pantalla de los colores en cada tema para reproducirlos más tarde con el selector de color.

Paso 3 - plantilla de base de datos

  • Descargar Unity-Theme-Database.json.
  • Guardarlo en Assets/Resources/Unity-Theme-Database.json.
  • Usarlo como plantilla. Siéntase libre de eliminar todos los colores existentes si lo desea.

Paso 4 - migración de datos

Necesita copiar los GUIDs desde Assets/Resources/Unity-Theme Database.asset a Assets/Resources/Unity-Theme-Database.json. Para hacerlo, consulte los ejemplos a continuación. Puede ver cuál es el formato de datos de las bases de datos antiguas y nuevas, y cómo copiar los GUIDs. Puede ignorar el color por ahora, es más fácil cambiar los valores de color más tarde usando la herramienta de selector de color y la captura de pantalla de la paleta de colores antigua.

Ejemplo de Assets/Resources/Unity-Theme Database.asset - archivo antiguo (origen)

Observe el guid: 6b934efb-0b9b-42fd-82fd-7a0dbd1de53c, el archivo lo contiene 3 veces, dependiendo de su configuración. Necesitará copiar el guid al archivo Unity-Theme-Database.json.

  colors:
  - guid: 6b934efb-0b9b-42fd-82fd-7a0dbd1de53c
    name: Primary
  - guid: 520b0288-c5e4-4106-95ae-095ad2dcceb8
    name: Primary Text
  - guid: 465741bc-25d8-4722-a981-7e4a18074d83
    name: Primary Container
  themes:
  - guid: 6d1fce4e-1938-4d6d-93b0-b4b9f6497293
    expanded: 1
    themeName: Light
    colors:
    - guid: 6b934efb-0b9b-42fd-82fd-7a0dbd1de53c
      color: {r: 0.40392157, g: 0.3137255, b: 0.6431373, a: 1}
    - guid: 520b0288-c5e4-4106-95ae-095ad2dcceb8
      color: {r: 1, g: 1, b: 1, a: 1}
    - guid: 465741bc-25d8-4722-a981-7e4a18074d83
      color: {r: 0.91764706, g: 0.8666667, b: 1, a: 1}
  - guid: 54c71f36-6023-4d84-bce7-c8192cf7ba40
    expanded: 1
    themeName: Dark
    colors:
    - guid: 6b934efb-0b9b-42fd-82fd-7a0dbd1de53c
      color: {r: 0, g: 0.4784314, b: 1, a: 1}
    - guid: 520b0288-c5e4-4106-95ae-095ad2dcceb8
      color: {r: 1, g: 1, b: 1, a: 1}
    - guid: 465741bc-25d8-4722-a981-7e4a18074d83
      color: {r: 0.15294118, g: 0.15294118, b: 0.15686275, a: 1}

Ejemplo de Assets/Resources/Unity-Theme-Database.json - archivo nuevo (destino)

Este es el archivo que necesita crear al final del proceso de migración. Cuando termine, es posible que deba cerrar y abrir el proyecto Unity para permitir que Unity-Theme recargue los datos.

{
  "debugLevel": 2,
  "currentThemeIndex": 1,
  "colors": [
    { "guid": "6b934efb-0b9b-42fd-82fd-7a0dbd1de53c", "name": "Primary" },
    { "guid": "520b0288-c5e4-4106-95ae-095ad2dcceb8", "name": "Primary Text" },
    { "guid": "465741bc-25d8-4722-a981-7e4a18074d83", "name": "Primary Container" }
  ],
  "themes": [
    {
      "guid": "4cfe4185-bc3e-4247-969f-1da1d3f2bdec",
      "expanded": true,
      "themeName": "Light",
      "colors": [
        { "guid": "6b934efb-0b9b-42fd-82fd-7a0dbd1de53c", "colorHex": "#6750A4FF" },
        { "guid": "520b0288-c5e4-4106-95ae-095ad2dcceb8", "colorHex": "#FFFFFFFF" },
        { "guid": "465741bc-25d8-4722-a981-7e4a18074d83", "colorHex": "#EADDFFFF" }
      ]
    },
    {
      "guid": "dca52c83-4f79-4fee-854e-0defe9ccbe07",
      "expanded": true,
      "themeName": "Dark",
      "colors": [
        { "guid": "6b934efb-0b9b-42fd-82fd-7a0dbd1de53c", "colorHex": "#007AFFFF" },
        { "guid": "520b0288-c5e4-4106-95ae-095ad2dcceb8", "colorHex": "#FFFFFFFF" },
        { "guid": "465741bc-25d8-4722-a981-7e4a18074d83", "colorHex": "#272728FF" }
      ]
    }
  ]
}

Paso 5 - actualización del paquete

  • Eliminar Unity-Theme 2.x.x del proyecto mientras Unity está cerrado
openupm remove extensions.unity.theme
  • Instalar Unity-Theme más reciente
openupm add extensions.unity.theme

Paso 6 - limpieza

  • Eliminar el archivo Assets/Resources/Unity-Theme Database.asset (original y copia).
  • ✅ migración completada, ¡bien hecho!