We first describe the well established unstructured mesh generation methods as involved in the computational pipeline, from geometry definition to surface and volume mesh generation. These components are always a preliminary and required step to any numerical computations. From an historical point of view, the generation of fully unstructured mesh generation in 3D has been a real challenge so as to the design of robust and accurate second order schemes on such unstructured meshes. If the issue of generating volume meshes for geometries of any complexity is now mostly solved, the emergence of robust numerical schemes on unstructured meshes has paved the way to adaptivity. Indeed, unstructured meshes in contrast with structured or block structured grids have the necessary flexibility to control the discretization both in size and orientation.In the second part, we review the main components to perform adaptative computations: (i) anisotropic mesh prescription via a metric field tensor (ii) anisotropic error estimates, and (iii) anisotropic mesh generation. For each component, we focus on a particularly simple method to implement. In particular, we describe a simple but robust strategy for generating anisotropic meshes. Each adaptation entity, ie surface, volume or boundary layers, relies on a specific metric tensor field. The metric-based surface estimate is then used to control the deviation to the surface and to adapt the surface mesh. The volume estimate aims at controlling the interpolation error of a specific field of the flow.Several 3D examples issued from steady and unsteady simulations from systems of hyperbolic laws are presented. In particular, we show that despite the simplicity of the introduced adaptive meshing scheme a high level of anisotropy can be reached. This includes the direct prediction of the sonic boom of an aircraft by computing the flow from the cruise altitude to the ground, the interaction between shock waves and boundary layer, or the prediction of complex unsteady phenomena in 3D.