It's loose all over, which is expected for an oversized shirt, so I'd say it's "true to size". I'm a size M leaning towards L according to the size chart, and the M I got suits me fine, perhaps a tiny bit too loose. I'd probably be OK with a size S as well, but it would be less of an oversized shirt.
I haven't washed it though, so can't comment on shrinking or durability.
Material feels smooth and soft.