Quick answer: Unity TextMeshPro showing clipped text instead of an ellipsis at runtime? The overflow mode reverts to Overflow if auto-size is enabled - disable auto-size or use ForceMeshUpdate.
Inventory label overflows past its container. The TMP component is set to Ellipsis but the runtime text just clips at the rect edge.
Disable auto-size
On the TMP component, uncheck Auto Size. Auto-size and Ellipsis are mutually exclusive at runtime - auto-size silently wins because it has to compute font size first.
Force a mesh update
After setting text programmatically, call text.ForceMeshUpdate(). TMP defers layout to the next frame; a same-frame size check sees the previous mesh.
Constrain the rect
Set Wrapping to Enabled and ensure the parent rect has a hard width. Without a width constraint, TMP grows to fit and never triggers the overflow path.
“TMP layout is deferred. Read after you've forced the update, not before.”
For dynamic labels, prefer LayoutGroup-driven rects. Ellipsis works most reliably when the parent dictates the width.