Ich benutze zum Beispiel Qt für den Editor. Der benutzt ganz normal die Spiel Engine, die natürlich um ein paar Funktionen erweitert werden musste (bestimmte Zugriffsfunktionen, die das eigentliche Spiel nicht benötigte).
Das ist eigentlich der beste Weg, so sind zum Beispiel Lade/Speicher Routinen für Spiel und Editor identisch (es kann also nicht ohne weiteres passieren, dass ein Level zwar im Editor geladen werden kann, im Spiel aber nicht); um nur ein Beispiel zu nennen.
Der Editor ansich ist dann recht simpel, man muss natürlich mit dem jeweiligen GUi Framework umgehen können (in meinem Fall also Qt), der Rest ergibt sich dann von selbst. Natürlich kann man auch den Editor direkt im Spiel haben, aber eine extra Anwendung mit gescheiter GUi finde ich da schon eleganter.
Praktisch umgesetzt ist das ganze dann indem ich 3 Projekte habe, für Engine, Spiel und Editor. Das Spielprojekt ist ziemlich schlank es enthält ansich nur Dinge wie das Hauptmenü und die Eingabeverarbeitung.