Cotton is the classic choice, but the word “cotton” on the label says little on its own. What matters is the yarn, the density of the knit and the finishing. A thin, loose knit may be airy, but it stretches sooner and, in light colours, reveals more than you would like. Too heavy, and the T-shirt feels stiff, like armour under a blazer. The sweet spot is a fabric that keeps its line and still breathes.
It also helps to know what blends bring. A little polyester usually helps a T-shirt keep its shape and crease less, viscose and modal add softness and drape, and a small share of silk gives a smooth hand and a subtle sheen.
In practice, two kinds of T-shirt are useful. The first is one for wearing under a blazer, with tailored trousers or chinos, when you want to look calm and tidy. For that role, try the white Luca T-shirt in viscose and cotton, a soft knit with a sweater-like texture that still feels light. The second is a T-shirt for warm days, when comfort comes first. Here the cream T-shirt in cotton, modal and silk works well: light and soft, with a fluid drape, to wear on its own or under a light blazer.
Colour and fabric go together. A white T-shirt is unforgiving: it shows through, reveals unevenness and exposes a poor knit. Navy or dark green forgive more, but dust and lint show more easily. If you will wear a T-shirt often, rub the fabric with your hand and see whether it picks up fluff. It is a small thing that can spoil the whole impression.