<?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>Hard Difficulty Archives - Couch Learn</title>
	<atom:link href="https://couchlearn.com/category/unreal-engine/hard-difficulty/feed/" rel="self" type="application/rss+xml" />
	<link>https://couchlearn.com/category/unreal-engine/hard-difficulty/</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>Hard Difficulty Archives - Couch Learn</title>
	<link>https://couchlearn.com/category/unreal-engine/hard-difficulty/</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>Common Voice Chat Fixes in Unreal Engine 4</title>
		<link>https://couchlearn.com/common-voice-chat-fixes-in-unreal-engine-4/</link>
					<comments>https://couchlearn.com/common-voice-chat-fixes-in-unreal-engine-4/#comments</comments>
		
		<dc:creator><![CDATA[Matt]]></dc:creator>
		<pubDate>Sun, 22 Dec 2019 11:59:26 +0000</pubDate>
				<category><![CDATA[Hard Difficulty]]></category>
		<category><![CDATA[Unreal Engine]]></category>
		<category><![CDATA[Voice Chat]]></category>
		<category><![CDATA[positional voip]]></category>
		<category><![CDATA[proximity voip]]></category>
		<category><![CDATA[ue4 voice chat]]></category>
		<category><![CDATA[ue4 voip]]></category>
		<category><![CDATA[ue4 voip fix]]></category>
		<category><![CDATA[unreal engine]]></category>
		<category><![CDATA[unreal engine voice chat]]></category>
		<category><![CDATA[voice chat]]></category>
		<category><![CDATA[voip]]></category>
		<guid isPermaLink="false">https://couchlearn.com/?p=974</guid>

					<description><![CDATA[<p>This guide will run through common voice chat fixes in Unreal Engine 4. These fixes are for both normal voice chat and positional voice chat. <a class="mh-excerpt-more" href="https://couchlearn.com/common-voice-chat-fixes-in-unreal-engine-4/" title="Common Voice Chat Fixes in Unreal Engine 4">[...]</a></p>
<p>The post <a href="https://couchlearn.com/common-voice-chat-fixes-in-unreal-engine-4/">Common Voice Chat Fixes in Unreal Engine 4</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>This guide will run through common voice chat fixes in Unreal Engine 4.<br><br>These fixes are for both <a href="https://couchlearn.com/the-easy-way-to-add-voice-chat-into-your-multiplayer-unreal-engine-4-game/">normal voice chat</a> and <a href="https://couchlearn.com/positional-voice-chat-using-blueprints-in-ue4/">positional voice chat.</a><br><br><em>We will update this guide with new fixes as problems are reported.</em><br><br>If you have any issues with the voice chat comment down below as we try to help everyone!</p>



<h3 class="wp-block-heading">Network Replication Advice</h3>



<p>When dealing with multiplayer games, bandwidth and packet sizes have to be considered.<br><br>Sending too much too quickly (multi cast events on Event Tick) <strong>impacts network performance</strong> and prevents voice chat from being sent as the network is too saturated.<br><br>Make sure you consider every replicated variable, event and blueprint node that is run over the network. <br><br><strong>Many problems can be fixed by optimizing your networking replication!</strong></p>



<h4 class="wp-block-heading">Common Issues and Fixes<br><br>Players can&#8217;t hear voice chat after joining (UE 4.25)</h4>



<ul class="wp-block-list"><li>Run the &#8220;Register Remote Talker&#8221; function on begin play for your character actors. Suggested by CouchLearn user pftq</li></ul>



<p>This can be done with C++ or the Advanced Sessions Plugin.<br><br>https://docs.unrealengine.com/en-US/API/Plugins/OnlineSubsystem/Interfaces/IOnlineVoice/RegisterRemoteTalker/index.html </p>



<h4 class="wp-block-heading">Voice chat audio is not following the character</h4>



<ul class="wp-block-list"><li>Check your character/pawn is replicated and has replicate movement enabled.</li></ul>



<h4 class="wp-block-heading">No voice chat audio</h4>



<ul class="wp-block-list"><li>Follow <a href="https://couchlearn.com/the-easy-way-to-add-voice-chat-into-your-multiplayer-unreal-engine-4-game/">our voice chat tutorial</a> exactly and make sure to double check each step.</li><li>Make sure you are <a href="https://couchlearn.com/multiplayer-sessions-in-your-unreal-engine-4-game/">using the multiplayer session system.</a></li><li>Make sure that <strong>both players</strong> have a working microphone plugged in.<br><br><strong>If those steps didn&#8217;t fix the problem try:</strong></li><li>Following the &#8220;Stuttering or Robotic Sounding Voices&#8221; steps.</li></ul>



<h4 class="wp-block-heading">Stuttering or Robotic Sounding Voices</h4>



<ul class="wp-block-list"><li>Reducing the number of replicated events running on Event Tick and on timers. </li><li>Make sure only essential events are replicated.</li><li>Reduce the amount of multi cast events.</li><li>Remove redundant parameters from replicated events. </li><li>Remove audio and texture parameters from multi cast events.</li><li><a href="https://couchlearn.com/positional-voice-chat-using-blueprints-in-ue4/#Microphone_Sensitivity">Lower your mic threshold value by -5</a> </li></ul>



<h4 class="wp-block-heading">Voice chat only works on certain levels</h4>



<ul class="wp-block-list"><li>Make sure your other maps have an actor that is setup for voice chat on a key press.</li><li>When changing levels make sure to use the <a href="https://docs.unrealengine.com/en-US/Gameplay/Networking/Travelling/index.html">servertravel command</a><br><br><strong>If those steps didn&#8217;t fix the problem try:</strong> </li><li>Following the &#8220;Stuttering or Robotic Sounding Voices&#8221; steps. <br>&#8211; <em>Some levels in your game may include actors have poor replication performance.</em></li></ul>



<h4 class="wp-block-heading">Positional voice chat isn&#8217;t working</h4>



<ul class="wp-block-list"><li>Follow <a href="https://couchlearn.com/positional-voice-chat-using-blueprints-in-ue4/">our positional voice chat tutorial</a> exactly and make sure to double check each step.</li><li>Make sure you are <a href="https://couchlearn.com/multiplayer-sessions-in-your-unreal-engine-4-game/">using the multiplayer session system.</a> </li><li><a href="https://couchlearn.com/positional-voice-chat-using-blueprints-in-ue4/#Microphone_Sensitivity">Lower your mic threshold value by -5</a></li><li>Make sure that <strong>both players</strong> have a working microphone plugged in.</li><li>Increase the volume of the VOIP audio class. </li><li>Ensure your VOIPTalker&#8217;s attach to component is set.</li><li>Replicated your VOIPTalker enabled actor.</li><li>Make sure your VOIPTalker <a href="https://couchlearn.com/simple-audio-attenuation-in-unreal-engine-4/">sound attenuation is assigned and setup correctly.</a><br><br><strong>If those steps didn&#8217;t fix the problem try:</strong> </li><li>Following the &#8220;Stuttering or Robotic Sounding Voices&#8221; steps. </li></ul>
<p>The post <a href="https://couchlearn.com/common-voice-chat-fixes-in-unreal-engine-4/">Common Voice Chat Fixes in Unreal Engine 4</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://couchlearn.com/common-voice-chat-fixes-in-unreal-engine-4/feed/</wfw:commentRss>
			<slash:comments>27</slash:comments>
		
		
			</item>
		<item>
		<title>How to Compile and Package Discord Rich Presence for Linux</title>
		<link>https://couchlearn.com/compile-and-package-discord-rich-presence-for-linux/</link>
					<comments>https://couchlearn.com/compile-and-package-discord-rich-presence-for-linux/#respond</comments>
		
		<dc:creator><![CDATA[Matt]]></dc:creator>
		<pubDate>Sun, 25 Aug 2019 18:59:54 +0000</pubDate>
				<category><![CDATA[Hard Difficulty]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Unreal Engine]]></category>
		<category><![CDATA[discord linux]]></category>
		<category><![CDATA[linux compile discord]]></category>
		<category><![CDATA[ue4]]></category>
		<category><![CDATA[ue4 discord linux]]></category>
		<category><![CDATA[unreal engine]]></category>
		<category><![CDATA[unreal engine discord]]></category>
		<category><![CDATA[unreal engine linux discord]]></category>
		<guid isPermaLink="false">https://couchlearn.com/?p=781</guid>

					<description><![CDATA[<p>This guide is for Discord plugin users that can&#8217;t compile or package their game for the Linux platform. If you haven&#8217;t installed Discord Rich Presence <a class="mh-excerpt-more" href="https://couchlearn.com/compile-and-package-discord-rich-presence-for-linux/" title="How to Compile and Package Discord Rich Presence for Linux">[...]</a></p>
<p>The post <a href="https://couchlearn.com/compile-and-package-discord-rich-presence-for-linux/">How to Compile and Package Discord Rich Presence for Linux</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>This guide is for Discord plugin users that can&#8217;t compile or package their game for the Linux platform.</p>



<p><strong>If you haven&#8217;t installed Discord Rich Presence in your Unreal Engine 4 project </strong><a href="https://couchlearn.com/how-to-use-discord-rich-presence-in-unreal-engine-4/"><strong>click here our guide.</strong></a><br><br>The first step is to download all of the required files.</p>



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



<p>To download the library files necessary for compilation, navigate to the releases section of the DiscordRPC GitHub page.</p>



<p class="has-text-align-center"><a href="https://github.com/discordapp/discord-rpc/releases">Click here to view the Releases</a></p>



<p class="has-text-align-center"><strong>This file is hosted on the official Discord GitHub page and not CouchLearn.com</strong></p>



<p>Find the latest release (Green text on the left) and download the discord-rpc-linux.zip file.</p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="646" src="https://couchlearn.com/wp-content/uploads/2019/08/image-56-1024x646.png" alt="Downloading the files for Linux compilation" class="wp-image-793" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-56-1024x646.png 1024w, https://couchlearn.com/wp-content/uploads/2019/08/image-56-416x263.png 416w, https://couchlearn.com/wp-content/uploads/2019/08/image-56-300x189.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-56-768x485.png 768w, https://couchlearn.com/wp-content/uploads/2019/08/image-56.png 1225w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Unzip the discord-rpc-linux.zip file somewhere you can easily access it.</p>



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



<h4 class="wp-block-heading">Include Files</h4>



<p>Navigate to the /ThirdParty/DiscordRpcLibrary folder in your project’s plugins folder and check if you already have the Include folder.</p>



<figure class="wp-block-image"><img decoding="async" src="https://couchlearn.com/wp-content/uploads/2019/08/image-25.png" alt="Renaming the include folder to Include"/></figure>



<p>If you have this folder move on to the next step.<br><br>If you do not have this folder <a href="https://couchlearn.com/how-to-use-discord-rich-presence-in-unreal-engine-4/#Copying_files_to_Compile_the_plugin">follow the “Copying files to Compile the plugin” section.</a></p>



<h4 class="wp-block-heading">Linux Build Files</h4>



<p>Create a new folder named Linux:</p>



<figure class="wp-block-image"><img decoding="async" width="1007" height="223" src="https://couchlearn.com/wp-content/uploads/2019/08/image-57.png" alt="Creating the Linux folder" class="wp-image-794" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-57.png 1007w, https://couchlearn.com/wp-content/uploads/2019/08/image-57-416x92.png 416w, https://couchlearn.com/wp-content/uploads/2019/08/image-57-300x66.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-57-768x170.png 768w" sizes="(max-width: 1007px) 100vw, 1007px" /></figure>



<p>Navigate to the /linux-dynamic/lib folder from the files extracted earlier. Simply copy and paste the libdiscord-rpc.so file into the Linux folder created in the last step.</p>



<figure class="wp-block-image"><img decoding="async" width="1006" height="130" src="https://couchlearn.com/wp-content/uploads/2019/08/image-58.png" alt="Copying the libdiscord-rpc.so file from the archive extracted earlier" class="wp-image-795" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-58.png 1006w, https://couchlearn.com/wp-content/uploads/2019/08/image-58-416x54.png 416w, https://couchlearn.com/wp-content/uploads/2019/08/image-58-300x39.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-58-768x99.png 768w" sizes="(max-width: 1006px) 100vw, 1006px" /></figure>



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



<p>Your Discord Rich Presence enabled game will now successfully compile and package for the Linux platform!</p>



<p>Packaging for the Linux platform is possible from a Windows machine but requires extra steps to enable this in your project.</p>



<p>A guide for packaging Linux executables from a Windows PC is being developed and will be linked here on completion.</p>



<p>To set up the blueprints required for Discord Rich Presence, read the guide here on CouchLearn.com</p>
<p>The post <a href="https://couchlearn.com/compile-and-package-discord-rich-presence-for-linux/">How to Compile and Package Discord Rich Presence for Linux</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://couchlearn.com/compile-and-package-discord-rich-presence-for-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Compile and Package Discord Rich Presence on Mac</title>
		<link>https://couchlearn.com/compile-and-package-discord-rich-presence-for-mac/</link>
					<comments>https://couchlearn.com/compile-and-package-discord-rich-presence-for-mac/#respond</comments>
		
		<dc:creator><![CDATA[Matt]]></dc:creator>
		<pubDate>Sun, 25 Aug 2019 18:46:04 +0000</pubDate>
				<category><![CDATA[Hard Difficulty]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Unreal Engine]]></category>
		<category><![CDATA[compile discord osx]]></category>
		<category><![CDATA[discord]]></category>
		<category><![CDATA[discord for mac]]></category>
		<category><![CDATA[discord mac ue4]]></category>
		<category><![CDATA[discord osx compatibility]]></category>
		<category><![CDATA[discord osx ue4]]></category>
		<category><![CDATA[discord ue4]]></category>
		<category><![CDATA[ue4]]></category>
		<category><![CDATA[unreal engine]]></category>
		<guid isPermaLink="false">https://couchlearn.com/?p=779</guid>

					<description><![CDATA[<p>This guide is for Discord plugin users that can&#8217;t compile or package their game for the Mac platform. If you haven&#8217;t installed the Discord Rich <a class="mh-excerpt-more" href="https://couchlearn.com/compile-and-package-discord-rich-presence-for-mac/" title="How to Compile and Package Discord Rich Presence on Mac">[...]</a></p>
<p>The post <a href="https://couchlearn.com/compile-and-package-discord-rich-presence-for-mac/">How to Compile and Package Discord Rich Presence on Mac</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>This guide is for Discord plugin users that can&#8217;t compile or package their game for the Mac platform.</p>



<p><strong>If you haven&#8217;t installed the Discord Rich Presence plugin in your Unreal Engine 4 project </strong><a href="https://couchlearn.com/how-to-use-discord-rich-presence-in-unreal-engine-4/"><strong>click here for our guide.</strong></a><strong><br></strong><br>The first step is to download all of the required files.</p>



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



<p>To download the library files necessary for compilation, navigate to the releases section of the DiscordRPC GitHub page.</p>



<p class="has-text-align-center"><a href="https://github.com/discordapp/discord-rpc/releases"><strong>Click here to view the Releases</strong></a></p>



<p class="has-text-align-center"><strong>This file is hosted on the official Discord GitHub page and not CouchLearn.com</strong></p>



<p>Find the latest release (Green text on the left) and download the discord-rpc-osx.zip file. </p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="646" src="https://couchlearn.com/wp-content/uploads/2019/08/image-53-1024x646.png" alt="Discord mac osx compile files on GitHub" class="wp-image-788" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-53-1024x646.png 1024w, https://couchlearn.com/wp-content/uploads/2019/08/image-53-416x263.png 416w, https://couchlearn.com/wp-content/uploads/2019/08/image-53-300x189.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-53-768x485.png 768w, https://couchlearn.com/wp-content/uploads/2019/08/image-53.png 1225w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Unzip the discord-rpc-osx.zip file somewhere you can easily access it.  </p>



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



<h4 class="wp-block-heading">Include Files</h4>



<p>Navigate to the /ThirdParty/DiscordRpcLibrary folder in your project&#8217;s plugins folder and check if you already have the Include folder.</p>



<figure class="wp-block-image"><img decoding="async" src="https://couchlearn.com/wp-content/uploads/2019/08/image-25.png" alt="Renaming the include folder to Include"/></figure>



<p>If you have this folder move on to the next step.<br><br><strong>If you do not have this folder </strong><a href="https://couchlearn.com/how-to-use-discord-rich-presence-in-unreal-engine-4/#Copying_files_to_Compile_the_plugin"><strong>follow the &#8220;Copying files to Compile the plugin&#8221; section.</strong></a></p>



<h4 class="wp-block-heading">OSX Build Files</h4>



<p>Create a new folder named Mac:</p>



<figure class="wp-block-image"><img decoding="async" width="843" height="210" src="https://couchlearn.com/wp-content/uploads/2019/08/image-54.png" alt="Creating the mac folder" class="wp-image-789" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-54.png 843w, https://couchlearn.com/wp-content/uploads/2019/08/image-54-416x104.png 416w, https://couchlearn.com/wp-content/uploads/2019/08/image-54-300x75.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-54-768x191.png 768w" sizes="(max-width: 843px) 100vw, 843px" /></figure>



<p>Navigate to the /osx-dynamic/lib folder from the files extracted earlier. Simply copy and paste the libdiscord-rpc.dylib file into the Mac folder created in the last step.</p>



<figure class="wp-block-image"><img decoding="async" width="993" height="129" src="https://couchlearn.com/wp-content/uploads/2019/08/image-55.png" alt="Adding the dynamic library file" class="wp-image-790" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-55.png 993w, https://couchlearn.com/wp-content/uploads/2019/08/image-55-416x54.png 416w, https://couchlearn.com/wp-content/uploads/2019/08/image-55-300x39.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-55-768x100.png 768w" sizes="(max-width: 993px) 100vw, 993px" /></figure>



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



<p>Your Discord Rich Presence enabled game will now successfully compile and package for the Mac platform!<br><br>Packaging for the Mac platform is not possible from a Windows machine as Apple&#8217;s XCode licensing allows only official Apple products to package for their platform.<br><br>Regardless of this having the plugins setup and configured correctly will prevent headaches later down the road if you choose to deploy your game on the Mac platform.<br><br>To set up the blueprints required for Discord Rich Presence, <a href="https://couchlearn.com/how-to-use-discord-rich-presence-in-unreal-engine-4">read the guide here on CouchLearn.com</a></p>
<p>The post <a href="https://couchlearn.com/compile-and-package-discord-rich-presence-for-mac/">How to Compile and Package Discord Rich Presence on Mac</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://couchlearn.com/compile-and-package-discord-rich-presence-for-mac/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to use Discord Rich Presence in Unreal Engine 4</title>
		<link>https://couchlearn.com/how-to-use-discord-rich-presence-in-unreal-engine-4/</link>
					<comments>https://couchlearn.com/how-to-use-discord-rich-presence-in-unreal-engine-4/#comments</comments>
		
		<dc:creator><![CDATA[Matt]]></dc:creator>
		<pubDate>Thu, 22 Aug 2019 23:53:35 +0000</pubDate>
				<category><![CDATA[Hard Difficulty]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Unreal Engine]]></category>
		<category><![CDATA[discord]]></category>
		<category><![CDATA[discord in game]]></category>
		<category><![CDATA[discord rich presence]]></category>
		<category><![CDATA[discord status]]></category>
		<category><![CDATA[discordrpc]]></category>
		<category><![CDATA[ue4 4.22]]></category>
		<category><![CDATA[ue4 discord]]></category>
		<category><![CDATA[unreal engine 4 discord]]></category>
		<guid isPermaLink="false">https://couchlearn.com/?p=624</guid>

					<description><![CDATA[<p>Many modern games are adopting Discord&#8217;s Rich Presence features to display stats about your current game session to friends. In this guide we will be <a class="mh-excerpt-more" href="https://couchlearn.com/how-to-use-discord-rich-presence-in-unreal-engine-4/" title="How to use Discord Rich Presence in Unreal Engine 4">[...]</a></p>
<p>The post <a href="https://couchlearn.com/how-to-use-discord-rich-presence-in-unreal-engine-4/">How to use Discord Rich Presence in Unreal Engine 4</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Many modern games are adopting Discord&#8217;s Rich Presence features to display stats about your current game session to friends.</p>



<p>In this guide we will be working through how to use Discord Rich Presence in Unreal Engine 4 by downloading, installing and implementing Discord RPC and Rich Presence into your Unreal Engine 4 project.</p>



<figure class="wp-block-image"><img decoding="async" width="800" height="272" src="https://couchlearn.com/wp-content/uploads/2019/08/Discord-LogoWordmark-White.png" alt="discord logo" class="wp-image-771" srcset="https://couchlearn.com/wp-content/uploads/2019/08/Discord-LogoWordmark-White.png 800w, https://couchlearn.com/wp-content/uploads/2019/08/Discord-LogoWordmark-White-416x141.png 416w, https://couchlearn.com/wp-content/uploads/2019/08/Discord-LogoWordmark-White-300x102.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/Discord-LogoWordmark-White-768x261.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p><strong>Discord has released their newer GameSDK which runs entirely using either C# for Unity or C++ for Unreal Engine. GameSDK is beyond the scope for this difficulty level which is why we will be using Discord RPC.</strong></p>



<h2 class="wp-block-heading">Adding the Discord Plugin</h2>



<h3 class="wp-block-heading">Downloading the Discord Plugin</h3>



<p>Many features for Unreal Engine are built into the engine using C++ and others are compiled into a plugin. Discord has already prepared a ready made plugin for use with Unreal Engine on their GitHub page.</p>



<h4 class="wp-block-heading">Method 1:</h4>



<p class="has-text-align-center"><a href="https://github.com/discordapp/discord-rpc/archive/master.zip">Click here to download the Discord RPC master zip.</a> <br><strong>This file is hosted on the official Discord GitHub page and not CouchLearn.com</strong></p>



<p>After downloading, unzip the discord-rpc-master.zip file somewhere you can easily access it.   </p>



<h4 class="wp-block-heading">Method 2:</h4>



<p>If you would like to manually clone the repository yourself <a href="https://github.com/discordapp/discord-rpc">click here to visit Discord&#8217;s GitHub page.</a></p>



<figure class="wp-block-image"><img decoding="async" width="998" height="597" src="https://couchlearn.com/wp-content/uploads/2019/08/image.png" alt="discord official GitHub page" class="wp-image-674" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image.png 998w, https://couchlearn.com/wp-content/uploads/2019/08/image-300x179.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-768x459.png 768w" sizes="(max-width: 998px) 100vw, 998px" /></figure>



<h4 class="wp-block-heading">Library Files</h4>



<p>To download the library files necessary for compilation later on navigate to the releases section of the DiscordRPC GitHub page.</p>



<p class="has-text-align-center"><a href="https://github.com/discordapp/discord-rpc/releases">Click here to view the Releases</a></p>



<p class="has-text-align-center"><strong>This file is hosted on the official Discord GitHub page and not CouchLearn.com</strong></p>



<p>Find the latest release (Green text on the left) and download the discord-rpc-win.zip file.</p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="580" src="https://couchlearn.com/wp-content/uploads/2019/08/image-28-1024x580.png" alt="Discord library file download" class="wp-image-727" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-28-1024x580.png 1024w, https://couchlearn.com/wp-content/uploads/2019/08/image-28-300x170.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-28-768x435.png 768w, https://couchlearn.com/wp-content/uploads/2019/08/image-28.png 1234w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Unzip the discord-rpc-win.zip file somewhere you can easily access it.  </p>



<h3 class="wp-block-heading">Installing the Discord Plugin</h3>



<h4 class="wp-block-heading">Copying the Plugin</h4>



<p>In our project folder we need to make sure there is a Plugins folder.<br><br>Create a new folder in your project folder named Plugins. <br><br>If you already have this you can move onto the next step.</p>



<figure class="wp-block-image"><img decoding="async" width="737" height="179" src="https://couchlearn.com/wp-content/uploads/2019/08/image-14.png" alt="creating the plugins folder" class="wp-image-708" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-14.png 737w, https://couchlearn.com/wp-content/uploads/2019/08/image-14-300x73.png 300w" sizes="(max-width: 737px) 100vw, 737px" /></figure>



<p>Included in the extracted discord RPC master folder is an example project for Unreal Engine 4. <br><br>This project has a pre-compiled Discord plugin ready for your project.<br><br>To find this plugin navigate to examples:</p>



<figure class="wp-block-image"><img decoding="async" width="750" height="341" src="https://couchlearn.com/wp-content/uploads/2019/08/image-15.png" alt="Discord rich presence examples from GitHub" class="wp-image-709" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-15.png 750w, https://couchlearn.com/wp-content/uploads/2019/08/image-15-300x136.png 300w" sizes="(max-width: 750px) 100vw, 750px" /></figure>



<p>Next, navigate to the unrealstatus folder:</p>



<figure class="wp-block-image"><img decoding="async" width="736" height="109" src="https://couchlearn.com/wp-content/uploads/2019/08/image-16.png" alt="Unreal Engine 4 discord example project" class="wp-image-710" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-16.png 736w, https://couchlearn.com/wp-content/uploads/2019/08/image-16-300x44.png 300w" sizes="(max-width: 736px) 100vw, 736px" /></figure>



<p>Finally, navigate to the Plugins folder:</p>



<figure class="wp-block-image"><img decoding="async" width="735" height="174" src="https://couchlearn.com/wp-content/uploads/2019/08/image-17.png" alt="Plugins folder of the Discord Rich Presence Unreal Engine 4 example project" class="wp-image-711" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-17.png 735w, https://couchlearn.com/wp-content/uploads/2019/08/image-17-300x71.png 300w" sizes="(max-width: 735px) 100vw, 735px" /></figure>



<p>Inside the Plugins folder is a folder named discordrpc. We need to copy and paste this folder into our own project&#8217;s Plugins folder created earlier.</p>



<figure class="wp-block-image"><img decoding="async" width="729" height="44" src="https://couchlearn.com/wp-content/uploads/2019/08/image-18.png" alt="The folder to copy" class="wp-image-712" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-18.png 729w, https://couchlearn.com/wp-content/uploads/2019/08/image-18-300x18.png 300w" sizes="(max-width: 729px) 100vw, 729px" /></figure>



<p>After copying and pasting the discordrpc folder, our project&#8217;s Plugins folder now looks like this:</p>



<figure class="wp-block-image"><img decoding="async" width="788" height="140" src="https://couchlearn.com/wp-content/uploads/2019/08/image-19.png" alt="DiscordRPC folder copied to your project." class="wp-image-713" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-19.png 788w, https://couchlearn.com/wp-content/uploads/2019/08/image-19-300x53.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-19-768x136.png 768w" sizes="(max-width: 788px) 100vw, 788px" /></figure>



<h4 class="wp-block-heading">Copying files to Compile the plugin</h4>



<p>In the discord-rpc-master folder copy the include folder.</p>



<figure class="wp-block-image"><img decoding="async" width="743" height="352" src="https://couchlearn.com/wp-content/uploads/2019/08/image-22.png" alt="Finding the include folder and copying it" class="wp-image-721" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-22.png 743w, https://couchlearn.com/wp-content/uploads/2019/08/image-22-300x142.png 300w" sizes="(max-width: 743px) 100vw, 743px" /></figure>



<p>Navigate to the /ThirdParty/DiscordRpcLibrary folder in your project&#8217;s plugins folder and paste the include folder.</p>



<figure class="wp-block-image"><img decoding="async" width="769" height="166" src="https://couchlearn.com/wp-content/uploads/2019/08/image-23.png" alt="Pasting into the Library folder" class="wp-image-722" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-23.png 769w, https://couchlearn.com/wp-content/uploads/2019/08/image-23-300x65.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-23-768x166.png 768w" sizes="(max-width: 769px) 100vw, 769px" /></figure>



<p>Rename this folder to Include (make sure it has a capital I).</p>



<figure class="wp-block-image"><img decoding="async" width="785" height="149" src="https://couchlearn.com/wp-content/uploads/2019/08/image-25.png" alt="Renaming the include folder to Include" class="wp-image-724" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-25.png 785w, https://couchlearn.com/wp-content/uploads/2019/08/image-25-300x57.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-25-768x146.png 768w" sizes="(max-width: 785px) 100vw, 785px" /></figure>



<p>Create a new folder named Win64:</p>



<figure class="wp-block-image"><img decoding="async" width="771" height="175" src="https://couchlearn.com/wp-content/uploads/2019/08/image-26.png" alt="Creating the Win64 folder" class="wp-image-725" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-26.png 771w, https://couchlearn.com/wp-content/uploads/2019/08/image-26-300x68.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-26-768x174.png 768w" sizes="(max-width: 771px) 100vw, 771px" /></figure>



<p>Navigate to the /win64-dynamic/lib folder then copy and paste the discord-rpc.lib file into the Win64 folder created in the last step.</p>



<figure class="wp-block-image"><img decoding="async" width="692" height="114" src="https://couchlearn.com/wp-content/uploads/2019/08/image-30.png" alt="Copying the .lib file" class="wp-image-730" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-30.png 692w, https://couchlearn.com/wp-content/uploads/2019/08/image-30-300x49.png 300w" sizes="(max-width: 692px) 100vw, 692px" /></figure>



<p>Navigate to the /win64-dynamic/bin folder then copy and paste the discord-rpc.dll file into the Win64 folder.</p>



<figure class="wp-block-image"><img decoding="async" width="771" height="144" src="https://couchlearn.com/wp-content/uploads/2019/08/image-31.png" alt="copying the .dll file" class="wp-image-732" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-31.png 771w, https://couchlearn.com/wp-content/uploads/2019/08/image-31-300x56.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-31-768x143.png 768w" sizes="(max-width: 771px) 100vw, 771px" /></figure>



<p>Once completed your Win64 folder will look like this:</p>



<figure class="wp-block-image"><img decoding="async" width="890" height="169" src="https://couchlearn.com/wp-content/uploads/2019/08/image-32.png" alt="The final Win64 folder" class="wp-image-733" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-32.png 890w, https://couchlearn.com/wp-content/uploads/2019/08/image-32-300x57.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-32-768x146.png 768w" sizes="(max-width: 890px) 100vw, 890px" /></figure>



<p><strong>To add Mac support for Discord to your Game </strong><a href="https://couchlearn.com/compile-and-package-discord-rich-presence-for-mac/"><strong>click the link here for our guide for Compiling and Packaging Discord on Mac OSX.</strong></a><br><br><strong>To add Linux support for Discord to your Game </strong><a href="https://couchlearn.com/compile-and-package-discord-rich-presence-for-linux/"><strong>click the link here for our guide for Compiling and Packaging Discord on Linux.</strong></a></p>



<h4 class="wp-block-heading">Compiling the Plugin</h4>



<p>The plugin is made ready but your project doesn&#8217;t know that the files are there and hasn&#8217;t created its own files in preparation. This is why we compile the plugin on the first launch.<br><br>To compile the plugin, firstly launch your project. <br><br>As your new plugin hasn&#8217;t been compiled for your project this new prompt will show.<br><br>Press Yes to compile the plugin for your project:</p>



<figure class="wp-block-image"><img decoding="async" width="486" height="247" src="https://couchlearn.com/wp-content/uploads/2019/08/image-20.png" alt="Compiling the DiscordRpc plugin" class="wp-image-715" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-20.png 486w, https://couchlearn.com/wp-content/uploads/2019/08/image-20-300x152.png 300w" sizes="(max-width: 486px) 100vw, 486px" /></figure>



<p>The compile window will show and display the progress. This process takes a few minutes upto 10 minutes depending on the size of your project.</p>



<figure class="wp-block-image"><img decoding="async" width="602" height="115" src="https://couchlearn.com/wp-content/uploads/2019/08/image-21.png" alt="Unreal Engine 4 progress bar building the plugin" class="wp-image-716" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-21.png 602w, https://couchlearn.com/wp-content/uploads/2019/08/image-21-300x57.png 300w" sizes="(max-width: 602px) 100vw, 602px" /></figure>



<h3 class="wp-block-heading">Enabling the Discord Plugin</h3>



<p>Once the editor has launched, navigate to the plugins section and scroll to the bottom.<br><br>In the messaging section make sure the Discord RPC plugin is enabled.</p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="552" src="https://couchlearn.com/wp-content/uploads/2019/08/image-33-1024x552.png" alt="Final plugin in the engine" class="wp-image-736" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-33-1024x552.png 1024w, https://couchlearn.com/wp-content/uploads/2019/08/image-33-300x162.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-33-768x414.png 768w, https://couchlearn.com/wp-content/uploads/2019/08/image-33.png 1258w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>If this plugin wasn&#8217;t enabled make sure to reload your editor after enabling it.</p>



<h2 class="wp-block-heading">Using Discord in your Blueprints</h2>



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



<p>In your Game Instance create a new variable named DiscordInstance and set its type to DiscordRPC object reference.</p>



<figure class="wp-block-image"><img decoding="async" width="755" height="402" src="https://couchlearn.com/wp-content/uploads/2019/08/image-39.png" alt="Creating the DiscordRPC object variable." class="wp-image-744" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-39.png 755w, https://couchlearn.com/wp-content/uploads/2019/08/image-39-300x160.png 300w" sizes="(max-width: 755px) 100vw, 755px" /></figure>



<p>In your level blueprint, on the Begin Play event, create a Construct Object from Class node.</p>



<figure class="wp-block-image"><img decoding="async" width="775" height="205" src="https://couchlearn.com/wp-content/uploads/2019/08/image-35.png" alt="Constructing the discord rpc object class" class="wp-image-739" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-35.png 775w, https://couchlearn.com/wp-content/uploads/2019/08/image-35-300x79.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-35-768x203.png 768w" sizes="(max-width: 775px) 100vw, 775px" /></figure>



<p>For the Class node select the DiscordRpc class.</p>



<figure class="wp-block-image"><img decoding="async" width="630" height="261" src="https://couchlearn.com/wp-content/uploads/2019/08/image-36.png" alt="Setting the construct to the DiscordRPC object class" class="wp-image-740" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-36.png 630w, https://couchlearn.com/wp-content/uploads/2019/08/image-36-300x124.png 300w" sizes="(max-width: 630px) 100vw, 630px" /></figure>



<p>The outer pin is the owner of the DiscordRPC object. This should be set to your Game Instance.</p>



<figure class="wp-block-image"><img decoding="async" width="646" height="380" src="https://couchlearn.com/wp-content/uploads/2019/08/image-37.png" alt="Setting the outer (owner) to the game instance" class="wp-image-741" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-37.png 646w, https://couchlearn.com/wp-content/uploads/2019/08/image-37-300x176.png 300w" sizes="(max-width: 646px) 100vw, 646px" /></figure>



<p>Create a Cast node to your Game Instance.</p>



<figure class="wp-block-image"><img decoding="async" width="976" height="311" src="https://couchlearn.com/wp-content/uploads/2019/08/image-38.png" alt="Casting to the game instance" class="wp-image-743" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-38.png 976w, https://couchlearn.com/wp-content/uploads/2019/08/image-38-300x96.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-38-768x245.png 768w" sizes="(max-width: 976px) 100vw, 976px" /></figure>



<p>Set the DiscordInstance variable from your Game Instance to the return value of the Construct Discord RPC node.</p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="311" src="https://couchlearn.com/wp-content/uploads/2019/08/image-40-1024x311.png" alt="Setting the discord instance variable to the constructed DiscordRpc class" class="wp-image-745" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-40-1024x311.png 1024w, https://couchlearn.com/wp-content/uploads/2019/08/image-40-300x91.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-40-768x233.png 768w, https://couchlearn.com/wp-content/uploads/2019/08/image-40.png 1093w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">Initializing the Connection</h3>



<p>The Discord client needs to be notified to recieve any Rich Presence information. To notify the client, firstly create an Initialize Connection node.</p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="333" src="https://couchlearn.com/wp-content/uploads/2019/08/image-41-1024x333.png" alt="Initializing the connection to discord" class="wp-image-748" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-41-1024x333.png 1024w, https://couchlearn.com/wp-content/uploads/2019/08/image-41-300x98.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-41-768x250.png 768w, https://couchlearn.com/wp-content/uploads/2019/08/image-41.png 1061w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>In the Application Id pin, copy and paste your client id from the Discord Developer Portal.</p>



<figure class="wp-block-image"><img decoding="async" width="918" height="237" src="https://couchlearn.com/wp-content/uploads/2019/08/image-43.png" alt="Retrieving the Client ID" class="wp-image-750" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-43.png 918w, https://couchlearn.com/wp-content/uploads/2019/08/image-43-416x107.png 416w, https://couchlearn.com/wp-content/uploads/2019/08/image-43-300x77.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-43-768x198.png 768w" sizes="(max-width: 918px) 100vw, 918px" /></figure>



<figure class="wp-block-image"><img decoding="async" width="603" height="351" src="https://couchlearn.com/wp-content/uploads/2019/08/image-42.png" alt="Setting the Client ID into the game" class="wp-image-749" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-42.png 603w, https://couchlearn.com/wp-content/uploads/2019/08/image-42-300x175.png 300w" sizes="(max-width: 603px) 100vw, 603px" /></figure>



<h3 class="wp-block-heading">Setting Discord Presence Information</h3>



<p>Before sending the rich presence information to Discord, we need to set the variable containing the message that will be sent.</p>



<p>To set this create a Set Rich Presence Info node from the Discord Instance variable.</p>



<figure class="wp-block-image"><img decoding="async" width="753" height="395" src="https://couchlearn.com/wp-content/uploads/2019/08/image-44.png" alt="Setting the rich presence information" class="wp-image-752" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-44.png 753w, https://couchlearn.com/wp-content/uploads/2019/08/image-44-416x218.png 416w, https://couchlearn.com/wp-content/uploads/2019/08/image-44-300x157.png 300w" sizes="(max-width: 753px) 100vw, 753px" /></figure>



<p>Right clicking and clicking break pin on the input pin of the new Set Rich Presence Info will show all the possible settings.<br><br>With this node created the entire Rich Presence data can now be set.</p>



<figure class="wp-block-image"><img decoding="async" width="277" height="672" src="https://couchlearn.com/wp-content/uploads/2019/08/image-46.png" alt="Full list of rich presence information" class="wp-image-754" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-46.png 277w, https://couchlearn.com/wp-content/uploads/2019/08/image-46-124x300.png 124w" sizes="(max-width: 277px) 100vw, 277px" /></figure>



<h4 class="wp-block-heading">Formatting</h4>



<p>The formatting is very specific as certain strings in the Set Rich Presence Info node are used for the Discord UI elements.</p>



<p>Below is the formatting from the Discord Developer page on Rich Presence.</p>



<figure class="wp-block-image"><img decoding="async" src="https://discordapp.com/assets/43bef54c8aee2bc0fd1c717d5f8ae28a.png" alt="Discord Rich Presence formatting"/><figcaption>Image Credit: https://discordapp.com/developers/docs/rich-presence/how-to</figcaption></figure>



<p>Complete the Rich Presence information in the Set Rich Presence Info node with the formatting above.</p>



<h4 class="wp-block-heading">Setting up the Timestamp (Advanced)</h4>



<p>If your game needs to show the duration of play, follow this next section to setup the timestamp.<br><br>Discord uses the UNIX epoch system for time. Unreal Engine 4 has no built in blueprint nodes for getting the UNIX epoch time so we will have to create a few nodes to compensate for this.</p>



<p>Create the blueprint nodes below and connect the truncate return value to the start timestamp to count up showing duration of play since starting the game.</p>



<figure class="wp-block-image"><img decoding="async" width="944" height="528" src="https://couchlearn.com/wp-content/uploads/2019/08/image-48.png" alt="Creating the correct UNIX epoch timestamp" class="wp-image-759" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-48.png 944w, https://couchlearn.com/wp-content/uploads/2019/08/image-48-416x233.png 416w, https://couchlearn.com/wp-content/uploads/2019/08/image-48-300x168.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-48-768x430.png 768w" sizes="(max-width: 944px) 100vw, 944px" /></figure>



<h4 class="wp-block-heading">Using Images</h4>



<p>To add an image to your Discord App, go to the Discord Developer Portal and in the Rich Presence art assets section upload the images your game requires.</p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="350" src="https://couchlearn.com/wp-content/uploads/2019/08/image-47-1024x350.png" alt="Uploading images to the Discord Developer Portal" class="wp-image-756" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-47-1024x350.png 1024w, https://couchlearn.com/wp-content/uploads/2019/08/image-47-416x142.png 416w, https://couchlearn.com/wp-content/uploads/2019/08/image-47-300x102.png 300w, https://couchlearn.com/wp-content/uploads/2019/08/image-47-768x262.png 768w, https://couchlearn.com/wp-content/uploads/2019/08/image-47.png 1613w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>The uploaded file&#8217;s name is the key name used for the Set Rich Presence Info node. I used the Unreal Engine logo and the key is ue4logo shown above.</p>



<figure class="wp-block-image"><img decoding="async" width="369" height="60" src="https://couchlearn.com/wp-content/uploads/2019/08/image-49.png" alt="Adding the image key to the game" class="wp-image-760" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-49.png 369w, https://couchlearn.com/wp-content/uploads/2019/08/image-49-300x49.png 300w" sizes="(max-width: 369px) 100vw, 369px" /></figure>



<h3 class="wp-block-heading">Sending information to the Discord Client</h3>



<p>To send the rich presence information simply create a Send Presence node from the DiscordInstance variable as the target. Once you load your level the discord information will appear.</p>



<figure class="wp-block-image"><img decoding="async" width="461" height="708" src="https://couchlearn.com/wp-content/uploads/2019/08/image-50.png" alt="The complete Rich Presence information being sent" class="wp-image-761" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-50.png 461w, https://couchlearn.com/wp-content/uploads/2019/08/image-50-416x639.png 416w, https://couchlearn.com/wp-content/uploads/2019/08/image-50-195x300.png 195w" sizes="(max-width: 461px) 100vw, 461px" /></figure>



<p>Here&#8217;s the final result using the settings above:</p>



<figure class="wp-block-image"><img decoding="async" width="301" height="135" src="https://couchlearn.com/wp-content/uploads/2019/08/image-51.png" alt="The rich presence data from the Discord client showing in game data" class="wp-image-762" srcset="https://couchlearn.com/wp-content/uploads/2019/08/image-51.png 301w, https://couchlearn.com/wp-content/uploads/2019/08/image-51-300x135.png 300w" sizes="(max-width: 301px) 100vw, 301px" /></figure>



<figure class="wp-block-image"><img decoding="async" width="189" height="22" src="https://couchlearn.com/wp-content/uploads/2019/08/image-52.png" alt="Label showing the discord app project name" class="wp-image-763"/></figure>



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



<p>Your game now has full use of Discord&#8217;s Rich Presence system in Unreal Engine 4!<br><br>Setting the presence data based on current level or your characters situation can then be used to update the client based on their current session. <strong>Just make sure to send the presence data once you have set it!</strong></p>



<p>This is my largest and most comprehensive guide yet. If you found this helpful, please share with friends, other developers or on social media as more guides are coming soon.<br><br>If you want a specific guide, more guides of a specific difficulty or even different engine guides contact CouchLearn using the Contact Us link at the top of the site.</p>



<p>For more information on Discord Rich Presence system, <a href="https://discordapp.com/developers/docs/rich-presence/how-to">click here for the full documentation.</a></p>
<p>The post <a href="https://couchlearn.com/how-to-use-discord-rich-presence-in-unreal-engine-4/">How to use Discord Rich Presence in Unreal Engine 4</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://couchlearn.com/how-to-use-discord-rich-presence-in-unreal-engine-4/feed/</wfw:commentRss>
			<slash:comments>62</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-04-14 19:22:12 by W3 Total Cache
-->