For an Unmanned Aerial Vehicle to become autonomous, it must perform actions without human interference. Regardless of its application area, path planning is required to carry out a mission. Nowadays, several applications require the UAV to operate in an unknown, 3D, and unstructured environment. Another essential point is considering the movement restrictions in the execution of the movements, where achieving smooth curves reduces the number of stops on 90 degrees curves. One observable aspect among the existing and most used techniques is ”which would be the best technique to work in each of these environments”. This work aims to answer this question with a deeper analysis of all path planning categories: classic, metaheuristic, and machine learning. We develop our planner to analyze these techniques considering completeness, distance, time, CPU usage, memory usage, collision prevention, and robustness. This planner is modular, so it is possible to add new techniques and scenarios to be studied. We also performed tests in simulated and real environments.