Вам доведеться розділити свій код на окремі проекти (в одному і тому ж рішенні). Зазвичай у вас буде така настройка:
-Engine Core (DLL)
-Game + Game Logic (EXE)
-Content Pipeline (DLL)
-Editor (EXE)
Для ще більших проектів ви можете розділити Engine Core на кілька проектів, таких як Core, Physics, Graphics, Audio, Input і Networking. Усі ці проекти не можуть посилатися один на одного, але всі вони посилаються на Core, де ви можете зберігати деякі загальні базові типи.
Якщо вони посилаються один на одного, розділення було б марним.
У будь-якому випадку це повинно допомогти вам повторно використовувати частини вашого двигуна в інших проектах. Наприклад, для редактора вам потрібно буде посилатись на проект Graphics, на який посилається сам Core.
Цей поділ також означає, що тепер ви можете використовувати в редакторі лише технології Windows, наприклад WPF, тоді як ваша гра все ще може орієнтуватися на Windows та XBLIG.
Для отримання додаткової інформації про використання XNA у середовищі WPF див. Посилання: http://blogs.msdn.com/b/nicgrave/archive/2010/07/25/rendering-with-xna-framework-4-0-inside- of-a-wpf-application.aspx