{"id":13966,"date":"2026-06-13T19:30:16","date_gmt":"2026-06-13T19:30:16","guid":{"rendered":"https:\/\/8657085.xyz\/?p=13966"},"modified":"2026-06-13T19:30:16","modified_gmt":"2026-06-13T19:30:16","slug":"claude-code-built-a-working-endless-runner-inside-unreal-engine-5-and-here-is-how-it-all-came-together","status":"publish","type":"post","link":"https:\/\/8657085.xyz\/?p=13966","title":{"rendered":"Claude Code Built a Working Endless Runner Inside Unreal Engine 5, and Here Is How It All Came Together"},"content":{"rendered":"<p> <div style=\"display: grid; grid-template-columns: 300px 160px; gap: 2px; width: 460px; background: #eee; padding: 2px;\">\r\n\r\n  <!-- \u6574\u884c\u5bbd\u5e7f\u544a -->\r\n  <div style=\"grid-column: 1\/-1; width: 460px; height: 250px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876674\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n  <div style=\"grid-column: 1\/-1; width: 460px; height: 90px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876676\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n\r\n  <!-- \u5de6\u4fa7\u7ad6\u6392 -->\r\n  <div style=\"height: 250px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876672\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n  <div style=\"height: 500px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876680\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n\r\n  <!-- \u53f3\u4fa7\u6469\u5929\u697c\uff08\u548c\u5de6\u4fa7\u5b8c\u5168\u5bf9\u9f50\uff09 -->\r\n  <div style=\"grid-row: 3\/5; height: 750px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876678\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n  \r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e6\" data-zoneid=\"5876682\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n<\/div><br \/>\n<\/p>\n<div>\n<p><img decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/06\/13102856\/claude-code-endless-runner-game-unreal-engine-5.jpg\" alt=\"Claude Code Endless Runner Game Unreal Engine 5\" width=\"960\" height=\"961\"\/><br \/>Stefan spent more than a month testing different ways to connect Claude Code to Unreal Engine 5. Most attempts produced fragile setups that broke quickly or required constant manual fixes. The video he released on June 10 walks through the exact combination of tools and habits that finally produced something playable. Two free plugins made the difference. UnrealClaude gives the AI direct access to the viewport so it can capture screenshots and move objects around. VibeUE handles blueprint edits and Python commands inside the editor. Both connect through the Model Context Protocol, which lets Claude issue structured commands without constant copy-paste work.<\/p>\n<p><span id=\"more-246569\"\/><br \/><iframe title=\"Claude Code Took Over Unreal Engine 5 and Built a Game\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/iRcrZjOt5H8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><noscript><iframe title=\"Claude Code Took Over Unreal Engine 5 and Built a Game\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/iRcrZjOt5H8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/noscript><br \/>The installation process begins with Unreal Engine 5.7 and the Claude Code desktop software, which are launched from the project folder. Stefan then advises Claude to get the plugins from GitHub and the website files, install the necessary libraries, and connect everything with some basic checks. A free VibeUE API key unlocks the blueprint tools, and a CLAUDE.md file in the root of your project preserves the setup information, letting you to pick up where you left off when you return. Git tracks every change here, which is really handy when the AI begins meddling with your concepts.<\/p>\n<div class=\"aawp\">\n<div class=\"aawp-product aawp-product--horizontal\" data-aawp-product-asin=\"B0DTBN55K9\" data-aawp-product-id=\"240043\" data-aawp-tracking-id=\"tec02e-20\" data-aawp-product-title=\"Lenovo Legion Go S - 2025 - Mobile Gaming Console - AMD Radeon graphics - 8  PureSight IPS Display - 120Hz - AMD Ryzen\u2122 Z2 Go - 16GB Memory - 512GB Storage - Glacier White - Free PC Game Pass\">\n<div class=\"aawp-product__thumb\">\n<p>            <img decoding=\"async\" class=\"aawp-product__image\" src=\"https:\/\/m.media-amazon.com\/images\/I\/41rB991m26L._SL160_.jpg\" alt=\"Lenovo Legion Go S - 2025 - Mobile Gaming Console - AMD Radeon graphics - 8' PureSight IPS Display...\"\/><\/p><\/div>\n<div class=\"aawp-product__content\">\n<p>            Lenovo Legion Go S &#8211; 2025 &#8211; Mobile Gaming Console &#8211; AMD Radeon graphics &#8211; 8&#8243; PureSight IPS Display&#8230;        <\/p>\n<div class=\"aawp-product__description\">\n<ul>\n<li>ALL GAMES, ALL PLACES, ALL YOURS \u2013 Get ready to game on the 8&#8243; 120Hz Lenovo PureSight display and launch any title using Legion Space. The AMD Ryzen&#8230;<\/li>\n<li>SEE EVERY DETAIL \u2013 Make every scene pop with 500 nits of stunning brightness and 100% sRGB color accuracy. And with 10-point touch support, your&#8230;<\/li>\n<li>PLAY YOUR WAY \u2013 Play hundreds of high-quality PC games with your complimentary 3 months of PC Game Pass and EA Play. With new games added all the&#8230;<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<p>\nThe test project starts out as a third-person template. Stefan installs a custom fox model from another AI tool and just adds some reference assets to the content folder. From then, he keeps the prompts concise and accurate. No generic \u201ccreate a game\u201d \u2013 he wants specific actions such as \u201cI need a route of tiles that just keeps moving ahead of the player and disappearing behind, auto-forward movement, switching lanes left and right with the A and D keys, obstacles that block the lanes, and coins that only appear in safe areas.\u201d<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/06\/13104701\/claude-code-endless-runner-game-unreal-engine-5-1.jpg\" alt=\"Claude Code Endless Runner Game Unreal Engine 5\" width=\"1280\" height=\"720\"\/><br \/>Claude starts working on a blueprint called BP_Runner_Tile to fix the repeated path problem, adding variables for tile length and path length and fine-tuning the logic so that new bits arrive at the right time while old ones are cleared up. Lane switching becomes more difficult as you need to check for collisions while keeping the camera moving smoothly, which various Python commands help with. The AI generates simple UI elements for the score, collected coins, and a game over screen with a retry button to begin.<\/p>\n<p>Next, Stefan sends along some meshes for a stone bridge, spiky roller obstacles, and collected coins. The prompts direct Claude to replace the placeholder shapes with the real thing, to use proper PBR materials rather than the default shader, and to make sure that everything is in the proper spot so that nothing sticks out or clips through the railings or bridge. When things go wrong, Stefan just takes a screenshot and sends it to Claude, who uses line traces to detect geometry issues and nudges the items into a better position. We have one pass to sort through the coins that appear on top of obstacles, and another to clear up the bridge\u2019s holes.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/06\/13104706\/claude-code-endless-runner-game-unreal-engine-5-2.jpg\" alt=\"Claude Code Endless Runner Game Unreal Engine 5\" width=\"1280\" height=\"720\"\/><br \/>Iteration followed a constant pattern, but whenever there were significant changes to the project, Stefan would direct Claude to open the play-in-editor, take a new screenshot to check for any faults that had snuck in, and then assess what needed to be rectified. The AI would identify issues, such as the game terminating prematurely when the fox changed lanes or speed boosts that felt strange. So the AI would go in, modify the required blueprint nodes or variables, test again, and repeat the process. Blueprint-wise, things got a little complicated with the twisted node graphs, as you\u2019d expect from AI tools, but the logic worked. Fortunately, human eyes intervened and prevented the situation from devolving into an unrecognizable tangle, called spaghetti code.<\/p>\n<p>The finished prototype is a clean, endless runner. The fox figure merely plods on autopilot across this lovely stone bridge in a mountain landscape, while players try to avoid hazards and gather coins to boost their score and speed significantly. A simple user interface logs your progress and allows you to restart if you encounter any problems. Maintaining a focused and simplified project scope was critical to keeping things manageable and development time low. This, in turn, helped to keep token consumption from becoming out of control. To give you a flavor of how reasonable things were, even a very complex feature like randomly dropping safe coins somewhere in the game took about 15 minutes and 14,000 tokens on the Opus model.<\/p>\n<\/p><\/div>\n<p><!-- \u603b\u5bb9\u5668\uff1a\u6700\u5927\u5bbd908px Grid\u7d27\u51d1\u5e03\u5c40 -->\r\n<div style=\"display: grid; grid-template-columns: 728px 160px; gap:2px; width:908px; background:#eee; padding:2px;\">\r\n\r\n  <!-- \u901a\u680f\u9876\u90e8\uff1a\u6700\u5927\u6a2a\u5e45 908x258 \u8de8\u6574\u884c -->\r\n  <div style=\"grid-column:1\/-1; height:258px; background:#ff6b6b; display:grid; place-items:center;\">\r\n    <!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114307\" data-width=\"908\" data-height=\"258\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114307});<\/script>\r\n<!--JuicyAds END-->\r\n  <\/div>\r\n\r\n  <!-- \u7b2c\u4e8c\u901a\u680f\uff1a728\u00d790 \u901a\u680f -->\r\n  <div style=\"grid-column:1\/-1; height:90px; background:#4ecdc4; display:grid; place-items:center;\">\r\n    <!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114300\" data-width=\"728\" data-height=\"90\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114300});<\/script>\r\n<!--JuicyAds END-->\r\n  <\/div>\r\n\r\n  <!-- \u5de6\u4fa7\u4e3b\u680f\uff1a\u591a\u5e7f\u544a\u5806\u53e0 -->\r\n  <div style=\"display:grid; gap:2px;\">\r\n    <div style=\"height:60px; background:#45b7d1; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114308\" data-width=\"468\" data-height=\"60\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114308});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:250px; background:#ffe066; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114299\" data-width=\"300\" data-height=\"250\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114299});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:250px; background:#ff9ecd; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114305\" data-width=\"250\" data-height=\"250\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114305});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:139px; background:#c792ea; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114302\" data-width=\"133\" data-height=\"139\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114302});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:125px; background:#91e7ac; display:grid; place-items:center;\">\r\n\t\r\n<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114303\" data-width=\"125\" data-height=\"125\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114303});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n  <\/div>\r\n\r\n  <!-- \u53f3\u4fa7\u7ad6\u680f\uff1a160\u00d7600 \u6574\u5217\u9ad8\u5e7f\u544a -->\r\n  <div style=\"grid-row:3\/8; height:600px;  display:grid; place-items:center;\">\r\n    <!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114301\" data-width=\"160\" data-height=\"600\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114301});<\/script>\r\n<!--JuicyAds END-->\r\n  <\/div>\r\n\r\n<\/div><br \/>\n<br \/> Claude Code Built a Working Endless Runner Inside Unreal Engine 5, and Here Is How It All Came Together<br \/>\n<br \/>#Claude #Code #Built #Working #Endless #Runner #Unreal #Engine<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Stefan spent more than a month testing different ways to connect Claude Code to Unreal&#8230;<\/p>\n","protected":false},"author":1,"featured_media":13967,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[1293,6427,363,2663,3517,11079,5754,577],"class_list":["post-13966","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-built","tag-claude","tag-code","tag-endless","tag-engine","tag-runner","tag-unreal","tag-working"],"featured_image_urls":{"full":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/06\/claude-code-endless-runner-game-unreal-engine-5.jpg",960,961,false],"thumbnail":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/06\/claude-code-endless-runner-game-unreal-engine-5-150x150.jpg",150,150,true],"medium":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/06\/claude-code-endless-runner-game-unreal-engine-5-300x300.jpg",300,300,true],"medium_large":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/06\/claude-code-endless-runner-game-unreal-engine-5-768x769.jpg",640,641,true],"large":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/06\/claude-code-endless-runner-game-unreal-engine-5.jpg",640,641,false],"1536x1536":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/06\/claude-code-endless-runner-game-unreal-engine-5.jpg",960,961,false],"2048x2048":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/06\/claude-code-endless-runner-game-unreal-engine-5.jpg",960,961,false],"covernews-slider-full":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/06\/claude-code-endless-runner-game-unreal-engine-5-960x715.jpg",960,715,true],"covernews-slider-center":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/06\/claude-code-endless-runner-game-unreal-engine-5-800x500.jpg",800,500,true],"covernews-featured":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/06\/claude-code-endless-runner-game-unreal-engine-5.jpg",960,961,false],"covernews-medium":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/06\/claude-code-endless-runner-game-unreal-engine-5-540x340.jpg",540,340,true],"covernews-medium-square":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/06\/claude-code-endless-runner-game-unreal-engine-5-400x250.jpg",400,250,true]},"author_info":{"display_name":"admin","author_link":"https:\/\/8657085.xyz\/?author=1"},"category_info":"<a href=\"https:\/\/8657085.xyz\/?cat=8\" rel=\"category\">Tech<\/a>","tag_info":"Tech","comment_count":"0","_links":{"self":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/posts\/13966","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13966"}],"version-history":[{"count":0,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/posts\/13966\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/media\/13967"}],"wp:attachment":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13966"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13966"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13966"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}