Using preset cross sections for meshes

Hi! I want to create a whole library of objects, each of which has a editable length but a preset cross section (like stock materials). I could import each unique cross section as an .fbx-file and constrain scaling so only the length can be scaled, but that seems an awful way to go about it.

For example, if I want to create two tubes with the same outer diameter, but with different wall thicknesses, do I have to create two separate .fbx-files? Or is there a way to set the wall thickness as a property or parameter of the tube object and edit it in-game?

I think that it can be done at least with three methods: