<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Multiplayer Archives - Couch Learn</title>
	<atom:link href="https://couchlearn.com/category/unreal-engine/multiplayer/feed/" rel="self" type="application/rss+xml" />
	<link>https://couchlearn.com/category/unreal-engine/multiplayer/</link>
	<description>Detailed Game Programming Tutorials</description>
	<lastBuildDate>Mon, 26 May 2025 13:18:06 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>

<image>
	<url>https://couchlearn.com/wp-content/uploads/2020/05/cropped-logolarge-32x32.png</url>
	<title>Multiplayer Archives - Couch Learn</title>
	<link>https://couchlearn.com/category/unreal-engine/multiplayer/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to build a Dedicated Server for your Unreal Engine 5 Game</title>
		<link>https://couchlearn.com/how-to-build-a-dedicated-server-for-your-unreal-engine-5-game/</link>
					<comments>https://couchlearn.com/how-to-build-a-dedicated-server-for-your-unreal-engine-5-game/#respond</comments>
		
		<dc:creator><![CDATA[Matt]]></dc:creator>
		<pubDate>Thu, 22 May 2025 19:44:04 +0000</pubDate>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Hard Difficulty]]></category>
		<category><![CDATA[Multiplayer]]></category>
		<category><![CDATA[Unreal Engine]]></category>
		<category><![CDATA[dedicated server]]></category>
		<category><![CDATA[hard difficulty]]></category>
		<category><![CDATA[How to build a Dedicated Server for your Unreal Engine 5 Game]]></category>
		<category><![CDATA[ue5]]></category>
		<category><![CDATA[UE5 source build]]></category>
		<category><![CDATA[unreal engine]]></category>
		<category><![CDATA[unreal engine 5]]></category>
		<guid isPermaLink="false">https://couchlearn.com/?p=800</guid>

					<description><![CDATA[<p>Setting up a dedicated server for your Unreal Engine 5 game is a crucial step if you&#8217;re aiming to support multiplayer gameplay at scale. Whether <a class="mh-excerpt-more" href="https://couchlearn.com/how-to-build-a-dedicated-server-for-your-unreal-engine-5-game/" title="How to build a Dedicated Server for your Unreal Engine 5 Game">[...]</a></p>
<p>The post <a href="https://couchlearn.com/how-to-build-a-dedicated-server-for-your-unreal-engine-5-game/">How to build a Dedicated Server for your Unreal Engine 5 Game</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Setting up a dedicated server for your Unreal Engine 5 game is a crucial step if you&#8217;re aiming to support multiplayer gameplay at scale. <br><br>Whether you&#8217;re building a competitive shooter, a cooperative survival experience, or a social sandbox, using a dedicated server ensures better performance, security, and reliability compared to peer to peer hosting. <br><br>It allows your players to connect to a centralized game instance that runs independently of any single player&#8217;s device.<br><br>In this guide, you’ll learn how to build and configure a dedicated server for your Unreal Engine 5 project from start to finish. <br><br>We’ll cover everything from preparing your project settings to compiling the server and running it locally!</p>



<figure class="wp-block-pullquote"><blockquote><p>This guide builds a dedicated server based upon our Unreal Engine 5 Multiplayer Sessions guide. <br><a href="https://couchlearn.com/how-to-use-multiplayer-sessions-in-unreal-engine-5/">Click here to follow our guide on Multiplayer Sessions in Unreal Engine 5.</a></p></blockquote></figure>



<figure class="wp-block-pullquote"><blockquote><p><a href="https://couchlearn.gumroad.com/l/objlo">Click here to download the project files for this guide</a></p></blockquote></figure>



<h2 class="wp-block-heading">Prerequisites</h2>



<p>Before starting this guide you will need a working multiplayer Unreal Engine 5 project and a <strong>source build of Unreal Engine</strong>.</p>



<figure class="wp-block-pullquote"><blockquote><p>If you do not have a multiplayer ready project <a href="https://couchlearn.com/how-to-use-multiplayer-sessions-in-unreal-engine-5/">click here to follow our guide on Multiplayer Sessions in Unreal Engine 5.</a></p></blockquote></figure>



<figure class="wp-block-pullquote"><blockquote><p>You <strong>must</strong> have a version of Unreal Engine built from source and <strong>not</strong> downloaded from the Epic Games Launcher to build a dedicated server. <a href="https://dev.epicgames.com/documentation/en-us/unreal-engine/downloading-source-code-in-unreal-engine">Click here to read how to build a source version of the engine.</a></p></blockquote></figure>



<figure class="wp-block-pullquote"><blockquote><p>You <strong>MUST</strong> have the AdvancedSessions plugin installed on your project for your server to <strong>show in the session browser correctly!</strong> <a href="https://vreue4.com/advanced-sessions-binaries">Click here to download the AdvancedSessions plugin.</a></p></blockquote></figure>



<h2 class="wp-block-heading">What is a Dedicated Server?</h2>



<p>A <strong>dedicated server</strong>, in game development terms, is a computer that can run a standalone piece of software which only handles the game world and server code. <br><br>It <strong>does not spawn a player character</strong> and does not count as a connected player.</p>



<p>The first method when setting up networking in a multiplayer game for many is a listen server.<br><br>A <strong>listen server</strong> is perfect for many styles of multiplayer games as it works well with games with small player counts per server (2 to 16), keeps costs down for developers and make developing features easier with faster testing between two clients.<br><br>For some games this isn&#8217;t ideal as players might cheat, have sync inconsistencies between clients that would be game breaking (fighting games over large latency) and larger scale games causing the host machine to slow down impacting other player&#8217;s experiences.<br><br>Dedicated servers are perfect to remedy these issues. Running the files that we will be creating on its own machine, with ports setup correctly, will only process your game world and keep an server of your game running 24/7.</p>



<h2 class="wp-block-heading">Automatic Session</h2>



<p>We need our server to automatically create a session and then load the map on launch.<br><br>In our example project, which can be downloaded in a <a href="https://couchlearn.gumroad.com/l/ipoxq">first person</a> or <a href="https://couchlearn.gumroad.com/l/mmshe">third person</a> format, we create our MainMenu widget and add it to the screen in our main menu level blueprint.<br><br>We need to adjust this so if it is a dedicated server then we ignore the menus entirely and create a session for our players to join!</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="1005" height="295" src="https://couchlearn.com/wp-content/uploads/2025/05/image-20.png" alt="The example project main menu widget creation" class="wp-image-2311" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-20.png 1005w, https://couchlearn.com/wp-content/uploads/2025/05/image-20-300x88.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-20-768x225.png 768w" sizes="(max-width: 1005px) 100vw, 1005px" /></figure>



<p>To achieve this, we simply add a branch and an &#8220;Is Dedicated Server&#8221; node before our widget creation. <br><br>This is then connected together on the False pin as we don&#8217;t want the code to run if our platform is &#8220;Dedicated Server&#8221;.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="226" src="https://couchlearn.com/wp-content/uploads/2025/05/image-21-1024x226.png" alt="Adding the Is Dedicated Server check to the main menu creation" class="wp-image-2312" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-21-1024x226.png 1024w, https://couchlearn.com/wp-content/uploads/2025/05/image-21-300x66.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-21-768x170.png 768w, https://couchlearn.com/wp-content/uploads/2025/05/image-21.png 1073w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>On the True pin we then add a Create Advanced Session node with our desired settings.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="736" height="540" src="https://couchlearn.com/wp-content/uploads/2025/05/image-34.png" alt="Creating the advanced session" class="wp-image-2344" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-34.png 736w, https://couchlearn.com/wp-content/uploads/2025/05/image-34-300x220.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-34-80x60.png 80w" sizes="(max-width: 736px) 100vw, 736px" /></figure>



<p>If our session creation was a success we then open our level with the option ?listen so that our server can accept connections to the map.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="903" height="543" src="https://couchlearn.com/wp-content/uploads/2025/05/image-35.png" alt="Opening the level after creating our session successfully" class="wp-image-2345" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-35.png 903w, https://couchlearn.com/wp-content/uploads/2025/05/image-35-300x180.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-35-768x462.png 768w" sizes="(max-width: 903px) 100vw, 903px" /></figure>



<p>Lastly, we compile and save our changes!</p>



<h2 class="wp-block-heading">Choosing the Default Server Map</h2>



<p>By default our dedicated server loads into an engine map called &#8220;Entry&#8221;. We need to change this to our own map to ensure that we can load players into the game.<br><br>Firstly, open the edit menu in the top left and then click Project Settings.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="520" height="355" src="https://couchlearn.com/wp-content/uploads/2025/05/image-30.png" alt="Opening the project settings" class="wp-image-2334" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-30.png 520w, https://couchlearn.com/wp-content/uploads/2025/05/image-30-300x205.png 300w" sizes="(max-width: 520px) 100vw, 520px" /></figure>



<p>We then click the &#8220;Maps &amp; Modes&#8221; section of the Project Settings.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="315" height="273" src="https://couchlearn.com/wp-content/uploads/2025/05/image-31.png" alt="Going into the maps and modes section" class="wp-image-2335" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-31.png 315w, https://couchlearn.com/wp-content/uploads/2025/05/image-31-300x260.png 300w" sizes="(max-width: 315px) 100vw, 315px" /></figure>



<p>We then click the Advanced drop down option in the &#8220;Default Maps&#8221; section.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="290" height="235" src="https://couchlearn.com/wp-content/uploads/2025/05/image-32.png" alt="Opening the advanced menu" class="wp-image-2336"/></figure>



<p>Finally, set the &#8220;Server Default Map&#8221; option to the map that you want to start your server on. In this case we are using our &#8220;menu&#8221; map and making changes later in the guide to add dedicated server functionality.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="915" height="235" src="https://couchlearn.com/wp-content/uploads/2025/05/image-33.png" alt="Setting the server default map" class="wp-image-2338" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-33.png 915w, https://couchlearn.com/wp-content/uploads/2025/05/image-33-300x77.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-33-768x197.png 768w" sizes="(max-width: 915px) 100vw, 915px" /></figure>



<h2 class="wp-block-heading">No Default Character in the Level</h2>



<p>As we are using a dedicated server, we no longer need a character spawned for the authority (server host). <br><br>Our level has a character blueprint inside of the level that gets controlled by the first player connected. <br><br>We need to remove this to prevent a character standing in the level with no player!</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="869" height="443" src="https://couchlearn.com/wp-content/uploads/2025/05/image-40.png" alt="Deleting the default character" class="wp-image-2352" style="width:771px;height:auto" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-40.png 869w, https://couchlearn.com/wp-content/uploads/2025/05/image-40-300x153.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-40-768x392.png 768w" sizes="(max-width: 869px) 100vw, 869px" /></figure>



<h2 class="wp-block-heading">The Project Launcher</h2>



<p>The project launcher is a built in tool of Unreal Engine that allows you to build versions of your game based on profiles that you can create.<br><br>One of the abilities of the project launcher is the dedicated server!</p>



<p>We can open the project launcher by opening the Tools menu at the top of the editor window and selecting the Project Launcher in the tools section of the menu.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="682" src="https://couchlearn.com/wp-content/uploads/2025/05/image-5-1024x682.png" alt="Opening the tools menu then the project launcher" class="wp-image-2289" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-5-1024x682.png 1024w, https://couchlearn.com/wp-content/uploads/2025/05/image-5-300x200.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-5-768x511.png 768w, https://couchlearn.com/wp-content/uploads/2025/05/image-5.png 1227w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>You should now see a large empty menu! We now need to add our custom profile for our game!</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" width="1024" height="547" src="https://couchlearn.com/wp-content/uploads/2025/05/image-6-1024x547.png" alt="The empty project launcher menu" class="wp-image-2290" style="width:652px;height:auto" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-6-1024x547.png 1024w, https://couchlearn.com/wp-content/uploads/2025/05/image-6-300x160.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-6-768x410.png 768w, https://couchlearn.com/wp-content/uploads/2025/05/image-6-1536x820.png 1536w, https://couchlearn.com/wp-content/uploads/2025/05/image-6.png 1926w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>We need to create our <strong>custom profile</strong> to specify to the engine that we want a dedicated server build.</p>



<figure class="wp-block-image"><img decoding="async" width="149" height="90" src="https://couchlearn.com/wp-content/uploads/2019/09/image-1.png" alt="Adding a new profile" class="wp-image-809"/></figure>



<h3 class="wp-block-heading">Creating the Custom Profile</h3>



<p>Firstly, click the Add button in the bottom right, then click &#8220;Create Custom Profile&#8221;.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="357" height="349" src="https://couchlearn.com/wp-content/uploads/2025/05/image-7.png" alt="Clicking the add button and create custom profile" class="wp-image-2291" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-7.png 357w, https://couchlearn.com/wp-content/uploads/2025/05/image-7-300x293.png 300w" sizes="(max-width: 357px) 100vw, 357px" /></figure>



<p>You should now see a large menu of options appear.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="480" src="https://couchlearn.com/wp-content/uploads/2025/05/image-8-1024x480.png" alt="The large menu of options for a custom launch profile" class="wp-image-2292" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-8-1024x480.png 1024w, https://couchlearn.com/wp-content/uploads/2025/05/image-8-300x141.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-8-768x360.png 768w, https://couchlearn.com/wp-content/uploads/2025/05/image-8-1536x720.png 1536w, https://couchlearn.com/wp-content/uploads/2025/05/image-8.png 1915w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>In the cook section, we need to open the drop down menu and change &#8220;On the fly&#8221; to &#8220;By the book&#8221;.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="765" height="147" src="https://couchlearn.com/wp-content/uploads/2025/05/image-9.png" alt="Changing the cook option from on the fly to by the book" class="wp-image-2293" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-9.png 765w, https://couchlearn.com/wp-content/uploads/2025/05/image-9-300x58.png 300w" sizes="(max-width: 765px) 100vw, 765px" /></figure>



<p>We then scroll down the Cooked Platforms list and find the server platform we want to build for. For this guide we are building a dedicated server for Windows. <br><br>You can choose LinuxServer if you need an x86/64 Linux server or LinuxArm64 if you want to host your server on Linux Arm. If you do not understand this, simply choose WindowsServer.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="799" height="726" src="https://couchlearn.com/wp-content/uploads/2025/05/image-10.png" alt="Enabling the WindowServer cook option" class="wp-image-2294" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-10.png 799w, https://couchlearn.com/wp-content/uploads/2025/05/image-10-300x273.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-10-768x698.png 768w" sizes="(max-width: 799px) 100vw, 799px" /></figure>



<p>We then scroll down further and select all of the maps that you want to include in your server. In this guide we have selected both of the maps in the Unreal Engine 5</p>



<figure class="wp-block-image size-full"><img decoding="async" width="799" height="726" src="https://couchlearn.com/wp-content/uploads/2025/05/image-11.png" alt="Adding our maps to the cook" class="wp-image-2295" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-11.png 799w, https://couchlearn.com/wp-content/uploads/2025/05/image-11-300x273.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-11-768x698.png 768w" sizes="(max-width: 799px) 100vw, 799px" /></figure>



<p>Next in the Package section, click the drop down menu and change &#8220;Do not package&#8221; to &#8220;Package &amp; store locally&#8221;.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="795" height="378" src="https://couchlearn.com/wp-content/uploads/2025/05/image-12.png" alt="Changing the package options from Do not package to Package &amp; store locally" class="wp-image-2297" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-12.png 795w, https://couchlearn.com/wp-content/uploads/2025/05/image-12-300x143.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-12-768x365.png 768w" sizes="(max-width: 795px) 100vw, 795px" /></figure>



<p>This then generates you a default path inside of your project folder to build the server. This can be changed to anywhere you want using the directory picker &#8220;Browse&#8221; button.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="749" height="269" src="https://couchlearn.com/wp-content/uploads/2025/05/image-13.png" alt="The option to change the location the dedicated server is building in." class="wp-image-2298" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-13.png 749w, https://couchlearn.com/wp-content/uploads/2025/05/image-13-300x108.png 300w" sizes="(max-width: 749px) 100vw, 749px" /></figure>



<p>Then, in the Deploy section, click the drop down menu and change &#8220;Copy to device&#8221; to &#8220;Do not deploy&#8221;.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="789" height="174" src="https://couchlearn.com/wp-content/uploads/2025/05/image-14.png" alt="Changing the deploy option from Copy to device to Do not deploy" class="wp-image-2300" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-14.png 789w, https://couchlearn.com/wp-content/uploads/2025/05/image-14-300x66.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-14-768x169.png 768w" sizes="(max-width: 789px) 100vw, 789px" /></figure>



<p>Finally, we can give our new profile a name to remember what this Profile builds.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="790" height="258" src="https://couchlearn.com/wp-content/uploads/2025/05/image-15.png" alt="Giving our profile a name" class="wp-image-2301" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-15.png 790w, https://couchlearn.com/wp-content/uploads/2025/05/image-15-300x98.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-15-768x251.png 768w" sizes="(max-width: 790px) 100vw, 790px" /></figure>



<h2 class="wp-block-heading">Creating the Dedicated Server</h2>



<p>Now that we have our profile all setup, we can now build our dedicated server!<br><br>Click the back button to return to the main Project Launcher menu.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="794" height="266" src="https://couchlearn.com/wp-content/uploads/2025/05/image-16.png" alt="Going back to the main project launcher menu" class="wp-image-2303" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-16.png 794w, https://couchlearn.com/wp-content/uploads/2025/05/image-16-300x101.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-16-768x257.png 768w" sizes="(max-width: 794px) 100vw, 794px" /></figure>



<p>We can now see our new profile in the list of custom launch profiles.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="799" height="184" src="https://couchlearn.com/wp-content/uploads/2025/05/image-17.png" alt="The newly created launch profile" class="wp-image-2304" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-17.png 799w, https://couchlearn.com/wp-content/uploads/2025/05/image-17-300x69.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-17-768x177.png 768w" sizes="(max-width: 799px) 100vw, 799px" /></figure>



<h3 class="wp-block-heading">Building the Files</h3>



<p>To build the dedicated server using our custom profile, simply press the launch button (Controller and display icon). </p>



<figure class="wp-block-image size-full"><img decoding="async" width="784" height="726" src="https://couchlearn.com/wp-content/uploads/2025/05/image-18.png" alt="Launching the custom launch profile" class="wp-image-2305" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-18.png 784w, https://couchlearn.com/wp-content/uploads/2025/05/image-18-300x278.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-18-768x711.png 768w" sizes="(max-width: 784px) 100vw, 784px" /></figure>



<p>You now see the process of your dedicated server automatically building!</p>



<figure class="wp-block-image size-full"><img decoding="async" width="799" height="617" src="https://couchlearn.com/wp-content/uploads/2025/05/image-19.png" alt="The progress and debug logging of the engine building the custom profile dedicated server" class="wp-image-2306" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-19.png 799w, https://couchlearn.com/wp-content/uploads/2025/05/image-19-300x232.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-19-768x593.png 768w" sizes="(max-width: 799px) 100vw, 799px" /></figure>



<p>Now wait until the process has completed. The first time you run your profile it can take a long time. Leave this to fully complete before moving onto the final step!</p>



<figure class="wp-block-image size-full"><img decoding="async" width="872" height="726" src="https://couchlearn.com/wp-content/uploads/2025/05/image-26.png" alt="The build complete showing success for each task" class="wp-image-2327" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-26.png 872w, https://couchlearn.com/wp-content/uploads/2025/05/image-26-300x250.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-26-768x639.png 768w" sizes="(max-width: 872px) 100vw, 872px" /></figure>



<h3 class="wp-block-heading">Testing the Dedicated Server</h3>



<p>Now that our dedicated server has built successfully, navigate to the folder you selected earlier to see the executable.<br><br>If you left this option default in the previous step, the folder found in your project folder then <strong>Saved/StagedBuilds</strong> and then the platform name. In this case &#8220;<strong>WindowsServer</strong>&#8220;.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="650" height="195" src="https://couchlearn.com/wp-content/uploads/2025/05/image-27.png" alt="The final files of the dedicated server" class="wp-image-2329" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-27.png 650w, https://couchlearn.com/wp-content/uploads/2025/05/image-27-300x90.png 300w" sizes="(max-width: 650px) 100vw, 650px" /></figure>



<p>From here we can open our Server.exe to open the server. This will open in the background and is hard to monitor and close.<br><br>To make this easier to use, firstly create a shortcut in Windows for your server executable.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="616" height="194" src="https://couchlearn.com/wp-content/uploads/2025/05/image-28.png" alt="Adding a shortcut to the executable" class="wp-image-2332" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-28.png 616w, https://couchlearn.com/wp-content/uploads/2025/05/image-28-300x94.png 300w" sizes="(max-width: 616px) 100vw, 616px" /></figure>



<p>We then open the executable and add the &#8220;-log&#8221; launch option to the end of the target section. This will make the server open as a window and print any logging messages on to the screen.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="363" height="228" src="https://couchlearn.com/wp-content/uploads/2025/05/image-29.png" alt="Adding the -log argument to ensure that the server opens with a window" class="wp-image-2333" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-29.png 363w, https://couchlearn.com/wp-content/uploads/2025/05/image-29-300x188.png 300w" sizes="(max-width: 363px) 100vw, 363px" /></figure>



<p>Now open the shortcut to your server and text will fill the window. This is your server initializing and setting up a session for your players to join!</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="465" src="https://couchlearn.com/wp-content/uploads/2025/05/image-42-1024x465.png" alt="The server launched and ready for clients to connect" class="wp-image-2355" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-42-1024x465.png 1024w, https://couchlearn.com/wp-content/uploads/2025/05/image-42-300x136.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-42-768x349.png 768w, https://couchlearn.com/wp-content/uploads/2025/05/image-42.png 1039w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>On the client&#8217;s view it now shows the dedicated server session!</p>



<figure class="wp-block-image size-full"><img decoding="async" width="937" height="353" src="https://couchlearn.com/wp-content/uploads/2025/05/image-39.png" alt="Connecting to the dedicated server session" class="wp-image-2351" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-39.png 937w, https://couchlearn.com/wp-content/uploads/2025/05/image-39-300x113.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-39-768x289.png 768w" sizes="(max-width: 937px) 100vw, 937px" /></figure>



<h2 class="wp-block-heading">Demonstration</h2>



<p>With three clients open inside the editor and our dedicated server open, the clients can connect to the session and see each other move without needing a full client open to host the game!</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="539" src="https://couchlearn.com/wp-content/uploads/2025/05/image-41-1024x539.png" alt="Playing with three clients on a dedicated server" class="wp-image-2354" srcset="https://couchlearn.com/wp-content/uploads/2025/05/image-41-1024x539.png 1024w, https://couchlearn.com/wp-content/uploads/2025/05/image-41-300x158.png 300w, https://couchlearn.com/wp-content/uploads/2025/05/image-41-768x404.png 768w, https://couchlearn.com/wp-content/uploads/2025/05/image-41-1536x809.png 1536w, https://couchlearn.com/wp-content/uploads/2025/05/image-41.png 1893w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Project Files</h2>



<script src="https://gumroad.com/js/gumroad-embed.js"></script>
<div class="gumroad-product-embed"><a href="https://couchlearn.gumroad.com/l/objlo">Loading&#8230;</a></div>



<h2 class="wp-block-heading">Conclusion</h2>



<p>You now have a dedicated server of your game building with the ability to be connected to!<br><br>With this knowledge, you&#8217;re one step closer to launching a fully featured multiplayer game that performs well and delivers a consistent experience to players!</p>



<h3 class="wp-block-heading">Further Reading</h3>



<ul class="wp-block-list">
<li><a href="https://docs.unrealengine.com/5.0/en-US/dedicated-servers-in-unreal-engine/">Click here to read the Unreal Engine Dedicated Server Guide</a></li>



<li><a href="https://docs.unrealengine.com/5.0/en-US/unreal-engine-networking-and-multiplayer/">For more networking fundamentals click here for the UE Networking Overview</a></li>



<li><a href="https://docs.unrealengine.com/5.0/en-US/building-and-compiling-unreal-engine-projects/">It&#8217;s always great to read up on how to build projects based on our learning of the project launcher, Click here for the UE documentation on Building Projects</a></li>
</ul>
<p>The post <a href="https://couchlearn.com/how-to-build-a-dedicated-server-for-your-unreal-engine-5-game/">How to build a Dedicated Server for your Unreal Engine 5 Game</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://couchlearn.com/how-to-build-a-dedicated-server-for-your-unreal-engine-5-game/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to use Multiplayer Sessions in Unreal Engine 5</title>
		<link>https://couchlearn.com/how-to-use-multiplayer-sessions-in-unreal-engine-5/</link>
					<comments>https://couchlearn.com/how-to-use-multiplayer-sessions-in-unreal-engine-5/#comments</comments>
		
		<dc:creator><![CDATA[Matt]]></dc:creator>
		<pubDate>Sun, 14 Aug 2022 21:53:18 +0000</pubDate>
				<category><![CDATA[Medium Difficulty]]></category>
		<category><![CDATA[Multiplayer]]></category>
		<category><![CDATA[Unreal Engine]]></category>
		<category><![CDATA[Unreal Engine 5]]></category>
		<category><![CDATA[multiplayer sessions]]></category>
		<category><![CDATA[ue5]]></category>
		<category><![CDATA[ue5 multiplayer]]></category>
		<category><![CDATA[ue5 sessions]]></category>
		<category><![CDATA[unreal engine]]></category>
		<category><![CDATA[unreal engine 5]]></category>
		<category><![CDATA[unreal engine 5 multiplayer]]></category>
		<category><![CDATA[unreal engine 5 sessions]]></category>
		<guid isPermaLink="false">https://couchlearn.com/?p=1684</guid>

					<description><![CDATA[<p>Utilizing Multiplayer Sessions in Unreal Engine 5 allows customization of your multiplayer session settings such as player limits, public, and private slots. You also get <a class="mh-excerpt-more" href="https://couchlearn.com/how-to-use-multiplayer-sessions-in-unreal-engine-5/" title="How to use Multiplayer Sessions in Unreal Engine 5">[...]</a></p>
<p>The post <a href="https://couchlearn.com/how-to-use-multiplayer-sessions-in-unreal-engine-5/">How to use Multiplayer Sessions in Unreal Engine 5</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Utilizing Multiplayer Sessions in Unreal Engine 5 allows customization of your multiplayer session settings such as player limits, public, and private slots. You also get access to the server browser to view all the active game sessions.<br><br>Unreal Engine 5 has many built in blueprint nodes to make this process really easy!<br><br>In this guide we will be setting up a basic multiplayer game using sessions in Unreal Engine 5. Players will be able to setup a session that others can join through a menu.</p>



<h3 class="wp-block-heading">Online and LAN Support</h3>



<p>Unreal Engine 5&#8217;s NULL online subsystem can not find sessions outside of the player&#8217;s local network.<br><br>To find and connect to sessions outside of your local network without a direct IP address connection you <strong>need to use a different online subsystem</strong> such as <strong>Steam</strong>.<br><br><a href="https://docs.unrealengine.com/en-US/Programming/Online/Steam/index.html"><em>Click here to read the documentation for the Steam subsystem</em></a></p>



<h2 class="wp-block-heading">Creating our Widget</h2>



<h3 class="wp-block-heading">Creating the Widget Blueprint</h3>



<p>To allow our players to create their own sessions and join others we need to create buttons and text on screen. In Unreal Engine 5 this is called a user interface <strong>widget</strong>.</p>



<p>Firstly, right click in the content drawer and create a Widget Blueprint</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="824" src="https://couchlearn.com/wp-content/uploads/2022/08/image-17-1024x824.png" alt="Creating the sessions widget blueprint" class="wp-image-1689" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-17-1024x824.png 1024w, https://couchlearn.com/wp-content/uploads/2022/08/image-17-300x241.png 300w, https://couchlearn.com/wp-content/uploads/2022/08/image-17-768x618.png 768w, https://couchlearn.com/wp-content/uploads/2022/08/image-17.png 1176w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Click &#8220;User Widget&#8221; in the menu that pops up.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="777" height="289" src="https://couchlearn.com/wp-content/uploads/2022/08/image-18.png" alt="Creating the widget from the user widget base blueprint" class="wp-image-1690" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-18.png 777w, https://couchlearn.com/wp-content/uploads/2022/08/image-18-300x112.png 300w, https://couchlearn.com/wp-content/uploads/2022/08/image-18-768x286.png 768w" sizes="(max-width: 777px) 100vw, 777px" /></figure>



<p>Now we have to name our widget blueprint. For this guide we named the blueprint &#8220;Session Widget&#8221;. You can name your widget blueprint anything you like but make sure to remember the name for a later step!</p>



<figure class="wp-block-image size-full"><img decoding="async" width="599" height="271" src="https://couchlearn.com/wp-content/uploads/2022/08/image-19.png" alt="Naming our widget Session Widget" class="wp-image-1691" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-19.png 599w, https://couchlearn.com/wp-content/uploads/2022/08/image-19-300x136.png 300w" sizes="(max-width: 599px) 100vw, 599px" /></figure>



<p>Finally, double click your widget blueprint and you will see the Widget Designer window.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="549" src="https://couchlearn.com/wp-content/uploads/2022/08/image-20-1024x549.png" alt="Blueprint Designer window" class="wp-image-1692" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-20-1024x549.png 1024w, https://couchlearn.com/wp-content/uploads/2022/08/image-20-300x161.png 300w, https://couchlearn.com/wp-content/uploads/2022/08/image-20-768x412.png 768w, https://couchlearn.com/wp-content/uploads/2022/08/image-20-1536x824.png 1536w, https://couchlearn.com/wp-content/uploads/2022/08/image-20.png 1893w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">Designing our Widget</h3>



<p>When designing widgets, you can find all available widget elements in the left side Palette menu.<br><br>To start designing your session widget, simply search for Canvas Panel and drag it into the middle section of the window.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="354" height="276" src="https://couchlearn.com/wp-content/uploads/2022/08/image-21.png" alt="Adding the canvas panel" class="wp-image-1693" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-21.png 354w, https://couchlearn.com/wp-content/uploads/2022/08/image-21-300x234.png 300w" sizes="(max-width: 354px) 100vw, 354px" /></figure>



<p>Next, search for Vertical Box and drag it into the middle section of the window. These layout elements will be the main structure of your widget.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="322" height="224" src="https://couchlearn.com/wp-content/uploads/2022/08/image-22.png" alt="Adding the vertical box" class="wp-image-1694" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-22.png 322w, https://couchlearn.com/wp-content/uploads/2022/08/image-22-300x209.png 300w" sizes="(max-width: 322px) 100vw, 322px" /></figure>



<p>From there find the details panel on the right side of the window. Click Anchors and select the center box option shown in the image below.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="479" height="525" src="https://couchlearn.com/wp-content/uploads/2022/08/image-23.png" alt="Setting the widget anchor to center" class="wp-image-1695" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-23.png 479w, https://couchlearn.com/wp-content/uploads/2022/08/image-23-274x300.png 274w" sizes="(max-width: 479px) 100vw, 479px" /></figure>



<p>After setting the anchors correctly we can begin to set the size and position of our widget.<br><br>Below the anchors drop down, set Position X, Position Y, Size X, and Size Y to the values shown in the image below.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="463" height="307" src="https://couchlearn.com/wp-content/uploads/2022/08/image-24.png" alt="Setting the position and size" class="wp-image-1696" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-24.png 463w, https://couchlearn.com/wp-content/uploads/2022/08/image-24-300x199.png 300w" sizes="(max-width: 463px) 100vw, 463px" /></figure>



<p>Now, in the Palette menu, create two buttons. These will be interactable by the user to create and join multiplayer game sessions.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="291" height="151" src="https://couchlearn.com/wp-content/uploads/2022/08/image-25.png" alt="Adding two buttons" class="wp-image-1697"/></figure>



<p>So we can access the buttons in the next step, click the first button and change the name in the details panel to CreateSession. </p>



<figure class="wp-block-image size-full"><img decoding="async" width="326" height="68" src="https://couchlearn.com/wp-content/uploads/2022/08/image-26.png" alt="Naming the Create session button" class="wp-image-1698" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-26.png 326w, https://couchlearn.com/wp-content/uploads/2022/08/image-26-300x63.png 300w" sizes="(max-width: 326px) 100vw, 326px" /></figure>



<p>Repeat this for the next button and name it JoinSession.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="330" height="76" src="https://couchlearn.com/wp-content/uploads/2022/08/image-27.png" alt="Naming the Join session button" class="wp-image-1699" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-27.png 330w, https://couchlearn.com/wp-content/uploads/2022/08/image-27-300x69.png 300w, https://couchlearn.com/wp-content/uploads/2022/08/image-27-326x76.png 326w" sizes="(max-width: 330px) 100vw, 330px" /></figure>



<p>To show to the user which button is used for creating and joining we need to add text to the buttons.<br><br>In the Palette menu search Text and drag the text onto the button. As you can see the text appears on the button and automatically resizes it so it fits well.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="491" height="309" src="https://couchlearn.com/wp-content/uploads/2022/08/dragtexttobutton.gif" alt="Adding text to the buttons" class="wp-image-1701"/></figure>



<p>After creating one text element for each button, change the Text value for each Text element in the right side Details panel.<br><br>Set the top button to Create Session and the second button to Join Session.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="476" height="371" src="https://couchlearn.com/wp-content/uploads/2022/08/image-56.png" alt="Setting the Text value" class="wp-image-1731" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-56.png 476w, https://couchlearn.com/wp-content/uploads/2022/08/image-56-300x234.png 300w" sizes="(max-width: 476px) 100vw, 476px" /></figure>



<p>Now to improve the design of our buttons, select both buttons and in the right side Details panel set Padding to 15 and click Fill.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="468" height="259" src="https://couchlearn.com/wp-content/uploads/2022/08/image-30.png" alt="Setting the padding and fill" class="wp-image-1703" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-30.png 468w, https://couchlearn.com/wp-content/uploads/2022/08/image-30-300x166.png 300w" sizes="(max-width: 468px) 100vw, 468px" /></figure>



<p>Now our widget buttons are neatly arranged and easy for the players to use.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="410" height="529" src="https://couchlearn.com/wp-content/uploads/2022/08/image-31.png" alt="Two buttons in the correct layout" class="wp-image-1704" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-31.png 410w, https://couchlearn.com/wp-content/uploads/2022/08/image-31-233x300.png 233w" sizes="(max-width: 410px) 100vw, 410px" /></figure>



<p>Once you are done customizing your widget, click Compile and Save to ensure your changes are applied.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="430" height="243" src="https://couchlearn.com/wp-content/uploads/2022/08/image-32.png" alt="Compile and saving the widget" class="wp-image-1705" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-32.png 430w, https://couchlearn.com/wp-content/uploads/2022/08/image-32-300x170.png 300w" sizes="(max-width: 430px) 100vw, 430px" /></figure>



<p>Finally, click the Graph button on the top right side. This will switch the Widget Designer to the Widget Blueprint editor ready to give functionality to your widget!</p>



<figure class="wp-block-image size-full"><img decoding="async" width="306" height="204" src="https://couchlearn.com/wp-content/uploads/2022/08/image-33.png" alt="Switching to the widget blueprint graph" class="wp-image-1706" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-33.png 306w, https://couchlearn.com/wp-content/uploads/2022/08/image-33-300x200.png 300w" sizes="(max-width: 306px) 100vw, 306px" /></figure>



<h2 class="wp-block-heading">Hosting and Joining a Multiplayer Session</h2>



<h3 class="wp-block-heading">Creating and Hosting our Game Session</h3>



<p>Now that we are in the Widget Blueprint editor, you should see your two buttons in the Variables section on the left.<br><br>Click the first button in the list.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="347" height="390" src="https://couchlearn.com/wp-content/uploads/2022/08/image-34.png" alt="Selecting the CreateSession button" class="wp-image-1707" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-34.png 347w, https://couchlearn.com/wp-content/uploads/2022/08/image-34-267x300.png 267w" sizes="(max-width: 347px) 100vw, 347px" /></figure>



<p>Below you should now see a Details menu with all of the events available to your button.<br><br>We need On Clicked so click the big green box with the plus icon inside to add this event.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="343" height="412" src="https://couchlearn.com/wp-content/uploads/2022/08/image-35.png" alt="Adding the On Clicked button event" class="wp-image-1708" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-35.png 343w, https://couchlearn.com/wp-content/uploads/2022/08/image-35-250x300.png 250w" sizes="(max-width: 343px) 100vw, 343px" /></figure>



<p>You should now see the On Clicked event for your button in the middle editor window.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="303" height="124" src="https://couchlearn.com/wp-content/uploads/2022/08/image-36.png" alt="On Clicked button event" class="wp-image-1709" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-36.png 303w, https://couchlearn.com/wp-content/uploads/2022/08/image-36-300x123.png 300w" sizes="(max-width: 303px) 100vw, 303px" /></figure>



<p>Right click anywhere and type Create Session. Click the option in the menu that shows Create Session.<br><br>Now connect the nodes together using the white arrows as shown below.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="584" height="206" src="https://couchlearn.com/wp-content/uploads/2022/08/image-37.png" alt="Creating the session node" class="wp-image-1710" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-37.png 584w, https://couchlearn.com/wp-content/uploads/2022/08/image-37-300x106.png 300w" sizes="(max-width: 584px) 100vw, 584px" /></figure>



<p>Right click anywhere and type Get Player Controller. Click the option in the menu and connect this to the blue pin. <br><br>After the blue pin is connected, set the Public Connections number to the maximum amount of players you want per game session.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="624" height="222" src="https://couchlearn.com/wp-content/uploads/2022/08/image-38.png" alt="Connecting the player controller and setting the maximum connections to the server" class="wp-image-1711" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-38.png 624w, https://couchlearn.com/wp-content/uploads/2022/08/image-38-300x107.png 300w" sizes="(max-width: 624px) 100vw, 624px" /><figcaption><strong><em>If “Use Lan” is checked the session you create will be only available on your local internet.</em></strong></figcaption></figure>



<h3 class="wp-block-heading">Opening Levels to Multiplayer</h3>



<p>Right click anywhere, type and select the Open Level option and connect this node to the On Success pin.<br><br>To create a multiplayer game using your level, set the “Level Name” pin to the level you wish to play on. In our case, this is FirstPersonExampleMap.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="984" height="218" src="https://couchlearn.com/wp-content/uploads/2022/08/image-39.png" alt="Opening the level the server will use for gameplay" class="wp-image-1712" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-39.png 984w, https://couchlearn.com/wp-content/uploads/2022/08/image-39-300x66.png 300w, https://couchlearn.com/wp-content/uploads/2022/08/image-39-768x170.png 768w" sizes="(max-width: 984px) 100vw, 984px" /></figure>



<p>Lastly, click the drop down arrow and into the Options text box type:</p>



<pre class="wp-block-code"><code>?listen</code></pre>



<p>With these steps complete, the code should look like this.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="857" height="230" src="https://couchlearn.com/wp-content/uploads/2022/08/image-40.png" alt="Configuring the level as a listen server" class="wp-image-1713" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-40.png 857w, https://couchlearn.com/wp-content/uploads/2022/08/image-40-300x81.png 300w, https://couchlearn.com/wp-content/uploads/2022/08/image-40-768x206.png 768w" sizes="(max-width: 857px) 100vw, 857px" /></figure>



<p>This code sets the level up to listen for multiplayer connections as a Listen Server.</p>



<h2 class="wp-block-heading">Connecting to your Multiplayer Session</h2>



<h3 class="wp-block-heading">Finding Sessions</h3>



<p>Finding multiplayer sessions using Unreal Engine 5 blueprints is incredibly simple. <br><br>The Find Sessions node searches and finds the active game sessions for your players to join. It outputs different execution pins based on if it succeeded or failed. The session results are returned as an array.</p>



<p>If you aren’t familiar with arrays <a href="https://couchlearn.com/how-to-use-loops-and-arrays-unreal-engine-4/">click here to learn about arrays in Unreal Engine.</a></p>



<p>Firstly, we need to create the On Clicked button event for our JoinSession button, as we did in the previous step.<br><br>From there, right click and create the Find Sessions and Get Player Controller nodes. Connect this node to the On Clicked event, connect the Get Player Controller node to the blue pin, and set Max Results to 100.<br><br>Max results is the amount of sessions it will try to find.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="567" height="190" src="https://couchlearn.com/wp-content/uploads/2022/08/image-41.png" alt="Adding the find sessions node" class="wp-image-1714" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-41.png 567w, https://couchlearn.com/wp-content/uploads/2022/08/image-41-300x101.png 300w" sizes="(max-width: 567px) 100vw, 567px" /></figure>



<h3 class="wp-block-heading">Joining the Session</h3>



<p>Next, we need to create the Join session node and another Get Player Controller node. We could reuse the previous node but it makes the blueprints easier to read.<br><br>The Join Session node should be connected to the On Success pin on the Find Session node.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="871" height="233" src="https://couchlearn.com/wp-content/uploads/2022/08/image-42.png" alt="Adding and connecting the join session node" class="wp-image-1715" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-42.png 871w, https://couchlearn.com/wp-content/uploads/2022/08/image-42-300x80.png 300w, https://couchlearn.com/wp-content/uploads/2022/08/image-42-768x205.png 768w" sizes="(max-width: 871px) 100vw, 871px" /></figure>



<p>From the Results square pin, drag and let go to open the blueprint node menu. We can then type get and create a Get (a copy) node. </p>



<figure class="wp-block-image size-full"><img decoding="async" width="744" height="466" src="https://couchlearn.com/wp-content/uploads/2022/08/image-43.png" alt="Getting an array element from the Results array" class="wp-image-1716" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-43.png 744w, https://couchlearn.com/wp-content/uploads/2022/08/image-43-300x188.png 300w" sizes="(max-width: 744px) 100vw, 744px" /></figure>



<p>Finally, connect the Dark blue pin of the Get node and connect this to the Search Result input node.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="862" height="333" src="https://couchlearn.com/wp-content/uploads/2022/08/image-44.png" alt="Connecting the result array element to the join session node" class="wp-image-1717" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-44.png 862w, https://couchlearn.com/wp-content/uploads/2022/08/image-44-300x116.png 300w, https://couchlearn.com/wp-content/uploads/2022/08/image-44-768x297.png 768w" sizes="(max-width: 862px) 100vw, 862px" /><figcaption>Your hosting and joining blueprints are now complete!</figcaption></figure>



<h3 class="wp-block-heading">Adding our Widget to the Screen</h3>



<p>To make our widget show on the screen, firstly click the branch icon in the main editor window shown below.<br><br>In the drop down menu click Open Level Blueprint to open the Level Blueprint Editor.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="928" height="448" src="https://couchlearn.com/wp-content/uploads/2022/08/image-46.png" alt="Opening the level blueprint editor" class="wp-image-1719" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-46.png 928w, https://couchlearn.com/wp-content/uploads/2022/08/image-46-300x145.png 300w, https://couchlearn.com/wp-content/uploads/2022/08/image-46-768x371.png 768w" sizes="(max-width: 928px) 100vw, 928px" /></figure>



<p>Right click anywhere and create the Event Begin Play and Create Widget blueprint nodes.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="410" height="114" src="https://couchlearn.com/wp-content/uploads/2022/08/image-49.png" alt="Creating the create widget node" class="wp-image-1722" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-49.png 410w, https://couchlearn.com/wp-content/uploads/2022/08/image-49-300x83.png 300w" sizes="(max-width: 410px) 100vw, 410px" /></figure>



<p>Connect the white pins together and select your widget in the Class drop down box.<br><br>In our case we named the widget SessionWidget to make it easy to find in the drop down box.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="621" height="313" src="https://couchlearn.com/wp-content/uploads/2022/08/image-48.png" alt="Setting the widget class to spawn to SessionWidget created earlier" class="wp-image-1721" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-48.png 621w, https://couchlearn.com/wp-content/uploads/2022/08/image-48-300x151.png 300w" sizes="(max-width: 621px) 100vw, 621px" /></figure>



<p>Lastly, create an Add to Viewport blueprint node and connect the blue pins together. This will create our widget and then add to the game screen.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="755" height="194" src="https://couchlearn.com/wp-content/uploads/2022/08/image-50.png" alt="Adding the newly spawned widget to the game viewport" class="wp-image-1723" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-50.png 755w, https://couchlearn.com/wp-content/uploads/2022/08/image-50-300x77.png 300w" sizes="(max-width: 755px) 100vw, 755px" /></figure>



<p>The final level blueprint should look like this.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="751" height="206" src="https://couchlearn.com/wp-content/uploads/2022/08/image-51.png" alt="Finished level blueprint" class="wp-image-1724" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-51.png 751w, https://couchlearn.com/wp-content/uploads/2022/08/image-51-300x82.png 300w" sizes="(max-width: 751px) 100vw, 751px" /></figure>



<h3 class="wp-block-heading">Opening the Game Clients</h3>



<p>For the last step we need to test our blueprint logic!<br><br>Unreal Engine 5 makes testing multiplayer in the editor extremely simple.<br><br>First, click the three dot button and, in the drop down menu, set Number of Players to 2. After that click New Editor Window to launch two windows of your game.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="801" height="533" src="https://couchlearn.com/wp-content/uploads/2022/08/image-55.png" alt="Opening two game clients in the Unreal Engine 5 editor" class="wp-image-1728" srcset="https://couchlearn.com/wp-content/uploads/2022/08/image-55.png 801w, https://couchlearn.com/wp-content/uploads/2022/08/image-55-300x200.png 300w, https://couchlearn.com/wp-content/uploads/2022/08/image-55-768x511.png 768w" sizes="(max-width: 801px) 100vw, 801px" /></figure>



<p>Once the two clients have loaded, click Create Session on one and Join Session on the other. After a short amount of time they will connect together in a multiplayer session!<br><br>As you can see in the demo below, the players can move around and see each other moving without any additional work! The template character in Unreal Engine 5 have multiplayer movement support out of the box.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="696" height="369" src="https://couchlearn.com/wp-content/uploads/2022/08/multiplayersessionsue5.gif" alt="Demonstration showing multiplayer functionality through Unreal Engine 5 sessions" class="wp-image-1729"/></figure>



<h3 class="wp-block-heading">Connecting to Sessions Outside your Local Internet Network</h3>



<p>The session and listen server created in this guide can be connected to inside your local network by default and world wide through the internet with a few additional steps.</p>



<p>If you wish to host your session to global internet users, you need to <strong>port forward</strong> UDP/TCP 7777. Setting up port forwarding is different per router so check your specific router instructions.</p>



<p><a href="https://en.wikipedia.org/wiki/Port_forwarding">If you don’t know what port forwarding is click here.</a></p>



<h2 class="wp-block-heading">Download the Project Files</h2>



<p>We create these free guides and resources on Game Development to give anyone the knowledge to make their own games. If you find these guides helpful please consider supporting us by purchasing our project files.<br><br><strong>To improve your multiplayer sessions gameplay, we have bundled a session browser into the project files!</strong></p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<script src="https://gumroad.com/js/gumroad-embed.js"></script>
<div class="gumroad-product-embed"><a href="https://couchlearn.gumroad.com/l/ipoxq">Loading&#8230;</a></div>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<script src="https://gumroad.com/js/gumroad-embed.js"></script>
<div class="gumroad-product-embed"><a href="https://couchlearn.gumroad.com/l/mmshe">Loading&#8230;</a></div>
</div>
</div>



<h2 class="wp-block-heading">Conclusion</h2>



<p>Your project can now create and join multiplayer sessions!</p>



<p>This guide was created to make the initial multiplayer setup as easy as possible. Unreal Engine 5 has extremely robust and powerful multiplayer tools to make any multiplayer game you want!</p>



<p>To learn more about replication and the session system, the Unreal Engine documentation is the best place to improve your knowledge about multiplayer development.</p>



<p><a href="https://wiki.unrealengine.com/Replication">Click here to read more about Replication.</a></p>



<p><a href="https://docs.unrealengine.com/en-US/Engine/Blueprints/UserGuide/OnlineNodes/index.html">Clic</a><a href="https://docs.unrealengine.com/en-US/Engine/Blueprints/UserGuide/OnlineNodes/index.html"></a><a href="https://docs.unrealengine.com/en-US/Engine/Blueprints/UserGuide/OnlineNodes/index.html">k here to read more about the session system nodes.</a></p>
<p>The post <a href="https://couchlearn.com/how-to-use-multiplayer-sessions-in-unreal-engine-5/">How to use Multiplayer Sessions in Unreal Engine 5</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://couchlearn.com/how-to-use-multiplayer-sessions-in-unreal-engine-5/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Multiplayer Damage and Health System in Unreal Engine 4</title>
		<link>https://couchlearn.com/multiplayer-damage-and-health-system-in-unreal-engine-4/</link>
					<comments>https://couchlearn.com/multiplayer-damage-and-health-system-in-unreal-engine-4/#respond</comments>
		
		<dc:creator><![CDATA[Matt]]></dc:creator>
		<pubDate>Thu, 06 Aug 2020 02:20:35 +0000</pubDate>
				<category><![CDATA[Medium Difficulty]]></category>
		<category><![CDATA[Multiplayer]]></category>
		<category><![CDATA[Unreal Engine]]></category>
		<category><![CDATA[health and damage]]></category>
		<category><![CDATA[multiplayer]]></category>
		<category><![CDATA[ue4]]></category>
		<category><![CDATA[ue4 damage]]></category>
		<category><![CDATA[ue4 fps]]></category>
		<category><![CDATA[ue4 health]]></category>
		<category><![CDATA[ue4 health and damage]]></category>
		<category><![CDATA[ue4 multiplayer]]></category>
		<category><![CDATA[ue4 multiplayer fps]]></category>
		<category><![CDATA[unreal engine damage]]></category>
		<category><![CDATA[unreal engine health]]></category>
		<category><![CDATA[unreal engine multiplayer]]></category>
		<guid isPermaLink="false">https://couchlearn.com/?p=1045</guid>

					<description><![CDATA[<p>Unreal Engine 4 contains a powerful multiplayer compatible damage system that works with all actor types. This system easily allows you to create a Multiplayer <a class="mh-excerpt-more" href="https://couchlearn.com/multiplayer-damage-and-health-system-in-unreal-engine-4/" title="Multiplayer Damage and Health System in Unreal Engine 4">[...]</a></p>
<p>The post <a href="https://couchlearn.com/multiplayer-damage-and-health-system-in-unreal-engine-4/">Multiplayer Damage and Health System in Unreal Engine 4</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Unreal Engine 4 contains a powerful multiplayer compatible damage system that works with all actor types.<br><br>This system easily allows you to create a Multiplayer Damage and Health System in Unreal Engine 4 only using blueprints.</p>



<h3 class="wp-block-heading">Prerequisites</h3>



<p>This guide expects that you understand how to use basic nodes such as branch, get player controller and input actions / events.<br><br>If you do not know how to use input actions in Unreal Engine 4 <a href="https://couchlearn.com/how-to-use-input-actions-and-input-axis-mappings-in-your-unreal-engine-4-game/">click here to read our guide.</a><br><br>This guide also expects that you know what a line trace is and how to set them up for a first person style game.<br><br>If you do not know how to setup first person line traces <a href="https://couchlearn.com/basic-first-person-line-trace-in-unreal-engine-4/">click here to read our guide.</a></p>



<h3 class="wp-block-heading">How Unreal&#8217;s Damage System works</h3>



<h4 class="wp-block-heading">How to Deal Damage</h4>



<p>The most basic way to deal damage to another actor is to use the &#8220;Apply Damage&#8221; node.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="306" height="286" src="https://couchlearn.com/wp-content/uploads/2020/08/image.png" alt="The apply damage node with the damage set to 15.0" class="wp-image-1197" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image.png 306w, https://couchlearn.com/wp-content/uploads/2020/08/image-300x280.png 300w" sizes="(max-width: 306px) 100vw, 306px" /></figure>



<p>Here are the important variables to set:<br><br><strong>Damaged Actor</strong> &#8211; The actor that you want to damage<br><strong>Base Damage</strong> &#8211; The amount of damage to apply to the damaged actor<br><strong>Damage Causer</strong> &#8211; The actor that applied the damage to the damaged actor</p>



<h4 class="wp-block-heading">How to Detect Damage</h4>



<p>When added to any actors event graph, the &#8220;Event AnyDamage&#8221; event node runs every time the actor is damaged.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="189" height="193" src="https://couchlearn.com/wp-content/uploads/2020/08/image-1.png" alt="The AnyDamage event that runs every time your actor is damaged" class="wp-image-1199"/></figure>



<p>Here are the important variables to use from the event node:<br><br><strong>Damage</strong> &#8211; The amount of damage that is detected<br><strong>Damage Causer</strong> &#8211; The actor that dealt the damage</p>



<h3 class="wp-block-heading">Creating the Weapon Damage Nodes</h3>



<p><strong>We recommend using the default First Person Shooter template for this guide. </strong><br><br>This damage system works will all game types but when learning a new system it is easier to have a template that works well before you start.<br><br>The First Person Shooter template has a player character setup with movement, mouse aiming, arm and gun models and animations.</p>



<h4 class="wp-block-heading">Requesting to Shoot to the server</h4>



<p>Firstly, to make the weapon damage run correctly on multiplayer, create a new custom event called &#8220;Net Shoot Weapon&#8221;.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="410" height="122" src="https://couchlearn.com/wp-content/uploads/2020/08/image-2.png" alt="Creating the custom event to fire the weapon on the server" class="wp-image-1200" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-2.png 410w, https://couchlearn.com/wp-content/uploads/2020/08/image-2-300x89.png 300w" sizes="(max-width: 410px) 100vw, 410px" /></figure>



<p>Then click the new event (Net Shoot Weapon) and in the detail panel on the right of the screen change the &#8220;Replicates&#8221; drop down box to &#8220;Run on Server&#8221;.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="476" height="283" src="https://couchlearn.com/wp-content/uploads/2020/08/image-4.png" alt="Setting the Net Shoot Event to run on the server" class="wp-image-1202" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-4.png 476w, https://couchlearn.com/wp-content/uploads/2020/08/image-4-300x178.png 300w" sizes="(max-width: 476px) 100vw, 476px" /></figure>



<p>Changing this setting will now run this event from the client to the server. This prevents cheating as all damage and collision checking will be done server side.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="181" height="104" src="https://couchlearn.com/wp-content/uploads/2020/08/image-6.png" alt="The custom network compatible Net Shoot Weapon event" class="wp-image-1207"/><figcaption>This event called on the client is only run on the server</figcaption></figure>



<p>Next create an InputAction Fire event (included in the first person shooter template) and create a Net Shoot Weapon node to the Pressed pin.<br><br>This will send a message to the server to shoot your gun and calculate the </p>



<figure class="wp-block-image size-large"><img decoding="async" width="452" height="170" src="https://couchlearn.com/wp-content/uploads/2020/08/image-3.png" alt="Telling the server to fire when the fire button event is pressed" class="wp-image-1201" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-3.png 452w, https://couchlearn.com/wp-content/uploads/2020/08/image-3-300x113.png 300w" sizes="(max-width: 452px) 100vw, 452px" /></figure>



<p>Finally for this section to be complete, connect the animation and sound effect blueprint nodes from the template to the Net Shoot Weapon execution pin.<br><br>This complete section will look like this:</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="421" src="https://couchlearn.com/wp-content/uploads/2020/08/image-5-1024x421.png" alt="The complete firing code on the client" class="wp-image-1206" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-5-1024x421.png 1024w, https://couchlearn.com/wp-content/uploads/2020/08/image-5-300x123.png 300w, https://couchlearn.com/wp-content/uploads/2020/08/image-5-768x316.png 768w, https://couchlearn.com/wp-content/uploads/2020/08/image-5.png 1137w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h4 class="wp-block-heading">Syncing the Animation and Sounds</h4>



<p>The animation and sound effects running on the previous step don&#8217;t currently run for other players.<br><br>To play the animation and sound for this player on everyone else&#8217;s screens we need to create a multi cast event.<br><br>Firstly, add a new custom event named &#8220;Multi Weapon Animation&#8221;.</p>



<figure class="wp-block-image"><img decoding="async" src="https://couchlearn.com/wp-content/uploads/2020/08/image-2.png" alt="Creating the custom event to fire the weapon on the server"/></figure>



<p>And change the &#8220;Replicates&#8221; to &#8220;Multicast&#8221;.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="479" height="247" src="https://couchlearn.com/wp-content/uploads/2020/08/image-7.png" alt="Changing the replicates property of the event to Multicast" class="wp-image-1208" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-7.png 479w, https://couchlearn.com/wp-content/uploads/2020/08/image-7-300x155.png 300w" sizes="(max-width: 479px) 100vw, 479px" /></figure>



<p>Create a branch node, a Get Player Controller node and a Get Controller node.<br><br>From the Get Player Controller node create an equals node and connect the &#8220;Get Controller&#8221; node to the bottom pin as shown below.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="428" height="305" src="https://couchlearn.com/wp-content/uploads/2020/08/image-9.png" alt="Preventing the animation and sound from playing twice on the client" class="wp-image-1210" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-9.png 428w, https://couchlearn.com/wp-content/uploads/2020/08/image-9-300x214.png 300w" sizes="(max-width: 428px) 100vw, 428px" /><figcaption>This is done to prevent the animation playing twice on the owning players screen.</figcaption></figure>



<p>The last nodes required for this step can be copied and pasted from the step above.<br><br>The complete section looks like this:</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="433" src="https://couchlearn.com/wp-content/uploads/2020/08/image-10-1024x433.png" alt="The complete multicast animation and sound effects event for the clients" class="wp-image-1211" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-10-1024x433.png 1024w, https://couchlearn.com/wp-content/uploads/2020/08/image-10-300x127.png 300w, https://couchlearn.com/wp-content/uploads/2020/08/image-10-768x325.png 768w, https://couchlearn.com/wp-content/uploads/2020/08/image-10.png 1097w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Multicast events run for all clients</figcaption></figure>



<h4 class="wp-block-heading">Server-side Weapon Shooting</h4>



<p>Firstly, from the &#8220;Net Shoot Weapon&#8221; event created earlier in this guide, we need to create a &#8220;Multi Weapon Animation&#8221; node and connect it together. <br><br>This will sync the animation and sound to all clients on the server whenever a player shoots.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="464" height="135" src="https://couchlearn.com/wp-content/uploads/2020/08/image-11.png" alt="Running the Multi Weapon Animation event from the server to sync all animations and sounds for all clients" class="wp-image-1213" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-11.png 464w, https://couchlearn.com/wp-content/uploads/2020/08/image-11-300x87.png 300w" sizes="(max-width: 464px) 100vw, 464px" /></figure>



<p>To damage another actor when the request is received, we first will need to use a Line Trace for Objects node.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="589" src="https://couchlearn.com/wp-content/uploads/2020/08/image-27-1024x589.png" alt="Connecting the line trace for objects node to the server shoot weapon event" class="wp-image-1241" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-27-1024x589.png 1024w, https://couchlearn.com/wp-content/uploads/2020/08/image-27-300x173.png 300w, https://couchlearn.com/wp-content/uploads/2020/08/image-27-768x442.png 768w, https://couchlearn.com/wp-content/uploads/2020/08/image-27.png 1055w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>This line trace runs on the server when called and uses the server&#8217;s state to prevent cheating.</figcaption></figure>



<p>If you do not know how to setup a line trace <a href="https://couchlearn.com/basic-first-person-line-trace-in-unreal-engine-4/">click here to read our guide on first person line traces in Unreal Engine 4</a><br><br>From the line trace we need to create an &#8220;Apply Damage&#8221; node and connect the &#8220;Hit Actor&#8221; pin from the &#8220;Break Hit Result&#8221; node to the &#8220;Damaged Actor&#8221; pin on the &#8220;Apply Damage&#8221; node.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="529" height="400" src="https://couchlearn.com/wp-content/uploads/2020/08/image-29.png" alt="A close up of the break hit result connecting to the Apply Damage node" class="wp-image-1243" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-29.png 529w, https://couchlearn.com/wp-content/uploads/2020/08/image-29-300x227.png 300w" sizes="(max-width: 529px) 100vw, 529px" /></figure>



<p>Set the &#8220;Base Damage&#8221; value to the damage that you want your weapon to deal. (We used 15.0 in this case)</p>



<figure class="wp-block-image size-large"><img decoding="async" width="299" height="127" src="https://couchlearn.com/wp-content/uploads/2020/08/image-30.png" alt="Setting the base damage to 15.0 of the Apply Damage node" class="wp-image-1244"/></figure>



<p>Lastly, create a Self node and connect it to the &#8220;Damage Causer&#8221; pin.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="410" height="109" src="https://couchlearn.com/wp-content/uploads/2020/08/image-32.png" alt="Creating a reference to self" class="wp-image-1246" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-32.png 410w, https://couchlearn.com/wp-content/uploads/2020/08/image-32-300x80.png 300w" sizes="(max-width: 410px) 100vw, 410px" /></figure>



<p>After all these steps, the line trace connections should look like this:</p>



<figure class="wp-block-image size-large"><img decoding="async" width="887" height="565" src="https://couchlearn.com/wp-content/uploads/2020/08/image-28.png" alt="The last step to complete the Line Trace for Objects node and apply damage node." class="wp-image-1242" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-28.png 887w, https://couchlearn.com/wp-content/uploads/2020/08/image-28-300x191.png 300w, https://couchlearn.com/wp-content/uploads/2020/08/image-28-768x489.png 768w" sizes="(max-width: 887px) 100vw, 887px" /></figure>



<p>And here is the complete Net Shoot Weapon event blueprint nodes:</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="449" src="https://couchlearn.com/wp-content/uploads/2020/08/image-31-1024x449.png" alt="The complete server side system to apply damage to the target actor" class="wp-image-1245" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-31-1024x449.png 1024w, https://couchlearn.com/wp-content/uploads/2020/08/image-31-300x132.png 300w, https://couchlearn.com/wp-content/uploads/2020/08/image-31-768x337.png 768w, https://couchlearn.com/wp-content/uploads/2020/08/image-31.png 1373w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h4 class="wp-block-heading">Receiving the Damage</h4>



<p>Firstly create an AnyDamage event in the actor that you want to receive damage.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="198" height="188" src="https://couchlearn.com/wp-content/uploads/2020/08/image-34.png" alt="Creating the AnyDamage event" class="wp-image-1249"/></figure>



<p>Create a new variable named &#8220;Health&#8221; with the type of float. This will be used to store the amount of health the actor has.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="348" height="122" src="https://couchlearn.com/wp-content/uploads/2020/08/image-35.png" alt="Creating the health variable" class="wp-image-1250" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-35.png 348w, https://couchlearn.com/wp-content/uploads/2020/08/image-35-300x105.png 300w" sizes="(max-width: 348px) 100vw, 348px" /></figure>



<p>Set the default value of the &#8220;Health&#8221; variable to 100 (or whichever you want your actors max health to be)</p>



<figure class="wp-block-image size-large"><img decoding="async" width="330" height="60" src="https://couchlearn.com/wp-content/uploads/2020/08/image-36.png" alt="Setting the default value of the health variable to 100" class="wp-image-1251" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-36.png 330w, https://couchlearn.com/wp-content/uploads/2020/08/image-36-300x55.png 300w" sizes="(max-width: 330px) 100vw, 330px" /></figure>



<p>Next create a Get node for Health, subtract Damage from Health and then set Health to this new value.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="516" height="259" src="https://couchlearn.com/wp-content/uploads/2020/08/image-37.png" alt="Calculating the remaining health after dealing the damage" class="wp-image-1252" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-37.png 516w, https://couchlearn.com/wp-content/uploads/2020/08/image-37-300x151.png 300w" sizes="(max-width: 516px) 100vw, 516px" /></figure>



<p>From the Set Health node create a &#8220;Less than or Equal&#8221; node, create a branch node and connect them together. This checks if the player&#8217;s health is less than or equal to zero after taking the damage</p>



<figure class="wp-block-image size-large"><img decoding="async" width="617" height="269" src="https://couchlearn.com/wp-content/uploads/2020/08/image-38.png" alt="Checking if the players new health is less than or equal to zero" class="wp-image-1253" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-38.png 617w, https://couchlearn.com/wp-content/uploads/2020/08/image-38-300x131.png 300w" sizes="(max-width: 617px) 100vw, 617px" /><figcaption>Checking if the actor has no health remaining</figcaption></figure>



<p>Finally, on the True execution pin create a &#8220;SetActorLocation&#8221; node and set the New Location value to where you want your actors to respawn when they run out of health.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="309" src="https://couchlearn.com/wp-content/uploads/2020/08/image-39-1024x309.png" alt="If the actor's health is less than or equal to zero" class="wp-image-1255" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-39-1024x309.png 1024w, https://couchlearn.com/wp-content/uploads/2020/08/image-39-300x91.png 300w, https://couchlearn.com/wp-content/uploads/2020/08/image-39-768x232.png 768w, https://couchlearn.com/wp-content/uploads/2020/08/image-39.png 1127w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Here is the complete Event AnyDamage blueprint nodes:</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="200" src="https://couchlearn.com/wp-content/uploads/2020/08/image-40-1024x200.png" alt="The complete Event AnyDamage blueprint nodes" class="wp-image-1256" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-40-1024x200.png 1024w, https://couchlearn.com/wp-content/uploads/2020/08/image-40-300x59.png 300w, https://couchlearn.com/wp-content/uploads/2020/08/image-40-768x150.png 768w, https://couchlearn.com/wp-content/uploads/2020/08/image-40.png 1410w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">Demonstration</h3>



<figure class="wp-block-image size-large"><img decoding="async" width="800" height="269" src="https://couchlearn.com/wp-content/uploads/2020/08/healthdamage.gif" alt="The multiplayer FPS health and damage system working in engine." class="wp-image-1257"/><figcaption>Players being hit with damage and respawning when running out of health.</figcaption></figure>



<p><em>To visualise the health of the hit player easier we added a &#8220;Print String&#8221; node here:</em></p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="295" src="https://couchlearn.com/wp-content/uploads/2020/08/image-41-1024x295.png" alt="Easily debugging player health by adding a print string node" class="wp-image-1258" srcset="https://couchlearn.com/wp-content/uploads/2020/08/image-41-1024x295.png 1024w, https://couchlearn.com/wp-content/uploads/2020/08/image-41-300x86.png 300w, https://couchlearn.com/wp-content/uploads/2020/08/image-41-768x221.png 768w, https://couchlearn.com/wp-content/uploads/2020/08/image-41.png 1416w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">Download the Project Files</h3>



<script src="https://gumroad.com/js/gumroad-embed.js"></script>
<div class="gumroad-product-embed" data-gumroad-product-id="hqpJJ"><a href="https://gumroad.com/l/hqpJJ">Loading&#8230;</a></div>



<h3 class="wp-block-heading">Conclusion</h3>



<p>Now your game or project has a fully multiplayer compatible damage system all using blueprints!</p>



<h4 class="wp-block-heading"><strong>Expanding this System</strong></h4>



<p>To improve this system you could add a widget to the screen showing when a player is defeated and with what weapon they were defeated by.<br><br>Another way to improve this shooter style game would be to add attenuation to the shooting sound effects. <br><br>This would reduce the volume over distance and make the game more realistic. <a href="https://couchlearn.com/simple-audio-attenuation-in-unreal-engine-4/">Click here to check out our guide on attenuation in Unreal Engine 4.</a><br><br>Lastly, try expanding from this guide by creating AI character with health and damage with our easy AI movement guide. <a href="https://couchlearn.com/easy-ai-movement-in-unreal-engine-4/">https://couchlearn.com/easy-ai-movement-in-unreal-engine-4/</a></p>



<h4 class="wp-block-heading">Further Reading</h4>



<p>Unreal Engine&#8217;s blog post on their damage system: <a href="https://www.unrealengine.com/en-US/blog/damage-in-ue4#:~:text=Damage%20support%20is%20a%20feature,your%20damage%20model%20when%20needed.">https://www.unrealengine.com/en-US/blog/damage-in-ue4#:~:text=Damage%20support%20is%20a%20feature,your%20damage%20model%20when%20needed.</a><br><br>The full damage blueprint node documentation can be found here: <a href="https://docs.unrealengine.com/en-US/BlueprintAPI/Game/Damage/index.html">https://docs.unrealengine.com/en-US/BlueprintAPI/Game/Damage/index.html</a></p>
<p>The post <a href="https://couchlearn.com/multiplayer-damage-and-health-system-in-unreal-engine-4/">Multiplayer Damage and Health System in Unreal Engine 4</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://couchlearn.com/multiplayer-damage-and-health-system-in-unreal-engine-4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to use Multiplayer Sessions in your Unreal Engine 4 game</title>
		<link>https://couchlearn.com/multiplayer-sessions-in-your-unreal-engine-4-game/</link>
					<comments>https://couchlearn.com/multiplayer-sessions-in-your-unreal-engine-4-game/#comments</comments>
		
		<dc:creator><![CDATA[Matt]]></dc:creator>
		<pubDate>Wed, 31 Jul 2019 17:25:05 +0000</pubDate>
				<category><![CDATA[Medium Difficulty]]></category>
		<category><![CDATA[Multiplayer]]></category>
		<category><![CDATA[Unreal Engine]]></category>
		<category><![CDATA[multiplayer]]></category>
		<category><![CDATA[multiplayer session]]></category>
		<category><![CDATA[sessions]]></category>
		<category><![CDATA[ue4]]></category>
		<category><![CDATA[ue4 multiplayer]]></category>
		<category><![CDATA[unreal engine]]></category>
		<category><![CDATA[unreal engine multiplayer]]></category>
		<category><![CDATA[unreal engine sessions]]></category>
		<guid isPermaLink="false">https://couchlearn.com/?p=382</guid>

					<description><![CDATA[<p>The Session System in Unreal Engine 4 gives you access to many powerful online features such as the server browser, setting a maximum player limits, <a class="mh-excerpt-more" href="https://couchlearn.com/multiplayer-sessions-in-your-unreal-engine-4-game/" title="How to use Multiplayer Sessions in your Unreal Engine 4 game">[...]</a></p>
<p>The post <a href="https://couchlearn.com/multiplayer-sessions-in-your-unreal-engine-4-game/">How to use Multiplayer Sessions in your Unreal Engine 4 game</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>The Session System in Unreal Engine 4 gives you access to many powerful online features such as the server browser, setting a maximum player limits, setting private and public slots and much more. </p>



<p>Using this system is very straightforward and only takes a few blueprint nodes to get working. </p>



<p>In this guide I will show you how to setup multiplayer in Unreal Engine 4 using the session system. We will setup a simple session and connect to it through another player.</p>



<h3 class="wp-block-heading">Online and LAN Support</h3>



<p>Unreal Engine&#8217;s default online subsystem can not find sessions outside of the local network the player is in.<br><br>To find and connect to sessions outside of your local network without a direct IP address connection you will need to use a different subsystem such as Steam.<br><br><a href="https://docs.unrealengine.com/en-US/Programming/Online/Steam/index.html"><em>Click here to read the documentation for the Steam subsystem</em></a></p>



<h2 class="wp-block-heading">Starting a Multiplayer Session</h2>



<h3 class="wp-block-heading">Creating the Session</h3>



<p>To start I created a simple widget with two buttons. One is host and one is play.</p>



<p>On the host button event use the create session blueprint node.</p>



<figure class="wp-block-image"><img decoding="async" width="545" height="167" src="https://couchlearn.com/wp-content/uploads/2019/07/image-81.png" alt="Creating the session" class="wp-image-643" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-81.png 545w, https://couchlearn.com/wp-content/uploads/2019/07/image-81-300x92.png 300w" sizes="(max-width: 545px) 100vw, 545px" /></figure>



<p>On the player controller pin, connect a &#8220;Get Player Controller&#8221; node and for the public connections pin set it to the maximum amount of players you want for this game. </p>



<p><strong>Public connections is the maximum amount of players that can be connected to your server at once.</strong></p>



<figure class="wp-block-image"><img decoding="async" width="543" height="169" src="https://couchlearn.com/wp-content/uploads/2019/07/image-82.png" alt="Adding the nodes to the Create Session node" class="wp-image-644" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-82.png 543w, https://couchlearn.com/wp-content/uploads/2019/07/image-82-300x93.png 300w" sizes="(max-width: 543px) 100vw, 543px" /></figure>



<p>If &#8220;Use Lan&#8221; is checked the session you create will be only available on your local internet. </p>



<h3 class="wp-block-heading">Opening Levels to Multiplayer</h3>



<p>To create a multiplayer game using your level, add a new &#8220;Open Level&#8221; node and set the &#8220;Level Name&#8221; pin to the level you wish to play on. In my case this is FirstPersonExampleMap.</p>



<figure class="wp-block-image"><img decoding="async" width="247" height="145" src="https://couchlearn.com/wp-content/uploads/2019/07/image-84.png" alt="Opening the level" class="wp-image-646"/></figure>



<p>The important step is to click the triangle at the bottom of this node to expose the extra settings.</p>



<figure class="wp-block-image"><img decoding="async" width="243" height="135" src="https://couchlearn.com/wp-content/uploads/2019/07/image-86.png" alt="Additional settings when opening the level" class="wp-image-649"/></figure>



<p>The &#8220;Absolute&#8221; checkbox and the &#8220;Options&#8221; text box pins are now visible. In the Options pin type exactly:</p>



<pre class="wp-block-code"><code>?listen</code></pre>



<p>This code sets the level up to listen for multiplayer connections as a Listen Server.</p>



<figure class="wp-block-image"><img decoding="async" width="249" height="205" src="https://couchlearn.com/wp-content/uploads/2019/07/image-85.png" alt="Adding ?listen to the additional settings." class="wp-image-648"/></figure>



<p>With these steps complete, the code should look like this.</p>



<figure class="wp-block-image"><img decoding="async" width="799" height="244" src="https://couchlearn.com/wp-content/uploads/2019/07/image-83.png" alt="Complete host code" class="wp-image-645" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-83.png 799w, https://couchlearn.com/wp-content/uploads/2019/07/image-83-300x92.png 300w, https://couchlearn.com/wp-content/uploads/2019/07/image-83-768x235.png 768w" sizes="(max-width: 799px) 100vw, 799px" /></figure>



<h2 class="wp-block-heading">Connecting to your Multiplayer Session</h2>



<h3 class="wp-block-heading">Finding Sessions</h3>



<p>Finding sessions using blueprints is simple. The Find Sessions node handles all this for us. It outputs different execution pins based on if it succeeded or failed and the results that it found as an array.</p>



<p>If you aren&#8217;t familiar with arrays <a href="https://couchlearn.com/how-to-use-loops-and-arrays-unreal-engine-4/">click here to learn about arrays in Unreal Engine 4.</a></p>



<p>To start I created the Find Sessions node attached to the Play button in my widget.</p>



<figure class="wp-block-image"><img decoding="async" width="509" height="165" src="https://couchlearn.com/wp-content/uploads/2019/07/image-87.png" alt="Find sessions node" class="wp-image-650" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-87.png 509w, https://couchlearn.com/wp-content/uploads/2019/07/image-87-300x97.png 300w" sizes="(max-width: 509px) 100vw, 509px" /></figure>



<p>On the player controller pin connect a &#8220;Get Player Controller&#8221; node and the Max Results pin is set to 100.</p>



<figure class="wp-block-image"><img decoding="async" width="517" height="180" src="https://couchlearn.com/wp-content/uploads/2019/07/image-88.png" alt="Adding nodes to the Find Sessions node" class="wp-image-652" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-88.png 517w, https://couchlearn.com/wp-content/uploads/2019/07/image-88-300x104.png 300w" sizes="(max-width: 517px) 100vw, 517px" /></figure>



<p>The Use Lan checkbox, if checked, will only search for sessions in your local area.</p>



<h3 class="wp-block-heading">Joining the Session</h3>



<p>To join a session in Unreal Engine 4, create a Join Session node.</p>



<p>This node requires the player&#8217;s controller and a session from the Find Sessions array in the previous step.</p>



<figure class="wp-block-image"><img decoding="async" width="248" height="135" src="https://couchlearn.com/wp-content/uploads/2019/07/image-89.png" alt="Join session node" class="wp-image-653"/></figure>



<p>Firstly I will create a Get Player Controller node and attach it to the Join Session node.</p>



<figure class="wp-block-image"><img decoding="async" width="276" height="211" src="https://couchlearn.com/wp-content/uploads/2019/07/image-90.png" alt="Adding the player controller to the Join Session node" class="wp-image-654"/></figure>



<p>From the Results output pin of the Find Sessions node in the previous step I created a Get node. This will find the first session in the list.</p>



<figure class="wp-block-image"><img decoding="async" width="548" height="319" src="https://couchlearn.com/wp-content/uploads/2019/07/image-91.png" alt="Getting session results from the Find Session node" class="wp-image-655" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-91.png 548w, https://couchlearn.com/wp-content/uploads/2019/07/image-91-300x175.png 300w" sizes="(max-width: 548px) 100vw, 548px" /></figure>



<p>This is then attached to the Search Results input pin of the Join Session node.</p>



<figure class="wp-block-image"><img decoding="async" width="551" height="320" src="https://couchlearn.com/wp-content/uploads/2019/07/image-94.png" alt="Attaching the found session to the join session node." class="wp-image-658" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-94.png 551w, https://couchlearn.com/wp-content/uploads/2019/07/image-94-300x174.png 300w" sizes="(max-width: 551px) 100vw, 551px" /></figure>



<p>Finally, the Join Session node is attached to the On Success execution pin of the Find Sessions node.</p>



<figure class="wp-block-image"><img decoding="async" width="552" height="316" src="https://couchlearn.com/wp-content/uploads/2019/07/image-93.png" alt="Attaching the join session node to the on success pin of the find sessions node" class="wp-image-657" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-93.png 552w, https://couchlearn.com/wp-content/uploads/2019/07/image-93-300x172.png 300w" sizes="(max-width: 552px) 100vw, 552px" /></figure>



<h3 class="wp-block-heading">Opening the Game Clients</h3>



<p>In Unreal Engine 4, there is a drop down menu next to the play button which gives you access to multiplayer options.</p>



<p>On this menu make sure &#8220;New Editor Window (PIE)&#8221; is selected and the &#8220;Number of Players&#8221; slider is set to anything above 1.</p>



<p>Next, click the Advanced Settings button at the bottom of the menu.</p>



<figure class="wp-block-image"><img decoding="async" width="425" height="465" src="https://couchlearn.com/wp-content/uploads/2019/07/image-95.png" alt="Play settings in Unreal Engine 4" class="wp-image-659" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-95.png 425w, https://couchlearn.com/wp-content/uploads/2019/07/image-95-274x300.png 274w" sizes="(max-width: 425px) 100vw, 425px" /></figure>



<p>Near the bottom of the Advanced Settings menu, find the a section called Multiplayer Options.</p>



<p><strong>Un-tick</strong> the checkbox &#8220;Auto Connect to Server&#8221;. This prevents the server auto connecting without the session system.</p>



<figure class="wp-block-image"><img decoding="async" width="669" height="217" src="https://couchlearn.com/wp-content/uploads/2019/07/image-96.png" alt="Advanced play settings" class="wp-image-660" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-96.png 669w, https://couchlearn.com/wp-content/uploads/2019/07/image-96-300x97.png 300w" sizes="(max-width: 669px) 100vw, 669px" /></figure>



<p>Finally, when you press the play button in your editor two clients will open.</p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="550" src="https://couchlearn.com/wp-content/uploads/2019/07/image-97-1024x550.png" alt="Playing with two clients" class="wp-image-661" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-97-1024x550.png 1024w, https://couchlearn.com/wp-content/uploads/2019/07/image-97-300x161.png 300w, https://couchlearn.com/wp-content/uploads/2019/07/image-97-768x413.png 768w, https://couchlearn.com/wp-content/uploads/2019/07/image-97.png 1837w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>The custom widget discussed earlier,  displays the Host button and Play buttons.</p>



<p>On the first client I pressed the Host button. This reloaded the level.</p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="576" src="https://couchlearn.com/wp-content/uploads/2019/07/image-98-1024x576.png" alt="Hosting the game" class="wp-image-662" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-98-1024x576.png 1024w, https://couchlearn.com/wp-content/uploads/2019/07/image-98-300x169.png 300w, https://couchlearn.com/wp-content/uploads/2019/07/image-98-768x432.png 768w, https://couchlearn.com/wp-content/uploads/2019/07/image-98.png 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>On the second client I pressed the Play button and waited until the Find Sessions node had finished searching for multiplayer sessions.</p>



<p>Once this finished it auto connected me into the first clients game.</p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="486" src="https://couchlearn.com/wp-content/uploads/2019/07/image-100-1024x486.png" alt="Joining the game and showing two players connected to the same game" class="wp-image-664" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-100-1024x486.png 1024w, https://couchlearn.com/wp-content/uploads/2019/07/image-100-300x142.png 300w, https://couchlearn.com/wp-content/uploads/2019/07/image-100-768x364.png 768w, https://couchlearn.com/wp-content/uploads/2019/07/image-100.png 1891w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">Connecting to Sessions Outside your Local Internet Network</h3>



<p>The session created in this guide will can be used in your local network and through the internet.</p>



<p>If you connecting to a session in your local internet, you do not have to do anything else.</p>



<p>If you wish to host your session to global internet users, make sure to <strong>port forward</strong> UDP/TCP 7777. Setting up port forwarding is different per router so check your specific router instructions.</p>



<p><a href="https://en.wikipedia.org/wiki/Port_forwarding">If you don&#8217;t know what port forwarding is click here. </a></p>



<h2 class="wp-block-heading">Download the Project Files</h2>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<script src="https://gumroad.com/js/gumroad-embed.js"></script>
<div class="gumroad-product-embed" data-gumroad-product-id="EvfoJ"><a href="https://gumroad.com/l/EvfoJ">Loading&#8230;</a></div>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<script src="https://gumroad.com/js/gumroad-embed.js"></script>
<div class="gumroad-product-embed" data-gumroad-product-id="rump"><a href="https://gumroad.com/l/rump">Loading&#8230;</a></div>
</div>
</div>



<h2 class="wp-block-heading">Conclusion</h2>



<p>Your multiplayer session is created and players can join!</p>



<p>This guide only brushed over the multiplayer system to start with sessions in Unreal Engine 4. </p>



<p>To learn more about replication and the session system, the Unreal Engine documentation as it is a good place to start. </p>



<p><a href="https://wiki.unrealengine.com/Replication">Click here to read more about Replication. </a></p>



<p><a href="https://docs.unrealengine.com/en-US/Engine/Blueprints/UserGuide/OnlineNodes/index.html">Clic</a><a href="https://docs.unrealengine.com/en-US/Engine/Blueprints/UserGuide/OnlineNodes/index.html"></a><a href="https://docs.unrealengine.com/en-US/Engine/Blueprints/UserGuide/OnlineNodes/index.html">k here to read more about the session system nodes.</a></p>



<h3 class="wp-block-heading">Expanding the System</h3>



<p>To challenge yourself, try create a widget that fills itself with the results of the Find Session nodes. </p>



<p>This, if done correctly, will create a server browser similar to the ones found in games such as Team Fortress 2, Counter Strike and many more.</p>



<figure class="wp-block-image"><img decoding="async" src="http://i.imgur.com/ii81Q.png" alt="Image result for server browser tf2"/></figure>
<p>The post <a href="https://couchlearn.com/multiplayer-sessions-in-your-unreal-engine-4-game/">How to use Multiplayer Sessions in your Unreal Engine 4 game</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://couchlearn.com/multiplayer-sessions-in-your-unreal-engine-4-game/feed/</wfw:commentRss>
			<slash:comments>26</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/

Page Caching using Disk: Enhanced 
Minified using Disk

Served from: couchlearn.com @ 2026-03-29 14:18:19 by W3 Total Cache
-->