There are several reasons for why Kingdom Hearts 3 is still in development this many years later, but one of them has to do with an engine change after a year of work.
This information comes from game director Tetsuya Nomura, who told Gamespot at D23 that it "hurts" to hear fans saying "Nomura’s taking too much time."
The decision to change the game from an internal engine to Unreal 4 meant that the studio had to start over on a lot of things. That said, Nomura added that the decision "had to be made", though he didn't say why.
Nomura made it sound like, as a result of this setback, members of the Kingdom Hearts 3 team had moved to other projects within the company, which also interfered with the schedule.
"I wanted to emphasise that it wasn’t a problem on our development teams," he said. "It just happened that way, and there were some decisions that the company had to make, and it just didn’t work out for certain timings that we were hoping to hit."
"It’s kind of out of my hands."
Nomura and co showed off the game's new Toy Story world at D23. Commenting on the number of available worlds at launch, the director said the number will be lower than previous games, but each world will be more dense.
Kingdom Hearts 3 is out sometime in 2018.