{"id":209,"date":"2021-01-21T01:26:19","date_gmt":"2021-01-20T14:26:19","guid":{"rendered":"https:\/\/studios.nomoss.co\/blog\/?p=209"},"modified":"2023-12-12T16:39:11","modified_gmt":"2023-12-12T05:39:11","slug":"environment-switching-in-production-unity","status":"publish","type":"post","link":"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/","title":{"rendered":"Environment Switching in Production Unity"},"content":{"rendered":"\n<p>Continuing our trend of sharing knowledge for <a href=\"https:\/\/noblesteedgames.com\/blog\/production-unity-webgl-the-basics\/\">Production Unity<\/a> systems, today we are going to talk about Environment Switching. For those of you who might be unfamiliar, the concept of environments is something incredibly useful when creating live-services games. We want to set up testing and development environments, so that different data and functions can run across different environments.<\/p>\n\n\n\n<p>Why do we want this? Well, there are a number of reasons! What if:<\/p>\n\n\n\n<ul>\n<li>We want a title to be able to send emails, but don&#8217;t want to spam people on the testing environments, so we want this disabled everywhere that isn&#8217;t production.<\/li>\n\n\n\n<li>We want to set up a number of &#8216;testing&#8217; user accounts, but only on non-production environments<\/li>\n\n\n\n<li>Our development server is a single server, to save on production cost, but on testing and production, we run across multiple servers, and so need to do some things slightly differently.<\/li>\n<\/ul>\n\n\n\n<p>All of these require an application to know what environment it is running on, and take slightly different actions. So &#8211; lets talk about how to make that happen!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Environment Switching in Code<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-2.png\" alt=\"Code which performs environment switching\" class=\"wp-image-211\" width=\"-1\" height=\"-1\" srcset=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-2.png 624w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-2-600x831.png 600w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-2-217x300.png 217w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/pastebin.pl\/view\/09b67be3\">Environment Switching code fully available here<\/a><\/figcaption><\/figure><\/div>\n\n\n<p>The first thing to do is take a look at what code we have in place to access the environment. In this image, you&#8217;ll see some of the environment switching code. The main thing that it does is check the platform, and depending on the platform, checks the environment in a few different ways.<\/p>\n\n\n\n<p>Based on the environment, we set the base-api for our API calls, as well as an ENVIRONMENT variable we can check later. That rdb_environment variable is used to do things like separate chat rooms and game lobbies, so that when you&#8217;re looking for a game lobby, you only find lobbies that are on your current environment.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cloud Build Setup<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"489\" src=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-3-1024x489.png\" alt=\"Environment Switching defines in Unity Cloud Build settings\" class=\"wp-image-212\" srcset=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-3-1024x489.png 1024w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-3-600x287.png 600w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-3-300x143.png 300w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-3-768x367.png 768w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-3.png 1143w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Defines for environment switching<\/figcaption><\/figure><\/div>\n\n\n<p>The next thing that needs to be done to set this up is set up your build pipeline. In the screenshot above, you can see our Production and Staging windows builds. You can see we have set custom defines for these, which is what tells the builds the environment that they are in.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">WebGL Setup<\/h2>\n\n\n\n<p>For WebGL, the setup is slightly more complicated. This is because we want to do something a bit more traditional for WebGL, which is have one build that goes across all environments. So &#8211; the server needs to tell the build which environment it is running in. Here&#8217;s how that works:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"556\" height=\"263\" src=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-4.png\" alt=\"The environment code in the web wrapper\" class=\"wp-image-213\" srcset=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-4.png 556w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-4-300x142.png 300w\" sizes=\"(max-width: 556px) 100vw, 556px\" \/><figcaption class=\"wp-element-caption\">The JS function to get the environment<\/figcaption><\/figure><\/div>\n\n\n<p>In our container for the WebGL build, we have this little line of code. This populates the environment with the environment variable from the process, similar to how you would do environment switching in traditional web development.<\/p>\n\n\n\n<p>Then, in Unity, we call this GetEnv() function, which grabs that string and passes it into the Unity WebGL container. This then interacts with the GetJavascriptEnvironment() function seen above, to convert that to a regular ENVIRONMENT enum variable, same as all the other platforms.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">In Summary<\/h2>\n\n\n\n<p>Developing production level applications in Unity can be a fair amount of work, but the benefits are definitely worth it. Hopefully this series is useful to people who are looking for ways to clean up their production pipeline in Unity.<\/p>\n\n\n\n<p>There are a number of moving parts, but hopefully over this series we are able to illuminate them all. If anybody has any questions, as usual, feel free to leave a comment and we will happily shed more light on anything that is unclear!<\/p>\n\n\n\n<p>We hope you enjoyed reading this! Have a question or want to chat more about game development?&nbsp;<a href=\"mailto:hello@noblesteed.games\" data-type=\"mailto\" data-id=\"mailto:hello@noblesteed.games\"><strong>Reach out to us!<\/strong><\/a><\/p>\n\n\n\n<p>Other places you can find us:<\/p>\n\n\n\n<ul>\n<li>Our other&nbsp;<a href=\"https:\/\/noblesteedgames.com\/blog\/category\/gamedev-resources\/\">game development resources<\/a><\/li>\n\n\n\n<li>Join our<a href=\"https:\/\/discord.com\/invite\/Ka8suskKcs\">&nbsp;Discord serve<\/a>r<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>We break down Environment Switching in Unity across multiple environments with some tips and code samples.<\/p>\n","protected":false},"author":1,"featured_media":213,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[48,40],"tags":[28,21,6],"ppma_author":[65],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Environment Switching in Production Unity | Dev Blog<\/title>\n<meta name=\"description\" content=\"We break down Environment Switching in Unity across multiple environments with some tips and code samples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Environment Switching in Production Unity | Dev Blog\" \/>\n<meta property=\"og:description\" content=\"We break down Environment Switching in Unity across multiple environments with some tips and code samples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/\" \/>\n<meta property=\"og:site_name\" content=\"Noble Steed Games\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/NobleSteedAU\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-20T14:26:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-12T05:39:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"556\" \/>\n\t<meta property=\"og:image:height\" content=\"263\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Reuben\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@NobleSteedAU\" \/>\n<meta name=\"twitter:site\" content=\"@NobleSteedAU\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Reuben\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/\"},\"author\":{\"name\":\"Reuben\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#\/schema\/person\/72236c3fe545f797cc0ce4635c1ca1a9\"},\"headline\":\"Environment Switching in Production Unity\",\"datePublished\":\"2021-01-20T14:26:19+00:00\",\"dateModified\":\"2023-12-12T05:39:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/\"},\"wordCount\":591,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-4.png\",\"keywords\":[\"game development\",\"production\",\"Unity\"],\"articleSection\":[\"E-Books &amp; Downloadable Resources\",\"Gamedev Resources\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/\",\"url\":\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/\",\"name\":\"Environment Switching in Production Unity | Dev Blog\",\"isPartOf\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-4.png\",\"datePublished\":\"2021-01-20T14:26:19+00:00\",\"dateModified\":\"2023-12-12T05:39:11+00:00\",\"description\":\"We break down Environment Switching in Unity across multiple environments with some tips and code samples.\",\"breadcrumb\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#primaryimage\",\"url\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-4.png\",\"contentUrl\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-4.png\",\"width\":556,\"height\":263,\"caption\":\"The environment code in the web wrapper\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/noblesteedgames.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Environment Switching in Production Unity\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#website\",\"url\":\"https:\/\/noblesteedgames.com\/blog\/\",\"name\":\"Noble Steed Games\",\"description\":\"Stories from Development\",\"publisher\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/noblesteedgames.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#organization\",\"name\":\"Noble Steed Games\",\"url\":\"https:\/\/noblesteedgames.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/PFP.jpg\",\"contentUrl\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/PFP.jpg\",\"width\":1374,\"height\":1374,\"caption\":\"Noble Steed Games\"},\"image\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/NobleSteedAU\",\"https:\/\/x.com\/NobleSteedAU\",\"https:\/\/www.instagram.com\/noblesteedau\/\",\"https:\/\/www.linkedin.com\/company\/18263569\/\",\"https:\/\/www.youtube.com\/channel\/UC-CE2Op8dEH0LET0t9Zw79g\",\"https:\/\/twitter.com\/NobleSteedAU\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#\/schema\/person\/72236c3fe545f797cc0ce4635c1ca1a9\",\"name\":\"Reuben\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#\/schema\/person\/image\/b281395bed28c3024dda9576a32f5794\",\"url\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/IMG_20231006_131634.jpg\",\"contentUrl\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/IMG_20231006_131634.jpg\",\"caption\":\"Reuben\"},\"sameAs\":[\"https:\/\/noblesteedgames.com\/blog\/\"],\"url\":\"https:\/\/noblesteedgames.com\/blog\/author\/studios-admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Environment Switching in Production Unity | Dev Blog","description":"We break down Environment Switching in Unity across multiple environments with some tips and code samples.","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:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/","og_locale":"en_US","og_type":"article","og_title":"Environment Switching in Production Unity | Dev Blog","og_description":"We break down Environment Switching in Unity across multiple environments with some tips and code samples.","og_url":"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/","og_site_name":"Noble Steed Games","article_publisher":"https:\/\/www.facebook.com\/NobleSteedAU","article_published_time":"2021-01-20T14:26:19+00:00","article_modified_time":"2023-12-12T05:39:11+00:00","og_image":[{"width":556,"height":263,"url":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-4.png","type":"image\/png"}],"author":"Reuben","twitter_card":"summary_large_image","twitter_creator":"@NobleSteedAU","twitter_site":"@NobleSteedAU","twitter_misc":{"Written by":"Reuben","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#article","isPartOf":{"@id":"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/"},"author":{"name":"Reuben","@id":"https:\/\/noblesteedgames.com\/blog\/#\/schema\/person\/72236c3fe545f797cc0ce4635c1ca1a9"},"headline":"Environment Switching in Production Unity","datePublished":"2021-01-20T14:26:19+00:00","dateModified":"2023-12-12T05:39:11+00:00","mainEntityOfPage":{"@id":"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/"},"wordCount":591,"commentCount":0,"publisher":{"@id":"https:\/\/noblesteedgames.com\/blog\/#organization"},"image":{"@id":"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#primaryimage"},"thumbnailUrl":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-4.png","keywords":["game development","production","Unity"],"articleSection":["E-Books &amp; Downloadable Resources","Gamedev Resources"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/","url":"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/","name":"Environment Switching in Production Unity | Dev Blog","isPartOf":{"@id":"https:\/\/noblesteedgames.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#primaryimage"},"image":{"@id":"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#primaryimage"},"thumbnailUrl":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-4.png","datePublished":"2021-01-20T14:26:19+00:00","dateModified":"2023-12-12T05:39:11+00:00","description":"We break down Environment Switching in Unity across multiple environments with some tips and code samples.","breadcrumb":{"@id":"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#primaryimage","url":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-4.png","contentUrl":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2021\/01\/image-4.png","width":556,"height":263,"caption":"The environment code in the web wrapper"},{"@type":"BreadcrumbList","@id":"https:\/\/noblesteedgames.com\/blog\/environment-switching-in-production-unity\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/noblesteedgames.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Environment Switching in Production Unity"}]},{"@type":"WebSite","@id":"https:\/\/noblesteedgames.com\/blog\/#website","url":"https:\/\/noblesteedgames.com\/blog\/","name":"Noble Steed Games","description":"Stories from Development","publisher":{"@id":"https:\/\/noblesteedgames.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/noblesteedgames.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/noblesteedgames.com\/blog\/#organization","name":"Noble Steed Games","url":"https:\/\/noblesteedgames.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/noblesteedgames.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/PFP.jpg","contentUrl":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/PFP.jpg","width":1374,"height":1374,"caption":"Noble Steed Games"},"image":{"@id":"https:\/\/noblesteedgames.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/NobleSteedAU","https:\/\/x.com\/NobleSteedAU","https:\/\/www.instagram.com\/noblesteedau\/","https:\/\/www.linkedin.com\/company\/18263569\/","https:\/\/www.youtube.com\/channel\/UC-CE2Op8dEH0LET0t9Zw79g","https:\/\/twitter.com\/NobleSteedAU"]},{"@type":"Person","@id":"https:\/\/noblesteedgames.com\/blog\/#\/schema\/person\/72236c3fe545f797cc0ce4635c1ca1a9","name":"Reuben","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/noblesteedgames.com\/blog\/#\/schema\/person\/image\/b281395bed28c3024dda9576a32f5794","url":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/IMG_20231006_131634.jpg","contentUrl":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/IMG_20231006_131634.jpg","caption":"Reuben"},"sameAs":["https:\/\/noblesteedgames.com\/blog\/"],"url":"https:\/\/noblesteedgames.com\/blog\/author\/studios-admin\/"}]}},"authors":[{"term_id":65,"user_id":1,"is_guest":0,"slug":"studios-admin","display_name":"Reuben","avatar_url":{"url":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/IMG_20231006_131634.jpg","url2x":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/IMG_20231006_131634.jpg"},"user_url":"https:\/\/noblesteedgames.com\/blog\/","last_name":"Moorhouse","first_name":"Reuben","job_title":"","description":""}],"_links":{"self":[{"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/posts\/209"}],"collection":[{"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/comments?post=209"}],"version-history":[{"count":9,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/posts\/209\/revisions"}],"predecessor-version":[{"id":1215,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/posts\/209\/revisions\/1215"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/media\/213"}],"wp:attachment":[{"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/media?parent=209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/categories?post=209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/tags?post=209"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}