{"id":973,"date":"2025-08-17T11:43:49","date_gmt":"2025-08-17T11:43:49","guid":{"rendered":"https:\/\/pixelfat.com\/home\/?p=973"},"modified":"2025-08-18T09:54:03","modified_gmt":"2025-08-18T09:54:03","slug":"unity-project-structure-series-intro","status":"publish","type":"post","link":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/","title":{"rendered":"Part 1: Clarity Before Chaos &#8211; Think Before You Begin."},"content":{"rendered":"\n<p class=\" eplus-wrapper\">If you\u2019ve landed here, you\u2019ve probably already nodded at least once while reading the series intro. Let&#8217;s dive into what exactly causes Unity projects to spiral into chaos, and what questions we should be asking before we create, name or move a single folder.<br><br>It&#8217;s simply the nature of most Unity projects: you&#8217;re continually adding features, importing plugins, experimenting with snippets, and building your own reusable components. Before long, the structure makes zero sense to anyone but the original team and even they end up relying on muscle memory to find things, rather than design.<\/p>\n\n\n\n<p class=\" eplus-wrapper\">Unity really doesn\u2019t enforce any particular structure or provide any single best-practice to follow, and when you&#8217;re focused on shipping, it\u2019s easy to push \u201ctidy folder structure\u201d down the priority list. Until suddenly you&#8217;re too afraid to move anything for fear of the kraken.<\/p>\n\n\n\n<p class=\" eplus-wrapper\">So, am I saying there\u2019s a solution to this problem?<br><strong>Yes, absolutely.<\/strong><br><br>Is there a single solution that fits all?<br><strong>No \u2014 but I\u2019ll give you the tools to adapt the right one for every project.<\/strong><\/p>\n\n\n\n<h4 class=\" wp-block-heading eplus-wrapper\">Here&#8217;s the first lesson &#8211; Always ask yourself what&#8217;s important in the long-run<\/h4>\n\n\n\n<p class=\" eplus-wrapper\">For <em>any<\/em> project to be maintainable in the long term we need to always ask ourselves:<\/p>\n\n\n<ul class=\" wp-block-list eplus-wrapper eplus-styles-uid-228747\">\n<li class=\" eplus-wrapper\">Can code be reused across projects?<\/li>\n\n\n\n<li class=\" eplus-wrapper\">Is this my code or something I imported?<\/li>\n\n\n\n<li class=\" eplus-wrapper\">Can new devs find what they need quickly<\/li>\n\n\n\n<li class=\" eplus-wrapper\">Is logic separated cleanly into concerns?<\/li>\n\n\n\n<li class=\" eplus-wrapper\">Can the structure scale from demo to full production?<\/li>\n\n\n\n<li class=\" eplus-wrapper\">Can features be added or removed safely?<\/li>\n<\/ul>\n\n\n<p class=\" eplus-wrapper\">But it\u2019s never quite that easy, is it? We always start with the best intentions <em>\u201cThis time it\u2019ll be different,\u201d<\/em> you say&#8230; <em>\u201cI\u2019m an experienced senior developer, and I know exactly how this should be done!\u201d<\/em><br>But then a deadline looms, a quick fix is needed, and suddenly you\u2019re unzipping some GitHub utility and dumping it straight into <em>Assets\/MyProject\/Level3\/UsefulThingFromGit<\/em>. Because it worked, you needed to catch that train and any freelancer is paid to understand <em>your<\/em> structure, right?<\/p>\n\n\n\n<p class=\" eplus-wrapper\">Well, these shortcuts, mixed strategies and uninformative structures soon add up and before long, no one wants to move a single folder in fear of waking the kraken. And your boss is now paying for an extra day or two of freelancer time just so they can familiarise themselves with the project.<\/p>\n\n\n\n<p class=\" eplus-wrapper\">So, where do we start? Arrays begin at zero, directories start at the root \u2014 and that\u2019s exactly where we\u2019re headed: to the top!<\/p>\n\n\n\n<p class=\" eplus-wrapper\">Next up, we&#8217;re going to learn how to best define our high-level project structure by understanding and implementing a domain-based folder structure. DDD (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Domain-driven_design\">Domain-Driven Design<\/a>) is something every developer should be familiar with, so let\u2019s use it to bring order to our assets.<\/p>\n\n\n\n<p class=\" eplus-wrapper\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you\u2019ve landed here, you\u2019ve probably already nodded at least once while reading the series intro. Let&#8217;s dive into what exactly causes Unity projects to spiral into chaos, and what questions we should be asking before we create, name or move a single folder. It&#8217;s simply the nature of most Unity projects: you&#8217;re continually adding [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1106,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"editor_plus_copied_stylings":"{}","footnotes":""},"categories":[21],"tags":[],"series":[23],"class_list":["post-973","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-unity-project-structure","series-unity-project-structure"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Part 1: Clarity Before Chaos - Think Before You Begin. - pixelfat.com<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Part 1: Clarity Before Chaos - Think Before You Begin. - pixelfat.com\" \/>\n<meta property=\"og:description\" content=\"If you\u2019ve landed here, you\u2019ve probably already nodded at least once while reading the series intro. Let&#8217;s dive into what exactly causes Unity projects to spiral into chaos, and what questions we should be asking before we create, name or move a single folder. It&#8217;s simply the nature of most Unity projects: you&#8217;re continually adding [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/\" \/>\n<meta property=\"og:site_name\" content=\"pixelfat.com\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-17T11:43:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-18T09:54:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pixelfat.com\/home\/wp-content\/uploads\/2025\/08\/Roll_Safe_meme.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"421\" \/>\n\t<meta property=\"og:image:height\" content=\"236\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/unity-project-structure-series-intro\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/unity-project-structure-series-intro\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/#\\\/schema\\\/person\\\/36d03bd67f0b17363eac8e18408baae3\"},\"headline\":\"Part 1: Clarity Before Chaos &#8211; Think Before You Begin.\",\"datePublished\":\"2025-08-17T11:43:49+00:00\",\"dateModified\":\"2025-08-18T09:54:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/unity-project-structure-series-intro\\\/\"},\"wordCount\":476,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/unity-project-structure-series-intro\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Roll_Safe_meme.jpg\",\"articleSection\":[\"Organising Unity Projects for Sanity and Scale\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/pixelfat.com\\\/home\\\/unity-project-structure-series-intro\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/unity-project-structure-series-intro\\\/\",\"url\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/unity-project-structure-series-intro\\\/\",\"name\":\"Part 1: Clarity Before Chaos - Think Before You Begin. - pixelfat.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/unity-project-structure-series-intro\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/unity-project-structure-series-intro\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Roll_Safe_meme.jpg\",\"datePublished\":\"2025-08-17T11:43:49+00:00\",\"dateModified\":\"2025-08-18T09:54:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/unity-project-structure-series-intro\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/pixelfat.com\\\/home\\\/unity-project-structure-series-intro\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/unity-project-structure-series-intro\\\/#primaryimage\",\"url\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Roll_Safe_meme.jpg\",\"contentUrl\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Roll_Safe_meme.jpg\",\"width\":421,\"height\":236},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/unity-project-structure-series-intro\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Part 1: Clarity Before Chaos &#8211; Think Before You Begin.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/#website\",\"url\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/\",\"name\":\"pixelfat.com\",\"description\":\"Real-time &amp; Interactive Dev by Dan Turner\",\"publisher\":{\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/#organization\",\"name\":\"pixelfat.com\",\"url\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Header-White-on-trans.png\",\"contentUrl\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Header-White-on-trans.png\",\"width\":2101,\"height\":511,\"caption\":\"pixelfat.com\"},\"image\":{\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/#\\\/schema\\\/person\\\/36d03bd67f0b17363eac8e18408baae3\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7f85c496320acd1d4b4be51019ef800d40574f3da5829fd58da102b8b9ffc834?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7f85c496320acd1d4b4be51019ef800d40574f3da5829fd58da102b8b9ffc834?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7f85c496320acd1d4b4be51019ef800d40574f3da5829fd58da102b8b9ffc834?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\\\/\\\/pixelfat.com\\\/home\"],\"url\":\"https:\\\/\\\/pixelfat.com\\\/home\\\/author\\\/webadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Part 1: Clarity Before Chaos - Think Before You Begin. - pixelfat.com","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/","og_locale":"en_US","og_type":"article","og_title":"Part 1: Clarity Before Chaos - Think Before You Begin. - pixelfat.com","og_description":"If you\u2019ve landed here, you\u2019ve probably already nodded at least once while reading the series intro. Let&#8217;s dive into what exactly causes Unity projects to spiral into chaos, and what questions we should be asking before we create, name or move a single folder. It&#8217;s simply the nature of most Unity projects: you&#8217;re continually adding [&hellip;]","og_url":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/","og_site_name":"pixelfat.com","article_published_time":"2025-08-17T11:43:49+00:00","article_modified_time":"2025-08-18T09:54:03+00:00","og_image":[{"width":421,"height":236,"url":"https:\/\/pixelfat.com\/home\/wp-content\/uploads\/2025\/08\/Roll_Safe_meme.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/#article","isPartOf":{"@id":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/"},"author":{"name":"admin","@id":"https:\/\/pixelfat.com\/home\/#\/schema\/person\/36d03bd67f0b17363eac8e18408baae3"},"headline":"Part 1: Clarity Before Chaos &#8211; Think Before You Begin.","datePublished":"2025-08-17T11:43:49+00:00","dateModified":"2025-08-18T09:54:03+00:00","mainEntityOfPage":{"@id":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/"},"wordCount":476,"commentCount":0,"publisher":{"@id":"https:\/\/pixelfat.com\/home\/#organization"},"image":{"@id":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/#primaryimage"},"thumbnailUrl":"https:\/\/pixelfat.com\/home\/wp-content\/uploads\/2025\/08\/Roll_Safe_meme.jpg","articleSection":["Organising Unity Projects for Sanity and Scale"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/","url":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/","name":"Part 1: Clarity Before Chaos - Think Before You Begin. - pixelfat.com","isPartOf":{"@id":"https:\/\/pixelfat.com\/home\/#website"},"primaryImageOfPage":{"@id":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/#primaryimage"},"image":{"@id":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/#primaryimage"},"thumbnailUrl":"https:\/\/pixelfat.com\/home\/wp-content\/uploads\/2025\/08\/Roll_Safe_meme.jpg","datePublished":"2025-08-17T11:43:49+00:00","dateModified":"2025-08-18T09:54:03+00:00","breadcrumb":{"@id":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/#primaryimage","url":"https:\/\/pixelfat.com\/home\/wp-content\/uploads\/2025\/08\/Roll_Safe_meme.jpg","contentUrl":"https:\/\/pixelfat.com\/home\/wp-content\/uploads\/2025\/08\/Roll_Safe_meme.jpg","width":421,"height":236},{"@type":"BreadcrumbList","@id":"https:\/\/pixelfat.com\/home\/unity-project-structure-series-intro\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/pixelfat.com\/home\/"},{"@type":"ListItem","position":2,"name":"Part 1: Clarity Before Chaos &#8211; Think Before You Begin."}]},{"@type":"WebSite","@id":"https:\/\/pixelfat.com\/home\/#website","url":"https:\/\/pixelfat.com\/home\/","name":"pixelfat.com","description":"Real-time &amp; Interactive Dev by Dan Turner","publisher":{"@id":"https:\/\/pixelfat.com\/home\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pixelfat.com\/home\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/pixelfat.com\/home\/#organization","name":"pixelfat.com","url":"https:\/\/pixelfat.com\/home\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/pixelfat.com\/home\/#\/schema\/logo\/image\/","url":"https:\/\/pixelfat.com\/home\/wp-content\/uploads\/2025\/08\/Header-White-on-trans.png","contentUrl":"https:\/\/pixelfat.com\/home\/wp-content\/uploads\/2025\/08\/Header-White-on-trans.png","width":2101,"height":511,"caption":"pixelfat.com"},"image":{"@id":"https:\/\/pixelfat.com\/home\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/pixelfat.com\/home\/#\/schema\/person\/36d03bd67f0b17363eac8e18408baae3","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7f85c496320acd1d4b4be51019ef800d40574f3da5829fd58da102b8b9ffc834?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7f85c496320acd1d4b4be51019ef800d40574f3da5829fd58da102b8b9ffc834?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7f85c496320acd1d4b4be51019ef800d40574f3da5829fd58da102b8b9ffc834?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/pixelfat.com\/home"],"url":"https:\/\/pixelfat.com\/home\/author\/webadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/pixelfat.com\/home\/wp-json\/wp\/v2\/posts\/973","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pixelfat.com\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pixelfat.com\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pixelfat.com\/home\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pixelfat.com\/home\/wp-json\/wp\/v2\/comments?post=973"}],"version-history":[{"count":20,"href":"https:\/\/pixelfat.com\/home\/wp-json\/wp\/v2\/posts\/973\/revisions"}],"predecessor-version":[{"id":1326,"href":"https:\/\/pixelfat.com\/home\/wp-json\/wp\/v2\/posts\/973\/revisions\/1326"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pixelfat.com\/home\/wp-json\/wp\/v2\/media\/1106"}],"wp:attachment":[{"href":"https:\/\/pixelfat.com\/home\/wp-json\/wp\/v2\/media?parent=973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pixelfat.com\/home\/wp-json\/wp\/v2\/categories?post=973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pixelfat.com\/home\/wp-json\/wp\/v2\/tags?post=973"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/pixelfat.com\/home\/wp-json\/wp\/v2\/series?post=973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}