Self discipline, what else could it be, stop making new projects, when you have a new idea write it on paper or document but dont start any new project. Writing down ideas helped me a bit to stop jump from project to project not making literally any progress.
Stick only to 1 project, give yourself a timeframe to finish it, like 30 days for a simple shooter game, write down your roadmap, what you develop first week? movement and animation, second week inventory and enemy player, third week maps and gameplay decision, last week polish. And stick to it, dont be perfectionist, it doesnt matter if its sucks, see what you can achieve in that timeframe alone and ship the game, share it with people on internet/forum get some feedback, then move to a new project, or make a version 2 of your game from scratch avoiding all the pitfalls from the previous project.
Ive been jumping from project to project since 4 years ago in unity, blender modeling, programming, ue4, never finished anything and gave up, without discipline i cant get anywhere.Its good that you realised you have problem, fix it, document yourself on google/youtube there are lots of people doing the same mistakes.
Watch this video, its not UE4 related but touches a similar subject The Habits of Effective Artists - YouTube
Hope it helps, cheers.