{"id":4542,"date":"2025-10-07T20:22:54","date_gmt":"2025-10-08T00:22:54","guid":{"rendered":"https:\/\/www.wholetomato.com\/blog\/?p=4542"},"modified":"2025-10-07T20:27:31","modified_gmt":"2025-10-08T00:27:31","slug":"setting-up-your-first-ue5-project-that-wont-break-webinar-recap","status":"publish","type":"post","link":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/","title":{"rendered":"Setting Up Your First UE5 Project That Won&#8217;t Break [Webinar Recap]"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Welcome to your comprehensive guide on building bulletproof Unreal Engine 5 project foundations. This session is the first in a three-part series on code, collaboration, and shipping with Assembla and Visual Assist. The goal here is straightforward: to walk you through the practical decisions and workflows that take you from solo prototyping to full team production without the problems that derail most projects.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This guide draws directly from the experiences of industry veterans with 35 years of combined game development expertise, including 20 years shipping with Unreal Engine. If you apply what we cover, you&#8217;ll avoid the broken builds, asset conflicts, and infrastructure headaches that plague underprepared teams.<\/span><\/p>\n<p style=\"text-align: center;\"><iframe loading=\"lazy\" title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/tqmgtVEPXzI?si=rk68Nq0EiUR64rPq\" width=\"760\" height=\"350\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><br \/>\n<em>Watch the webinar replay here if you want to see live demos.<\/em><\/p>\n<p>&nbsp;<\/p>\n<h2><b>Your First Critical Decision: Binary or Source<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">When you start an Unreal Engine 5 project, you face a fundamental choice that affects everything downstream. Do you install the binary version of the engine, or do you compile from source?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For most teams, the answer is binary installation. You download it, install it, and you&#8217;re done. Iteration is fast. Upgrades are straightforward. Epic Games maintains excellent backward compatibility with existing assets, so when a new engine version releases, you simply load your project with the new version and continue working.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Compiling from source is the other path, but it&#8217;s significantly heavier. You only choose this if you need to modify the engine itself. And when I say modify, I mean fundamental changes like building a custom landscape system or making deep architectural changes. Here&#8217;s what source compilation actually requires: either a very powerful desktop or, more realistically, a build farm to compile the millions of lines of C++ code in reasonable timeframes. If you have multiple programmers and artists, you&#8217;ll need a small build farm for continuous integration to distribute your engine changes to the team. You&#8217;ll also need deep familiarity with Perforce branching strategies and confidence merging changes across engine versions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Most teams should stick with binary installation, but if you identify the need to compile from source then ensure first that you can deal with the performance and power necessary.<\/span><\/p>\n<h2><b>Setting Up Your Development Environment<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Before you create anything, you need three tools installed. For the purposes of this webinar, this isn&#8217;t optional. Each one serves a specific purpose in the workflow.<\/span><\/p>\n<p><b>Visual Studio 2022 Community Edition<\/b><span style=\"font-weight: 400;\"> is your IDE. <a href=\"https:\/\/www.wholetomato.com\/blog\/installing-unreal-engine-4-5-visual-studio-a-complete-step-by-step-guide-with-pictures\/\">Download and install Visual Studio and Unreal Engine<\/a> from the official link and make sure to enable the C++ and C workloads. There are additional features required by Unreal, but you can install those on demand when you load the solution. Unreal&#8217;s built-in integration checker will alert you if anything is missing.<\/span><\/p>\n<p><b>The Perforce Client<\/b><span style=\"font-weight: 400;\"> comes in multiple pieces, but you only need specific components. Download P4V, the visual client, along with the command-line tools P4 and P4 Admin. You don&#8217;t need the server component. There&#8217;s also a P4VS plugin for Visual Studio that lets you check files in and out without leaving the IDE.<\/span><\/p>\n<p><b>Visual Assist<\/b><span style=\"font-weight: 400;\"> is the Visual Studio extension we&#8217;ll cover in depth in the third webinar of this series. Install it now so you have it ready.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For reference on hardware: if you&#8217;re compiling code locally, compile times are primarily limited by disk access speed. An NVME drive is critical. A modest GPU like a GeForce 970 might not have enough memory just to run the Unreal Engine editor. A more capable GPU and sufficient RAM (we recommend 64 GB) make a real difference in daily iteration.<\/span><\/p>\n<h2><b>Creating Your First Project<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Download the Unreal Engine binary from the Epic Games launcher. Create an Epic Games account, sign in, navigate to Unreal Engine, and click install engine. When the installation completes, it will launch automatically.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Create a new project. Select your preferred template (first-person works well for prototyping), then make one critical decision about location. Do not place your project in your Documents folder or any other deeply nested directory. Windows has path length limits that cause real problems. Place it at the root level of a drive, something like C:\/Projects\/. Call it something identifiable. We&#8217;re using &#8220;Sample Game&#8221; for this walkthrough.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Select C++ as your language, not Blueprints, unless you&#8217;re specifically making a Blueprint-only game. After several minutes, the Unreal Editor will launch alongside a new Visual Studio instance with your project loaded.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">On first run, Visual Studio displays an integration check window. Run through it. Make sure everything installed correctly. When the solution first loads, it may indicate missing packages. Manage those NuGet packages to ensure the environment is properly configured.<\/span><\/p>\n<h2><b>Why Perforce Instead of Git<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Two major reasons distinguish Perforce as the right choice for game development.<\/span><\/p>\n<p><b>Exclusive checkout<\/b><span style=\"font-weight: 400;\"> means when you open a file for editing, you take ownership of it. No one else can edit it simultaneously. When you&#8217;re done, you check it back in. This is essential for binary files, which cannot be merged.<\/span><\/p>\n<p><b>Optimized handling of large binary files and poor network connections<\/b><span style=\"font-weight: 400;\"> is built into Perforce&#8217;s architecture. Git&#8217;s recommended repository size limit is 1 gigabyte. A single high-resolution texture in Unreal Engine 5 can exceed that. Perforce handles tens of terabytes of data across distributed teams with intermittent connectivity.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Here&#8217;s the distinction: when editing text files like C++ code, two developers can make different changes simultaneously, then the second person merges the other&#8217;s changes. This is valid and expected workflow. Binary files, like PNG images or Unreal assets, cannot be merged. Two different versions of a PNG file cannot be combined. Exclusive checkout prevents this problem entirely.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Git stores a complete history of the entire repository locally. A 100 GB repository becomes a storage nightmare. Perforce&#8217;s architecture doesn&#8217;t have this limitation.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">There are alternatives to Perforce\u2014Plastic SCM and Perforce&#8217;s own Hangar are options\u2014but Assembla doesn&#8217;t currently support them. Perforce remains the industry standard for game development at scale.<\/span><\/p>\n<h2><b>Setting Up Assembla and Perforce<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Navigate to getassembla.com and sign up for a free account. Select your local region and complete the form with your username, email, and password. You&#8217;ll set up an organizational domain, which Assembla calls a &#8220;portfolio.&#8221; A portfolio is a container for all your projects. Within a portfolio, you create spaces, each representing a single project.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">After account creation, modify your trial plan. Helix Core (Perforce) doesn&#8217;t come by default with the free trial. Add it as an add-on. Specify the number of users who need Perforce access.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Now create a new space. Name it after your project and give it a prefix that will appear on all tickets and documentation. Initialize it with repository, ticketing, and wiki tools.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Create a new Perforce repository. Assembla will provision and host your Perforce server in the cloud, so you don&#8217;t manage infrastructure or pay for DevOps overhead.<\/span><\/p>\n<h2><b>Configuring Perforce Type Maps<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">This step is critical and often skipped to great regret. Perforce needs explicit configuration to determine which files can be checked out by multiple people and which require exclusive checkout.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Set type maps before adding files to your repository. If you set them after files are already committed, you&#8217;ll need to correct the locking behavior on every file individually.<\/span><\/p>\n<p><b>Text files<\/b><span style=\"font-weight: 400;\"> like C++ code (.cpp, .h files) should be configured as &#8220;text&#8221; without exclusive checkout. This allows multiple developers to edit them and merge changes.<\/span><\/p>\n<p><b>Binary files<\/b><span style=\"font-weight: 400;\"> like Unreal assets (.uasset files) and images (.png files) should be &#8220;binary&#8221; with exclusive checkout (the &#8220;+L&#8221; flag in Perforce). Only one person can edit them at a time.<\/span><\/p>\n<p><b>Generated and temporary files<\/b><span style=\"font-weight: 400;\"> should be excluded entirely. This includes intermediate build files, the derived data cache (which Unreal regenerates automatically), Visual Studio temporary folders, and saved games. Use stream specifications to exclude these directories before syncing.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Configure this in Assembla&#8217;s UI or via the command line using P4 type map commands. The documentation provides sample type map configurations for Unreal Engine projects.<\/span><\/p>\n<h2><b>Connecting to Perforce from the Command Line<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Use a P4 config file to manage connection settings. This is especially useful if you work with multiple Perforce servers.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Create a file called P4 config with these settings:<\/span><\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;clike&quot;,&quot;mime&quot;:&quot;text\/x-c++src&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;lineWrapping&quot;:false,&quot;styleActiveLine&quot;:false,&quot;readOnly&quot;:true,&quot;align&quot;:&quot;&quot;}\">P4CLIENT=machine_username_projectname\r\nP4PORT=your_assembla_server_address:port\r\nP4USER=your_assembla_username<\/pre>\n<\/div>\n<p><span style=\"font-weight: 400;\">When you first connect, Perforce will ask you to trust the server&#8217;s fingerprint. Accept it, and verify your connection with the <\/span><span style=\"font-weight: 400;\">p4 info<\/span><span style=\"font-weight: 400;\"> command.<\/span><\/p>\n<h2><b>Creating Your Perforce Workspace<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Use the P4V visual client to create a workspace. Use a consistent naming convention: machine name, username, and project name. This clarity becomes invaluable when debugging issues across a team.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Point the workspace to your local Unreal project folder. Set the stream to &#8220;mainline&#8221; or your main development branch. Once created, you&#8217;ll see all project files available for addition to source control.<\/span><\/p>\n<h2><b>Configuring Stream Specifications<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Not all files in your Unreal project should be version controlled. Set up stream specifications to exclude directories that contain temporary or generated content.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Exclude these directories:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">.vs\/<\/span><span style=\"font-weight: 400;\"> &#8211; Visual Studio temporary files<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Intermediate\/<\/span><span style=\"font-weight: 400;\"> &#8211; Compiled object files and generated project files<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Binaries\/<\/span><span style=\"font-weight: 400;\"> &#8211; Compiled executables<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Derived Data Cache\/<\/span><span style=\"font-weight: 400;\"> &#8211; Unreal Engine&#8217;s processed asset cache, which regenerates automatically<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Saved\/<\/span><span style=\"font-weight: 400;\"> &#8211; Save games, logs, crash dumps<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The syntax uses <\/span><span style=\"font-weight: 400;\">&#8230;<\/span><span style=\"font-weight: 400;\"> to mean &#8220;all files recursively under this directory.&#8221;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">After configuring stream specs, add all remaining files to Perforce. Submit with a detailed comment like &#8220;Added initial code and assets for Sample Game.&#8221; Assembla tracks these submissions, and you can link them to tickets in the UI.<\/span><\/p>\n<h2><b>Client Configuration Best Practices<\/b><\/h2>\n<h3><b>Character Encoding<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Set character encoding to UTF-8. Everything on the Perforce server is stored as UTF-8. Using UTF-8 locally eliminates translation errors, provides a slight performance improvement, and reduces the chance of corruption. This is especially important for multinational teams. Other encodings like UTF-16 are rarely handled correctly and are difficult to autodetect.<\/span><\/p>\n<h3><b>Workspace Settings<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Navigate to workspace properties and examine the advanced settings:<\/span><\/p>\n<p><b>AllWrite<\/b><span style=\"font-weight: 400;\">: By default, synced files are read-only. This prevents accidental modifications without explicit checkout. Keep it disabled.<\/span><\/p>\n<p><b>Clobber<\/b><span style=\"font-weight: 400;\">: This syncs files even if Perforce detects local changes. It&#8217;s useful on build machines but dangerous in development. Avoid it.<\/span><\/p>\n<p><b>Compress<\/b><span style=\"font-weight: 400;\">: Server compression creates significant server load and requires more powerful hardware to maintain speed. Not recommended for development.<\/span><\/p>\n<p><b>ModTime<\/b><span style=\"font-weight: 400;\">: This sets synced file timestamps to server submission time rather than the current time. Avoid this unless you&#8217;re syncing binary builds without source and need to prevent unnecessary recompilation.<\/span><\/p>\n<p><b>RmDir<\/b><span style=\"font-weight: 400;\">: This removes empty folders after syncing. Enable it to keep your workspace clean.<\/span><\/p>\n<p><b>RevertUnchanged<\/b><span style=\"font-weight: 400;\">: This reverts files that you opened but didn&#8217;t actually modify. It keeps your change history clean and manageable.<\/span><\/p>\n<h2><b>Integrating Perforce with Unreal Engine<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Open your Unreal Engine project and go to <\/span><b>Tools<\/b><span style=\"font-weight: 400;\"> &gt; <\/span><b>Connect to Revision Control<\/b><span style=\"font-weight: 400;\">. Select Perforce. Copy your server address from the Assembla dashboard, enter your Assembla username, and select the workspace you created in P4V. Accept the settings.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Now you can check files in and out directly from the Unreal Editor. Make changes to your project, and the revision control panel shows exactly what you&#8217;ve modified. Submit changes with detailed comments linking to Assembla tickets.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">When you enable new plugins or make source-level changes, update your project files and restart the editor.<\/span><\/p>\n<h2><b>Recommended Branching Strategy<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Align your branching strategy with how actual game teams develop. Use this approach:<\/span><\/p>\n<p><b>Mainline Branch<\/b><span style=\"font-weight: 400;\">: The stable branch where builds are generated and released. Artists and QA work against this branch.<\/span><\/p>\n<p><b>Development Branch<\/b><span style=\"font-weight: 400;\">: A shared integration branch where completed features are merged from personal branches.<\/span><\/p>\n<p><b>Personal Branches<\/b><span style=\"font-weight: 400;\">: Each developer works in isolation on their own branch. When a feature is complete, they merge down to development, then the work gets copied up to mainline for the team.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This &#8220;merge down, copy up&#8221; strategy minimizes conflicts and keeps the mainline stable.<\/span><\/p>\n<h2><b>Assembla&#8217;s Additional Tools<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Beyond Perforce, Assembla provides integrated project management:<\/span><\/p>\n<p><b>Ticketing System<\/b><span style=\"font-weight: 400;\">: Agile sprint management with Kanban-style card walls. Track progress, assign work, and see metrics across your portfolio.<\/span><\/p>\n<p><b>Wiki Pages<\/b><span style=\"font-weight: 400;\">: Collaborative documentation to replace tools like Confluence. Version-controlled, searchable, and organized.<\/span><\/p>\n<p><b>Activity Metrics<\/b><span style=\"font-weight: 400;\">: Dashboards showing commits, ticket status, and team activity for data-driven decisions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">These tools centralize your workflow. You don&#8217;t context switch between separate tools for source control, tickets, and documentation.<\/span><\/p>\n<h2><b>Syncing Existing Repositories<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">If you&#8217;re joining a project that&#8217;s already in Perforce, use <\/span><span style=\"font-weight: 400;\">p4 sync<\/span><span style=\"font-weight: 400;\"> to pull down the repository. Assembla provides scripts that automate the initial setup, discovering project files and regenerating workspace configurations.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Once synced, open the project in Unreal Engine. The revision control panel shows all files tracked by the mainline branch, and you can review changes directly in the editor.<\/span><\/p>\n<h2><b>Addressing Common Challenges<\/b><\/h2>\n<h3><b>Large Binary Files<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Unreal Engine projects are asset-heavy. Exclusive checkout policies prevent conflicts. Perforce&#8217;s type map configuration ensures that assets like textures and models are locked during editing.<\/span><\/p>\n<h3><b>Optimizing Sync Speeds<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Enable parallel sync if your server setup is reliable. It significantly improves syncing performance for large projects. Local or regional caching also helps. Network tuning and optimized workspace configurations contribute to faster syncing.<\/span><\/p>\n<h3><b>Upgrading Engine Versions<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">If you&#8217;re using the binary version, upgrades are trivial. Epic ensures backward compatibility. Load your project with the new engine version and continue working.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you compiled from source, upgrades are complex. You need to carefully merge engine changes into your modifications, which is resource-intensive.<\/span><\/p>\n<h2><b>Frequently Asked Questions<\/b><\/h2>\n<p><b>Q: Do I need to compile Unreal Engine from source?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">A: Only if you need to modify the engine itself. Most teams should use the binary installation.<\/span><\/p>\n<p><b>Q: Can Assembla replace Jira and Confluence?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">A: Yes. Assembla provides integrated ticketing and wiki systems designed to replace both, streamlining project management within one platform.<\/span><\/p>\n<p><b>Q: How does Perforce handle merge conflicts on binary files?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">A: Binary files cannot be merged. Perforce uses exclusive checkout to lock these files, so only one user can edit them at a time.<\/span><\/p>\n<p><b>Q: Is there a Git blame equivalent in Visual Studio?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">A: Yes. The P4VS plugin includes a &#8220;time-lapse view&#8221; that shows file history and individual changes directly in Visual Studio.<\/span><\/p>\n<p><b>Q: How do I exclude temporary and generated files?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">A: Use stream specifications or P4 ignore files to exclude directories like intermediate builds, derived data cache, and Visual Studio temporary folders.<\/span><\/p>\n<p><b>Q: What branching strategy works best with Assembla&#8217;s sprint workflow?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">A: Use the &#8220;merge down, copy up&#8221; strategy. Developers work in personal branches, merge completed work to a development branch, then the work gets copied to mainline for team use.<\/span><\/p>\n<h2><b>Conclusion<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Setting up Unreal Engine 5 properly with Assembla and Perforce provides the foundation for teams to scale efficiently, collaborate seamlessly, and maintain clean project architecture. By making the right decisions early\u2014binary installation over source compilation, proper type map configuration, direct integration with the editor, and a disciplined branching strategy\u2014you focus on developing your game rather than fighting broken builds and asset conflicts.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This is the first session in a three-part series. The second session covers collaborative source control and branching strategies in greater depth. The third session focuses on boosting C++ productivity with Visual Assist. These tools and practices, applied from day one, create production-ready workflows that survive the chaos of real game development.<\/span><\/p>\n<div class=\"actions\">\r\n\t<a href=\"https:\/\/www.wholetomato.com\/downloads?utm_content=blog-\" class=\"button primary\">Download Visual Assist<\/a>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to your comprehensive guide on building bulletproof Unreal Engine 5 project foundations. This session is the first in a three-part series on code, collaboration, and shipping with Assembla and Visual Assist. The goal here&#8230;<\/p>\n","protected":false},"author":213500340,"featured_media":4543,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[726359896],"tags":[726360491,726360493,726360489,726359791],"class_list":["post-4542","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-webinar-recap","tag-assembla-platform","tag-game-development-workflow","tag-perforce-source-control","tag-unreal-engine-5"],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2025\/10\/WT-PPT-Webinar-VISUAL-ASSIST-Assembla-Code-Collaborate-2.png?fit=1920%2C1080&ssl=1","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfpLS4-1bg","aioseo_head":"\n\t\t<!-- All in One SEO Pro 4.9.5.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"Learn how to set up scalable Unreal Engine 5 workflows with Assembla and Perforce for seamless collaboration, source control, and C++ productivity in game development.\" \/>\n\t<meta name=\"robots\" content=\"max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n\t<meta name=\"author\" content=\"Tristan Soliven\"\/>\n\t<meta name=\"google-site-verification\" content=\"DtHrwoEjg0KG_fbuPSp5j_wNIf-g5hSh4EH6tZBoCIw\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 4.9.5.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Tomato Soup - Visual Assist Team Blog\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Setting Up Your First UE5 Project That Won&#039;t Break- Tomato Soup\" \/>\n\t\t<meta property=\"og:description\" content=\"Learn how to set up scalable Unreal Engine 5 workflows with Assembla and Perforce for seamless collaboration, source control, and C++ productivity in game development.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-10-08T00:22:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-10-08T00:27:31+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Setting Up Your First UE5 Project That Won&#039;t Break- Tomato Soup\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Learn how to set up scalable Unreal Engine 5 workflows with Assembla and Perforce for seamless collaboration, source control, and C++ productivity in game development.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\\\/#blogposting\",\"name\":\"Setting Up Your First UE5 Project That Won't Break- Tomato Soup\",\"headline\":\"Setting Up Your First UE5 Project That Won&#8217;t Break [Webinar Recap]\",\"author\":{\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/author\\\/tristansoliven\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.wholetomato.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/WT-PPT-Webinar-VISUAL-ASSIST-Assembla-Code-Collaborate-2.png?fit=1920%2C1080&ssl=1\",\"width\":1920,\"height\":1080,\"caption\":\"Learn how to set up scalable Unreal Engine 5 workflows with Assembla and Perforce for seamless collaboration, source control, and C++ productivity in game development.\"},\"datePublished\":\"2025-10-07T20:22:54-04:00\",\"dateModified\":\"2025-10-07T20:27:31-04:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\\\/#webpage\"},\"articleSection\":\"Webinar Recap, Assembla platform, game development workflow, Perforce source control, unreal engine 5, English\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/category\\\/webinar-recap\\\/#listItem\",\"name\":\"Webinar Recap\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/category\\\/webinar-recap\\\/#listItem\",\"position\":2,\"name\":\"Webinar Recap\",\"item\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/category\\\/webinar-recap\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\\\/#listItem\",\"name\":\"Setting Up Your First UE5 Project That Won&#8217;t Break [Webinar Recap]\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\\\/#listItem\",\"position\":3,\"name\":\"Setting Up Your First UE5 Project That Won&#8217;t Break [Webinar Recap]\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/category\\\/webinar-recap\\\/#listItem\",\"name\":\"Webinar Recap\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/#organization\",\"name\":\"Tomato Soup\",\"description\":\"Visual Assist Team Blog\",\"url\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/author\\\/tristansoliven\\\/#author\",\"url\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/author\\\/tristansoliven\\\/\",\"name\":\"Tristan Soliven\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\\\/#webpage\",\"url\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\\\/\",\"name\":\"Setting Up Your First UE5 Project That Won't Break- Tomato Soup\",\"description\":\"Learn how to set up scalable Unreal Engine 5 workflows with Assembla and Perforce for seamless collaboration, source control, and C++ productivity in game development.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/author\\\/tristansoliven\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/author\\\/tristansoliven\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.wholetomato.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/WT-PPT-Webinar-VISUAL-ASSIST-Assembla-Code-Collaborate-2.png?fit=1920%2C1080&ssl=1\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\\\/#mainImage\",\"width\":1920,\"height\":1080,\"caption\":\"Learn how to set up scalable Unreal Engine 5 workflows with Assembla and Perforce for seamless collaboration, source control, and C++ productivity in game development.\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\\\/#mainImage\"},\"datePublished\":\"2025-10-07T20:22:54-04:00\",\"dateModified\":\"2025-10-07T20:27:31-04:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/\",\"name\":\"Tomato Soup\",\"description\":\"Visual Assist Team Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.wholetomato.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>Setting Up Your First UE5 Project That Won't Break- Tomato Soup<\/title>\n\n","aioseo_head_json":{"title":"Setting Up Your First UE5 Project That Won't Break- Tomato Soup","description":"Learn how to set up scalable Unreal Engine 5 workflows with Assembla and Perforce for seamless collaboration, source control, and C++ productivity in game development.","canonical_url":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/","robots":"max-snippet:-1, max-image-preview:large, max-video-preview:-1","keywords":"","webmasterTools":{"google-site-verification":"DtHrwoEjg0KG_fbuPSp5j_wNIf-g5hSh4EH6tZBoCIw","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/#blogposting","name":"Setting Up Your First UE5 Project That Won't Break- Tomato Soup","headline":"Setting Up Your First UE5 Project That Won&#8217;t Break [Webinar Recap]","author":{"@id":"https:\/\/www.wholetomato.com\/blog\/author\/tristansoliven\/#author"},"publisher":{"@id":"https:\/\/www.wholetomato.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2025\/10\/WT-PPT-Webinar-VISUAL-ASSIST-Assembla-Code-Collaborate-2.png?fit=1920%2C1080&ssl=1","width":1920,"height":1080,"caption":"Learn how to set up scalable Unreal Engine 5 workflows with Assembla and Perforce for seamless collaboration, source control, and C++ productivity in game development."},"datePublished":"2025-10-07T20:22:54-04:00","dateModified":"2025-10-07T20:27:31-04:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/#webpage"},"isPartOf":{"@id":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/#webpage"},"articleSection":"Webinar Recap, Assembla platform, game development workflow, Perforce source control, unreal engine 5, English"},{"@type":"BreadcrumbList","@id":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.wholetomato.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.wholetomato.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.wholetomato.com\/blog\/category\/webinar-recap\/#listItem","name":"Webinar Recap"}},{"@type":"ListItem","@id":"https:\/\/www.wholetomato.com\/blog\/category\/webinar-recap\/#listItem","position":2,"name":"Webinar Recap","item":"https:\/\/www.wholetomato.com\/blog\/category\/webinar-recap\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/#listItem","name":"Setting Up Your First UE5 Project That Won&#8217;t Break [Webinar Recap]"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.wholetomato.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/#listItem","position":3,"name":"Setting Up Your First UE5 Project That Won&#8217;t Break [Webinar Recap]","previousItem":{"@type":"ListItem","@id":"https:\/\/www.wholetomato.com\/blog\/category\/webinar-recap\/#listItem","name":"Webinar Recap"}}]},{"@type":"Organization","@id":"https:\/\/www.wholetomato.com\/blog\/#organization","name":"Tomato Soup","description":"Visual Assist Team Blog","url":"https:\/\/www.wholetomato.com\/blog\/"},{"@type":"Person","@id":"https:\/\/www.wholetomato.com\/blog\/author\/tristansoliven\/#author","url":"https:\/\/www.wholetomato.com\/blog\/author\/tristansoliven\/","name":"Tristan Soliven"},{"@type":"WebPage","@id":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/#webpage","url":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/","name":"Setting Up Your First UE5 Project That Won't Break- Tomato Soup","description":"Learn how to set up scalable Unreal Engine 5 workflows with Assembla and Perforce for seamless collaboration, source control, and C++ productivity in game development.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.wholetomato.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/#breadcrumblist"},"author":{"@id":"https:\/\/www.wholetomato.com\/blog\/author\/tristansoliven\/#author"},"creator":{"@id":"https:\/\/www.wholetomato.com\/blog\/author\/tristansoliven\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2025\/10\/WT-PPT-Webinar-VISUAL-ASSIST-Assembla-Code-Collaborate-2.png?fit=1920%2C1080&ssl=1","@id":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/#mainImage","width":1920,"height":1080,"caption":"Learn how to set up scalable Unreal Engine 5 workflows with Assembla and Perforce for seamless collaboration, source control, and C++ productivity in game development."},"primaryImageOfPage":{"@id":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/#mainImage"},"datePublished":"2025-10-07T20:22:54-04:00","dateModified":"2025-10-07T20:27:31-04:00"},{"@type":"WebSite","@id":"https:\/\/www.wholetomato.com\/blog\/#website","url":"https:\/\/www.wholetomato.com\/blog\/","name":"Tomato Soup","description":"Visual Assist Team Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.wholetomato.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Tomato Soup - Visual Assist Team Blog","og:type":"article","og:title":"Setting Up Your First UE5 Project That Won't Break- Tomato Soup","og:description":"Learn how to set up scalable Unreal Engine 5 workflows with Assembla and Perforce for seamless collaboration, source control, and C++ productivity in game development.","og:url":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/","article:published_time":"2025-10-08T00:22:54+00:00","article:modified_time":"2025-10-08T00:27:31+00:00","twitter:card":"summary_large_image","twitter:title":"Setting Up Your First UE5 Project That Won't Break- Tomato Soup","twitter:description":"Learn how to set up scalable Unreal Engine 5 workflows with Assembla and Perforce for seamless collaboration, source control, and C++ productivity in game development."},"aioseo_meta_data":{"post_id":"4542","title":"Setting Up Your First UE5 Project That Won't Break#separator_sa #site_title","description":"Learn how to set up scalable Unreal Engine 5 workflows with Assembla and Perforce for seamless collaboration, source control, and C++ productivity in game development.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"open_ai":null,"ai":{"faqs":[],"keyPoints":[],"titles":[],"descriptions":[],"socialPosts":{"email":[],"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2025-10-07 18:55:28","updated":"2025-10-08 00:35:39"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.wholetomato.com\/blog\" title=\"Home\">Home<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.wholetomato.com\/blog\/category\/webinar-recap\/\" title=\"Webinar Recap\">Webinar Recap<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\tSetting Up Your First UE5 Project That Won\u2019t Break [Webinar Recap]\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.wholetomato.com\/blog"},{"label":"Webinar Recap","link":"https:\/\/www.wholetomato.com\/blog\/category\/webinar-recap\/"},{"label":"Setting Up Your First UE5 Project That Won&#8217;t Break [Webinar Recap]","link":"https:\/\/www.wholetomato.com\/blog\/setting-up-your-first-ue5-project-that-wont-break-webinar-recap\/"}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/4542","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/users\/213500340"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/comments?post=4542"}],"version-history":[{"count":7,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/4542\/revisions"}],"predecessor-version":[{"id":4550,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/4542\/revisions\/4550"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/media\/4543"}],"wp:attachment":[{"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/media?parent=4542"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/categories?post=4542"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/tags?post=4542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}