UML templates are possibly the most neglected and misused piece of knowledge in UML modelling. This subject has been disregarded in the research and practice literature and even by modelling tools providers. This paper suggests that such oblivion results from a general misunderstanding that UML templates are just graphical representations of genericity like it is found in programming languages, and from the insufficient support from the modelling tools, with a consequence of poor usage of UML templates in practice. Indeed, the capabilities and potential of UML templates are far-reaching. Increasing awareness around them could bring significant benefits for UML users, namely, higher-level abstraction and reuse. Therefore, this paper provides a distilling tutorial on UML templates to highlight their flexibility and advantages. That presentation follows a tutorial style and is supported by several illustrative examples, varying from simpler to more complex ones. This tutorial reviews the Template construct's core concepts and terminology, presents constraining classifiers and shows how to define properties and operations as template parameters. Then, it presents and discusses advanced aspects such as operation templates, parameter defaults, the relationship between binding and generalization, and the specific semantics of package templates. Furthermore, the paper discusses the related work and uncovers some of the UML templates' limitations and opportunities for improvement.INDEX TERMS Object-oriented modelling, genericity, UML, templates, UML templates.