Token导航 LogoToken导航TokenDH.com
研究检索只读github未标认证来源可访问许可证需确认审计通过

unity-textmeshproUnity textmeshpro 搜索

Agent Skill

unity-textmeshpro 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

225

周安装

9

GitHub Stars

8

下载量

73
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:unity-textmeshpro(Unity textmeshpro 搜索)
来源仓库:https://github.com/creator-hian/claude-code-plugins
仓库路径:skills/unity-textmeshpro
安装命令:
npx skills add https://github.com/creator-hian/claude-code-plugins --skill unity-textmeshpro
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/creator-hian/claude-code-plugins --skill unity-textmeshpro

简介

Unity TextMeshPro 搜索工具,提供字体排版与文本渲染相关资源。

  • 适用于需要优化 UI 文字显示效果或动态文本生成的场景。
  • 支持查找字形缓存、富文本标签使用范例等内容。
  • 安装命令:npx skills add https://github.com/creator-hian/claude-code-plugins --skill unity-textmeshpro
  • 建议核对 TMP 资源导入路径与材质兼容性说明

SKILL.md

Unity TextMeshPro - Professional Text Rendering

Overview

TextMeshPro (TMPro) is Unity's advanced text rendering solution using Signed Distance Field (SDF) technology for resolution-independent, high-quality text with minimal performance overhead.

Foundation Required: unity-csharp-fundamentals (TryGetComponent, FindAnyObjectByType), unity-ui (UI systems, Canvas, UGUI)

Core Topics:

  • SDF font asset creation and configuration
  • Dynamic vs static font assets
  • Rich text formatting and styling
  • Material presets and text effects
  • Performance optimization patterns
  • Localization and dynamic text handling

Quick Start

Basic Text Setup

using TMPro;
using UnityEngine;

public class TextController : MonoBehaviour
{
    [SerializeField] private TMP_Text mDisplayText;

    void Start()
    {
        mDisplayText.text = "Hello, World!";
        mDisplayText.fontSize = 36;
        mDisplayText.color = Color.white;
    }
}

TMP_Text vs TextMeshProUGUI vs TextMeshPro

// TMP_Text - Base class, use for serialization (works with both)
[SerializeField] private TMP_Text mText;

// TextMeshProUGUI - Canvas UI text (most common)
[SerializeField] private TextMeshProUGUI mUiText;

// TextMeshPro - 3D world space text (MeshRenderer)
[SerializeField] private TextMeshPro mWorldText;

Rich Text Formatting

// Basic formatting
text.text = "<b>Bold</b> and <i>Italic</i>";
text.text = "<size=48>Large</size> and <size=24>Small</size>";
text.text = "<color=#FF0000>Red</color> text";

// Advanced formatting
text.text = "<mark=#FFFF00AA>Highlighted</mark>";
text.text = "H<sub>2</sub>O and E=mc<sup>2</sup>";
text.text = "<s>Strikethrough</s> and <u>Underline</u>";

// Sprite embedding
text.text = "Score: 100 <sprite=0>";

Component Selection Guide

ScenarioComponentReason
UI Canvas textTextMeshProUGUICanvas integration, auto-batching
3D world labelsTextMeshProMeshRenderer, world-space
Serialized referenceTMP_TextWorks with both types
Input fieldTMP_InputFieldBuilt-in input handling
DropdownTMP_DropdownBuilt-in dropdown UI

Font Asset Best Practices

Font Asset Types

Static Font Asset:
- Pre-generated character set
- Best performance (no runtime generation)
- Use for: Known character sets, optimized builds

Dynamic Font Asset:
- Runtime character generation
- Flexible but slower initial render
- Use for: Localization, user input, unknown characters

Creating Optimal Font Assets

  1. Font Asset Creator (Window > TextMeshPro > Font Asset Creator)

