Aside from fuel and power generation, you need to be able to build a vessel that can be maintained in active use without any external resources for a period of decades or centuries without any major loss of functionality.
And then you need to do the same to the crew and social structure onboard - in order to remain functional, a generation ship would likely need to be a totalitarian regime with exacting population controls and a flawless education system that will instruct multiple generations in every aspect of what will be needed in order to operate and maintain the vessel, followed by all the skills and expertise required to establish a colony on an unknown alien world. Successive generations won't have the luxury of being able to make any choices about their lives or career paths, because every single one of them will be needed to fulfill essential shipboard functions.