Triangulation for complex polygons

I`m working on a project in which i have to draw polygons from coordinates i know and then do a unity visible mesh with those(2d polygons in 3D environnement).
I read about how to create a mesh and I managed to create a simple polygon and triangulate it with a script without any problem.
My problem is, I need to do the same things but with more difficult polygons which may contain holes. I searched on the internet algorithm i may use to automate it and mostly found out ear clipping algorithm/delaunay triangulation.
Anybody ever faced this problem and have some piece of code to be started with?
Thank you very much

Delauney triangulations are common are relatively easy to implement (the incremental algorithm, while not the most efficient, is the easiest to understand). However, triangulation becomes more tricky when you consider concave shapes, or shapes containing holes…

The only method I know of using triangulation to define a concave shape/containing a hole from a set of points is “alpha shapes”, as described at Alpha Shapes and Concave Hulls | Alastair Aitchison