I've created a bezier curve and made it a mesh but there's gotta be some problem because when i try to render it (both with cycles or moving it to Unreal Engine) there are a lot of "problematic" faces, and I don't know how to deal with this. As you can see by watching the wide faces (opposed to the very narrow one) there is a distortion causing the texture to be badly displayed both in Cycles render (it's all stretched) and in UE where it's all badly distorted and broken. It's an unwrap problem or the faces are somewhat badly generated from the bezier tool?
From the looks of it, your texture is mirrored along the tube. Also, you have fairly even spacing all around the tube, and it somehow gets stretched around where you get the texture anomalies. My guess is, that your mapping is very easy to fix by using Active Quads to unwrap your tube.
Mark one seam down your tube, from one opening to the other
To make sure the Unwrap works properly, I recommend first resetting the unwrap first with Mesh > UV Unwrap > Reset
Then, first deselect one of the faces on the island you want to unwrap and immediately re-select it. You will notice, its color is different from the rest of the selection. This is because this face is now the Active Face.
Now unwrap the strip with Mesh > UV Unwrap > Follow Active Quads
Usually, Length Average gives the best results on strips, but you can toggle through the option to see if you can get a better fit.
You should now have a perfectly rectangular strip of quads in your UV Map. It may require a little scaling along the X- or Y-Axes, but it will make texturing very easy.