आपको अपना कोड अलग-अलग प्रोजेक्ट (एक ही समाधान में) में अलग करना होगा। आमतौर पर आपके पास निम्न सेटअप होगा:
-Engine Core (DLL)
-Game + Game Logic (EXE)
-Content Pipeline (DLL)
-Editor (EXE)
यहां तक कि बड़ी परियोजनाओं के लिए आप कोर, भौतिकी, ग्राफिक्स, ऑडियो, इनपुट और नेटवर्किंग जैसी कई परियोजनाओं पर इंजन कोर को अलग करना चाह सकते हैं। ये सभी परियोजनाएं एक दूसरे को संदर्भित नहीं कर सकती हैं, लेकिन वे सभी संदर्भ कोर हैं जहां आप कुछ सामान्य आधार प्रकारों को संग्रहीत कर सकते हैं।
यदि वे एक-दूसरे का संदर्भ लेंगे तो अलगाव बेकार हो जाएगा।
वैसे भी इससे आपको अन्य परियोजनाओं में अपने इंजन के कुछ हिस्सों का पुन: उपयोग करने में मदद मिलेगी। संपादक के लिए उदाहरण के लिए आपको ग्राफिक्स प्रोजेक्ट को संदर्भित करना होगा जो कोर को ही संदर्भित करता है।
इस पृथक्करण का मतलब यह भी है कि अब आप अपने संपादक में WPF की तरह केवल Windows तकनीकों का उपयोग कर सकते हैं, जबकि आपका गेम अभी भी Windows और XBLIG को लक्षित कर सकता है।
WPF वातावरण के अंदर XNA का उपयोग करने के बारे में अधिक जानकारी के लिए इस लिंक को देखें: http://blogs.msdn.com/b/nicgrave/archive/2010/07/25/rendering-with-xna-framework-4-0-inside- की एक WPF-application.aspx