docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class TMP_SubMeshUI

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    UIBehaviour
    Graphic
    MaskableGraphic
    TMP_SubMeshUI
    Implements
    ICanvasElement
    IClippable
    IMaskable
    IMaterialModifier
    Inherited Members
    MaskableGraphic.m_ShouldRecalculateStencil
    MaskableGraphic.m_MaskMaterial
    MaskableGraphic.m_StencilValue
    MaskableGraphic.SetClipRect(Rect, bool)
    MaskableGraphic.SetClipSoftness(Vector2)
    MaskableGraphic.OnValidate()
    MaskableGraphic.OnCanvasHierarchyChanged()
    MaskableGraphic.RecalculateMasking()
    MaskableGraphic.Raycast(Vector2, Camera)
    MaskableGraphic.onCullStateChanged
    MaskableGraphic.maskable
    MaskableGraphic.isMaskingGraphic
    Graphic.s_DefaultUI
    Graphic.s_WhiteTexture
    Graphic.m_Material
    Graphic.m_SkipLayoutUpdate
    Graphic.m_SkipMaterialUpdate
    Graphic.m_OnDirtyLayoutCallback
    Graphic.m_OnDirtyVertsCallback
    Graphic.m_OnDirtyMaterialCallback
    Graphic.s_Mesh
    Graphic.m_CachedMesh
    Graphic.m_CachedUvs
    Graphic.SetRaycastDirty()
    Graphic.OnRectTransformDimensionsChange()
    Graphic.OnBeforeTransformParentChanged()
    Graphic.OnCullingChanged()
    Graphic.LayoutComplete()
    Graphic.GraphicUpdateComplete()
    Graphic.OnPopulateMesh(Mesh)
    Graphic.OnPopulateMesh(VertexHelper)
    Graphic.OnRebuildRequested()
    Graphic.Reset()
    Graphic.OnDidApplyAnimationProperties()
    Graphic.SetNativeSize()
    Graphic.Raycast(Vector2, Camera, bool)
    Graphic.PixelAdjustPoint(Vector2)
    Graphic.GetPixelAdjustedRect()
    Graphic.CrossFadeColor(Color, float, bool, bool)
    Graphic.CrossFadeColor(Color, float, bool, bool, bool)
    Graphic.CrossFadeAlpha(float, float, bool)
    Graphic.RegisterDirtyLayoutCallback(UnityAction)
    Graphic.UnregisterDirtyLayoutCallback(UnityAction)
    Graphic.RegisterDirtyVerticesCallback(UnityAction)
    Graphic.UnregisterDirtyVerticesCallback(UnityAction)
    Graphic.RegisterDirtyMaterialCallback(UnityAction)
    Graphic.UnregisterDirtyMaterialCallback(UnityAction)
    Graphic.defaultGraphicMaterial
    Graphic.color
    Graphic.raycastTarget
    Graphic.raycastPadding
    Graphic.useLegacyMeshGeneration
    Graphic.depth
    Graphic.rectTransform
    Graphic.canvas
    Graphic.canvasRenderer
    Graphic.defaultMaterial
    Graphic.workerMesh
    UIBehaviour.Awake()
    UIBehaviour.Start()
    UIBehaviour.IsActive()
    UIBehaviour.OnCanvasGroupChanged()
    UIBehaviour.IsDestroyed()
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(string, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    MonoBehaviour.CancelInvoke(string)
    MonoBehaviour.IsInvoking(string)
    MonoBehaviour.StartCoroutine(string)
    MonoBehaviour.StartCoroutine(string, object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(string)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(object)
    MonoBehaviour.destroyCancellationToken
    MonoBehaviour.useGUILayout
    MonoBehaviour.didStart
    MonoBehaviour.didAwake
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.GetComponentIndex()
    Component.CompareTag(string)
    Component.CompareTag(TagHandle)
    Component.SendMessageUpwards(string, object, SendMessageOptions)
    Component.SendMessageUpwards(string, object)
    Component.SendMessageUpwards(string)
    Component.SendMessageUpwards(string, SendMessageOptions)
    Component.SendMessage(string, object)
    Component.SendMessage(string)
    Component.SendMessage(string, object, SendMessageOptions)
    Component.SendMessage(string, SendMessageOptions)
    Component.BroadcastMessage(string, object, SendMessageOptions)
    Component.BroadcastMessage(string, object)
    Component.BroadcastMessage(string)
    Component.BroadcastMessage(string, SendMessageOptions)
    Component.transform
    Component.transformHandle
    Component.gameObject
    Component.tag
    Object.GetEntityId()
    Object.MemberwiseClone()
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken)
    Object.InstantiateAsync<T>(T, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, InstantiateParameters, CancellationToken)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate<T>(T, InstantiateParameters)
    Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectsByType(Type)
    Object.FindObjectsByType(Type, FindObjectsInactive)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsByType<T>()
    Object.FindObjectsByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: TMPro
    Assembly: Unity.TextMeshPro.dll
    Syntax
    [ExecuteAlways]
    [RequireComponent(typeof(CanvasRenderer))]
    public class TMP_SubMeshUI : MaskableGraphic, ICanvasElement, IClippable, IMaskable, IMaterialModifier

    Properties

    fallbackMaterial

    Fallback material used when the primary font material is unavailable.

    Declaration
    public Material fallbackMaterial { get; set; }
    Property Value
    Type Description
    Material

    fallbackSourceMaterial

    The source material used by the fallback font

    Declaration
    public Material fallbackSourceMaterial { get; set; }
    Property Value
    Type Description
    Material

    fontAsset

    The TMP Font Asset assigned to this sub text object.

    Declaration
    public TMP_FontAsset fontAsset { get; set; }
    Property Value
    Type Description
    TMP_FontAsset

    isDefaultMaterial

    Is the text object using the default font asset material.

    Declaration
    public bool isDefaultMaterial { get; set; }
    Property Value
    Type Description
    bool

    mainTexture

    Declaration
    public override Texture mainTexture { get; }
    Property Value
    Type Description
    Texture
    Overrides
    Graphic.mainTexture

    material

    The material to be assigned to this object. Returns an instance of the material.

    Declaration
    public override Material material { get; set; }
    Property Value
    Type Description
    Material
    Overrides
    Graphic.material

    materialForRendering

    Get the material that will be used for rendering.

    Declaration
    public override Material materialForRendering { get; }
    Property Value
    Type Description
    Material
    Overrides
    Graphic.materialForRendering

    mesh

    The Mesh of this text sub object.

    Declaration
    public Mesh mesh { get; set; }
    Property Value
    Type Description
    Mesh

    padding

    Padding value resulting for the property settings on the material.

    Declaration
    public float padding { get; set; }
    Property Value
    Type Description
    float

    sharedMaterial

    The material to be assigned to this text object.

    Declaration
    public Material sharedMaterial { get; set; }
    Property Value
    Type Description
    Material

    spriteAsset

    The TMP Sprite Asset assigned to this sub text object.

    Declaration
    public TMP_SpriteAsset spriteAsset { get; set; }
    Property Value
    Type Description
    TMP_SpriteAsset

    textComponent

    Reference to the parent Text Component.

    Declaration
    public TMP_Text textComponent { get; }
    Property Value
    Type Description
    TMP_Text

    Methods

    AddSubTextObject(TextMeshProUGUI, MaterialReference)

    Function to add a new sub text object.

    Declaration
    public static TMP_SubMeshUI AddSubTextObject(TextMeshProUGUI textComponent, MaterialReference materialReference)
    Parameters
    Type Name Description
    TextMeshProUGUI textComponent

    Owning UI text; must not be null.

    MaterialReference materialReference

    Resolved material slot from the parent text's material index table, including font or sprite asset data.

    Returns
    Type Description
    TMP_SubMeshUI

    A new TMP_SubMeshUI ready to receive mesh data from the parent text rebuild pipeline.

    Cull(Rect, bool)

    Override Cull function as this is handled by the parent text object.

    Declaration
    public override void Cull(Rect clipRect, bool validRect)
    Parameters
    Type Name Description
    Rect clipRect

    Canvas-space clip rectangle from the UI clipping pass; ignored here but required for signature compatibility.

    bool validRect

    True when clipRect is considered valid; ignored because culling is deferred to the parent text object.

    Overrides
    MaskableGraphic.Cull(Rect, bool)

    GetModifiedMaterial(Material)

    Declaration
    public override Material GetModifiedMaterial(Material baseMaterial)
    Parameters
    Type Name Description
    Material baseMaterial
    Returns
    Type Description
    Material
    Overrides
    MaskableGraphic.GetModifiedMaterial(Material)

    GetPaddingForMaterial()

    Function called when the padding value for the material needs to be re-calculated.

    Declaration
    public float GetPaddingForMaterial()
    Returns
    Type Description
    float

    Uniform padding required to avoid clipping expanded effects for the active shared material.

    GetPaddingForMaterial(Material)

    Function called when the padding value for the material needs to be re-calculated.

    Declaration
    public float GetPaddingForMaterial(Material mat)
    Parameters
    Type Name Description
    Material mat

    The material to compute padding for.

    Returns
    Type Description
    float

    Uniform padding in mesh units for mat given parent text settings.

    OnDestroy()

    Declaration
    protected override void OnDestroy()
    Overrides
    Graphic.OnDestroy()

    OnDisable()

    Declaration
    protected override void OnDisable()
    Overrides
    MaskableGraphic.OnDisable()

    OnEnable()

    Declaration
    protected override void OnEnable()
    Overrides
    MaskableGraphic.OnEnable()

    OnTransformParentChanged()

    Declaration
    protected override void OnTransformParentChanged()
    Overrides
    MaskableGraphic.OnTransformParentChanged()

    Rebuild(CanvasUpdate)

    Applies pending material changes when the canvas reaches the PreRender phase.

    Declaration
    public override void Rebuild(CanvasUpdate update)
    Parameters
    Type Name Description
    CanvasUpdate update

    Current CanvasUpdate stage; material refresh runs exclusively for PreRender.

    Overrides
    Graphic.Rebuild(CanvasUpdate)

    RecalculateClipping()

    Method called when the state of a parent changes.

    Declaration
    public override void RecalculateClipping()
    Overrides
    MaskableGraphic.RecalculateClipping()

    RefreshMaterial()

    Function to update the material from the parent text object.

    Declaration
    public void RefreshMaterial()

    SetAllDirty()

    Declaration
    public override void SetAllDirty()
    Overrides
    Graphic.SetAllDirty()

    SetLayoutDirty()

    Suppresses the base rebuild; updates are driven by the parent text component. Use SetLayoutDirty() on the parent to mark it dirty.

    Declaration
    public override void SetLayoutDirty()
    Overrides
    Graphic.SetLayoutDirty()

    SetMaterialDirty()

    Declaration
    public override void SetMaterialDirty()
    Overrides
    Graphic.SetMaterialDirty()

    SetPivotDirty()

    Copies the parent TextMeshProUGUI pivot onto this sub-mesh so stacked meshes stay aligned.

    Declaration
    public void SetPivotDirty()

    SetVerticesDirty()

    Suppresses the base rebuild; updates are driven by the parent text component. Use SetVerticesDirty() on the parent to mark it dirty.

    Declaration
    public override void SetVerticesDirty()
    Overrides
    Graphic.SetVerticesDirty()

    UpdateGeometry()

    Declaration
    protected override void UpdateGeometry()
    Overrides
    Graphic.UpdateGeometry()

    UpdateMaterial()

    Synchronizes the sub-mesh's material properties (like Cull Mode) with the parent and applies the active rendering material to the CanvasRenderer.

    Declaration
    protected override void UpdateMaterial()
    Overrides
    Graphic.UpdateMaterial()

    UpdateMeshPadding(bool, bool)

    Updates the padding used for layout based on the given options.

    Declaration
    public void UpdateMeshPadding(bool isExtraPadding, bool isUsingBold)
    Parameters
    Type Name Description
    bool isExtraPadding

    True to include TMP's additional safety padding for SDF effects (matches TMP_Text.enableExtraPadding semantics).

    bool isUsingBold

    True when bold style increases stroke weight so padding accounts for thicker outlines on the material.

    Implements

    ICanvasElement
    IClippable
    IMaskable
    IMaterialModifier
    In This Article
    Back to top
    Copyright © 2026 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)