- Set appropriate Atlas Resolution (1024x1024 for basic, 2048x2048 for CJK) - Use "Custom Character List" for known character sets - Enable Multi Atlas Textures for large character sets

  1. Sampling Point Size: Use highest size that fits atlas (better quality)
  2. Padding: 5-9 for normal use, higher for effects (outline, glow)

Performance Guidelines

Text Update Optimization

// BAD: Frequent text changes trigger mesh rebuild
void Update()
{
    scoreText.text = $"Score: {score}"; // Rebuilds every frame
}

// GOOD: Update only when value changes
private int mLastScore = -1;

void Update()
{
    if (score != mLastScore)
    {
        mLastScore = score;
        scoreText.text = $"Score: {score}";
    }
}

// BETTER: Use SetText for formatted updates (less allocation)
void UpdateScore(int score)
{
    scoreText.SetText("Score: {0}", score);
}

Memory-Efficient Patterns

// Use StringBuilder for complex text construction
private readonly StringBuilder mSb = new StringBuilder(256);

void BuildComplexText()
{
    mSb.Clear();
    mSb.Append("Player: ");
    mSb.Append(playerName);
    mSb.Append(" | Score: ");
    mSb.Append(score);
    displayText.SetText(mSb);
}

// Prefer SetText with parameters over string interpolation
text.SetText("{0}/{1}", currentHP, maxHP);  // Less GC
// Instead of
text.text = $"{currentHP}/{maxHP}";         // More GC

Material Presets

// Apply material preset at runtime
[SerializeField] private Material mHighlightMaterial;
[SerializeField] private Material mNormalMaterial;

void Highlight(bool active)
{
    mText.fontMaterial = active ? mHighlightMaterial : mNormalMaterial;
}

// Modify material properties
mText.fontMaterial.SetFloat(ShaderUtilities.ID_OutlineWidth, 0.2f);
mText.fontMaterial.SetColor(ShaderUtilities.ID_OutlineColor, Color.black);

Reference Documentation

Fundamentals

Core TextMeshPro concepts:

  • SDF technology explanation
  • Font asset creation workflow
  • Character sets and fallback fonts
  • Sprite assets integration
  • Style sheets usage

Performance Optimization

Optimization techniques:

  • Mesh geometry optimization
  • Dynamic batching strategies
  • Font atlas memory management
  • Text update minimization patterns
  • Profiling text rendering

Advanced Patterns

Advanced usage patterns:

  • Custom shaders and effects
  • Text animation techniques
  • Localization integration
  • Typewriter effects
  • Link and event handling

Key Principles

  1. Use TMP_Text for References: Base class works with both UI and 3D text
  2. Prefer SetText() over.text: Reduces GC allocations for dynamic values
  3. Update Only When Changed: Avoid unnecessary mesh rebuilds
  4. Choose Appropriate Font Assets: Static for performance, Dynamic for flexibility
  5. Batch Similar Text: Group text with same material for draw call reduction

Common Anti-Patterns

// AVOID: Creating new materials per text instance
text.fontMaterial = new Material(text.fontMaterial); // Memory leak risk

// AVOID: Updating text in Update() without change check
void Update() { text.text = score.ToString(); } // Constant rebuild

// AVOID: Excessive rich text nesting
text.text = "<b><i><color=#FF0000><size=48>...</size></color></i></b>";

// AVOID: Dynamic fonts for static content
// Use pre-generated static font assets instead

Platform Considerations

  • Mobile: Use static font assets, minimize atlas size, avoid complex effects
  • WebGL: Pre-load font assets, avoid dynamic font generation
  • VR/AR: Consider text readability, use larger fonts, avoid thin outlines

Integration with Other Skills

  • unity-ui: TextMeshPro integrates with Canvas and UI Toolkit
  • unity-performance: Text rendering impacts draw calls and memory
  • unity-mobile: Font asset optimization critical for mobile
  • unity-async: Async font loading with Addressables

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.32%
按下载量换算26

Claude

29.38%
按下载量换算21

Cursor

17.55%
按下载量换算13

Gemini CLI

8.65%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills