<?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>blueprint Archives - Couch Learn</title>
	<atom:link href="https://couchlearn.com/tag/blueprint/feed/" rel="self" type="application/rss+xml" />
	<link>https://couchlearn.com/tag/blueprint/</link>
	<description>Detailed Game Programming Tutorials</description>
	<lastBuildDate>Sun, 10 Jan 2021 23:54:52 +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>blueprint Archives - Couch Learn</title>
	<link>https://couchlearn.com/tag/blueprint/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Parent and Child Blueprints in Unreal Engine 4</title>
		<link>https://couchlearn.com/parent-and-child-blueprints-in-unreal-engine-4/</link>
					<comments>https://couchlearn.com/parent-and-child-blueprints-in-unreal-engine-4/#respond</comments>
		
		<dc:creator><![CDATA[Matt]]></dc:creator>
		<pubDate>Tue, 30 Jul 2019 14:56:35 +0000</pubDate>
				<category><![CDATA[Easy Difficulty]]></category>
		<category><![CDATA[UE4 Basics]]></category>
		<category><![CDATA[Unreal Engine]]></category>
		<category><![CDATA[blueprint]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[easy difficulty]]></category>
		<category><![CDATA[inheritance]]></category>
		<category><![CDATA[parent and child]]></category>
		<category><![CDATA[ue4]]></category>
		<category><![CDATA[unreal engine]]></category>
		<guid isPermaLink="false">https://couchlearn.com/?p=457</guid>

					<description><![CDATA[<p>In this guide I will be going through Parent and Child blueprints in Unreal Engine 4. They are a key part of making manageable code <a class="mh-excerpt-more" href="https://couchlearn.com/parent-and-child-blueprints-in-unreal-engine-4/" title="Parent and Child Blueprints in Unreal Engine 4">[...]</a></p>
<p>The post <a href="https://couchlearn.com/parent-and-child-blueprints-in-unreal-engine-4/">Parent and Child Blueprints in Unreal Engine 4</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In this guide I will be going through Parent and Child blueprints in Unreal Engine 4. They are a key part of making manageable code and preventing repeated blueprint nodes in similar classes.</p>



<p>Inheritance is an important feature in many object oriented programming languages. It allows programmers to create variations of an object and communicate with them as if they are all the same original type.</p>



<p>Blueprints also have the ability to have child classes and have parent classes that they inherit from.</p>



<p>If you want to learn more about the theory behind inheritance, <a href="https://www.w3schools.com/cpp/cpp_inheritance.asp">click here for a tutorial from w3 schools showing inheritance in C++.</a></p>



<h2 class="wp-block-heading">Parent Class</h2>



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



<p>To start, create a new blueprint actor and name it ParentActor.</p>



<figure class="wp-block-image"><img fetchpriority="high" decoding="async" width="544" height="442" src="https://couchlearn.com/wp-content/uploads/2019/07/image-67.png" alt="Creating the parent blueprint class" class="wp-image-604" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-67.png 544w, https://couchlearn.com/wp-content/uploads/2019/07/image-67-300x244.png 300w" sizes="(max-width: 544px) 100vw, 544px" /></figure>



<p>This actor can now be filled with events, input actions, variables, functions and more. All of these attributes will be shared to our child actors.</p>



<p><a href="https://couchlearn.com/how-to-use-input-actions-and-input-axis-mappings-in-your-unreal-engine-4-game/">If you don&#8217;t know how to use input actions and input axes click here for a detailed run down on how to include these powerful events into your project.</a></p>



<h3 class="wp-block-heading">Setting up the Parent Class</h3>



<p>To demonstrate, I have created two keybinds, an event, a function and a float variable. </p>



<p>Pressing 1 will set this float value to 1 and pressing 2 will set the float value to 2.</p>



<figure class="wp-block-image"><img decoding="async" width="275" height="385" src="https://couchlearn.com/wp-content/uploads/2019/07/image-72.png" alt="Setting up the parent class with basic inputs and setting variables" class="wp-image-609" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-72.png 275w, https://couchlearn.com/wp-content/uploads/2019/07/image-72-214x300.png 214w" sizes="(max-width: 275px) 100vw, 275px" /></figure>



<h2 class="wp-block-heading">Child Class</h2>



<h3 class="wp-block-heading">Creating a child class</h3>



<p>Creating a child class from your chosen parent class is very easy.</p>



<p>To create a new class based on a previous simply right click your chosen class in the content browser and click create child blueprint.</p>



<figure class="wp-block-image"><img decoding="async" width="267" height="536" src="https://couchlearn.com/wp-content/uploads/2019/07/image-69.png" alt="Creating the child blueprint class" class="wp-image-606" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-69.png 267w, https://couchlearn.com/wp-content/uploads/2019/07/image-69-149x300.png 149w" sizes="(max-width: 267px) 100vw, 267px" /></figure>



<h3 class="wp-block-heading">Accessing the parent</h3>



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



<p>Inside the child actor there are no visible variables of the left side.</p>



<figure class="wp-block-image"><img decoding="async" width="288" height="167" src="https://couchlearn.com/wp-content/uploads/2019/07/image-71.png" alt="No functions, variables or macros shown in child class" class="wp-image-608"/></figure>



<p>Right clicking and searching for your parent variables will reveal them in the default section.</p>



<figure class="wp-block-image"><img decoding="async" width="415" height="455" src="https://couchlearn.com/wp-content/uploads/2019/07/image-70.png" alt="Parent variables showing in child class" class="wp-image-607" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-70.png 415w, https://couchlearn.com/wp-content/uploads/2019/07/image-70-274x300.png 274w" sizes="(max-width: 415px) 100vw, 415px" /></figure>



<h4 class="wp-block-heading">Events and Functions</h4>



<p>Right clicking inside your child blueprint class and typing the name of your functions and events will give you access to them.</p>



<figure class="wp-block-image"><img decoding="async" width="410" height="183" src="https://couchlearn.com/wp-content/uploads/2019/07/image-75.png" alt="Parent events showing in child class" class="wp-image-612" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-75.png 410w, https://couchlearn.com/wp-content/uploads/2019/07/image-75-300x134.png 300w" sizes="(max-width: 410px) 100vw, 410px" /></figure>



<p>Key events will override any code that is on the same parent event. This child class will now print 10 on key press 1 and 20 on key press 2.</p>



<figure class="wp-block-image"><img decoding="async" width="293" height="253" src="https://couchlearn.com/wp-content/uploads/2019/07/image-79.png" alt="Child key inputs run different code" class="wp-image-616"/></figure>



<p>To make sure the parent code runs as well as the child code on these key inputs, click on the input and look to the right of the details panel.</p>



<p>Un-checking the &#8220;Override Parent Binding&#8221; box will run both sections of code. If you want your child to have different behaviors on the same key presses you can leave this checked.</p>



<figure class="wp-block-image"><img decoding="async" width="597" height="162" src="https://couchlearn.com/wp-content/uploads/2019/07/image-80.png" alt="Parent bindings overridden on child class" class="wp-image-617" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-80.png 597w, https://couchlearn.com/wp-content/uploads/2019/07/image-80-300x81.png 300w" sizes="(max-width: 597px) 100vw, 597px" /></figure>



<h4 class="wp-block-heading">Running Parent Code</h4>



<p>When accessing parent functions and events you are stopping the parent code from running. This is called overriding.</p>



<p>To make sure the parent code runs during the event, right click the specific event and click Add Call to Parent Function.</p>



<figure class="wp-block-image"><img decoding="async" width="313" height="256" src="https://couchlearn.com/wp-content/uploads/2019/07/image-77.png" alt="Creating the parent function call" class="wp-image-614" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-77.png 313w, https://couchlearn.com/wp-content/uploads/2019/07/image-77-300x245.png 300w" sizes="(max-width: 313px) 100vw, 313px" /></figure>



<figure class="wp-block-image"><img decoding="async" width="492" height="77" src="https://couchlearn.com/wp-content/uploads/2019/07/image-78.png" alt="Connecting the parent event" class="wp-image-615" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-78.png 492w, https://couchlearn.com/wp-content/uploads/2019/07/image-78-300x47.png 300w" sizes="(max-width: 492px) 100vw, 492px" /></figure>



<p>Now when custom parent event is fired the child code will run and the parent code will run. The expected output is &#8220;Hello From Parent Class&#8221; on screen.</p>



<figure class="wp-block-image"><img decoding="async" width="451" height="177" src="https://couchlearn.com/wp-content/uploads/2019/07/image-76.png" alt="Parent event printing strings to the screen" class="wp-image-613" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-76.png 451w, https://couchlearn.com/wp-content/uploads/2019/07/image-76-300x118.png 300w" sizes="(max-width: 451px) 100vw, 451px" /></figure>



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



<p>That is the basics of parent and child classes in unreal engine 4! </p>



<p>Designing your code to utilize this powerful technique will improve the readability and efficiency of your game development processes.</p>
<p>The post <a href="https://couchlearn.com/parent-and-child-blueprints-in-unreal-engine-4/">Parent and Child Blueprints in Unreal Engine 4</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://couchlearn.com/parent-and-child-blueprints-in-unreal-engine-4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to use VOIPTalker Proximity Voice Chat using only Blueprints in your Multiplayer Unreal Engine 4 game</title>
		<link>https://couchlearn.com/positional-voice-chat-using-blueprints-in-ue4/</link>
					<comments>https://couchlearn.com/positional-voice-chat-using-blueprints-in-ue4/#comments</comments>
		
		<dc:creator><![CDATA[Matt]]></dc:creator>
		<pubDate>Fri, 19 Jul 2019 01:41:30 +0000</pubDate>
				<category><![CDATA[Medium Difficulty]]></category>
		<category><![CDATA[Unreal Engine]]></category>
		<category><![CDATA[Voice Chat]]></category>
		<category><![CDATA[blueprint]]></category>
		<category><![CDATA[medium]]></category>
		<category><![CDATA[medium difficulty]]></category>
		<category><![CDATA[positional voip]]></category>
		<category><![CDATA[proximity voip]]></category>
		<category><![CDATA[steam]]></category>
		<category><![CDATA[steam subsystem]]></category>
		<category><![CDATA[ue4]]></category>
		<category><![CDATA[unreal engine]]></category>
		<category><![CDATA[voice chat]]></category>
		<category><![CDATA[voip]]></category>
		<guid isPermaLink="false">https://couchlearn.com/?p=380</guid>

					<description><![CDATA[<p>Voice Chat is a staple of modern multiplayer games. Many games include more open world aspects and the majority of players set their focus on <a class="mh-excerpt-more" href="https://couchlearn.com/positional-voice-chat-using-blueprints-in-ue4/" title="How to use VOIPTalker Proximity Voice Chat using only Blueprints in your Multiplayer Unreal Engine 4 game">[...]</a></p>
<p>The post <a href="https://couchlearn.com/positional-voice-chat-using-blueprints-in-ue4/">How to use VOIPTalker Proximity Voice Chat using only Blueprints in your Multiplayer Unreal Engine 4 game</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Voice Chat is a staple of modern multiplayer games. <br><br>Many games include more open world aspects and the majority of players set their focus on having positional Voice Chat. As a result, this audio data is attenuated (lowered in volume) over distance.  </p>



<h3 class="wp-block-heading">Is VOIPTalker Voice Chat Difficult?</h3>



<p>No, not at all!<br><br>Implementing Positional Voice Chat into your UE4 multiplayer game only using blueprints is simple and requires very little knowledge of how the backend C++ code works.<br><br>Adding this system to my own project initially was very difficult due to the lack of resources available from both the community and Epic themselves on their wiki.<br><br>As I don&#8217;t want anyone to follow the painful nights of troubleshooting like it did, I have created this guide for the UE4 community to enhance their own projects. </p>



<h3 class="wp-block-heading">Examples of proximity and positional voice chat&nbsp;</h3>



<ul class="wp-block-list"><li>Rust <a href="https://rust.facepunch.com/">https://rust.facepunch.com/</a> developed by Facepunch Studios</li><li>PUBG <a href="https://www.pubg.com/">https://www.pubg.com/</a> developed by PUBG Corporation</li><li>Fortnite <a href="https://www.epicgames.com/fortnite/en-US/home">https://www.epicgames.com/fortnite/en-US/home</a> developed by Epic Games</li></ul>



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



<ul class="wp-block-list"><li><a href="https://couchlearn.com/the-easy-way-to-add-voice-chat-into-your-multiplayer-unreal-engine-4-game/">Unreal Engine’s basic voice chat system fully working.</a></li></ul>



<ul class="wp-block-list"><li>Unreal Engine version 4.19 and above.</li></ul>



<ul class="wp-block-list"><li><a href="https://couchlearn.com/how-to-enable-the-new-audio-engine-in-your-unreal-engine-4-project/">The new audio mixer and associated plugins be enabled. </a> (If not using Unreal Engine 4.24)</li></ul>



<p>Complete these requirements to move onto adding the VOIPTalker component.<br></p>



<h2 class="wp-block-heading">The VOIPTalker Component</h2>



<h3 class="wp-block-heading">Adding the Component</h3>



<p>The VOIPTalker component intercepts voice data and runs it through any effects or attenuation thus preventing player voices playing directly to the players.<br><br>Firstly, on your character blueprint, type create the blueprint node named Add VOIPTalker and attach it to your Begin Play event. </p>



<figure class="wp-block-image"><img decoding="async" width="512" height="136" src="https://couchlearn.com/wp-content/uploads/2019/07/image-41.png" alt=" Adding the voice chat component" class="wp-image-487" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-41.png 512w, https://couchlearn.com/wp-content/uploads/2019/07/image-41-300x80.png 300w" sizes="(max-width: 512px) 100vw, 512px" /></figure>



<p>From the return value pin, promote the new VOIPTalker to a new variable. Call this variable something relevant as we will use this again soon. I named this VOIP.</p>



<figure class="wp-block-image"><img decoding="async" width="717" height="142" src="https://couchlearn.com/wp-content/uploads/2019/07/image-42.png" alt="Adding the voice chat component and promoting it to be used later" class="wp-image-489" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-42.png 717w, https://couchlearn.com/wp-content/uploads/2019/07/image-42-300x59.png 300w" sizes="(max-width: 717px) 100vw, 717px" /></figure>



<h3 class="wp-block-heading">Validating the Player State</h3>



<p>Next, connected to your Add VOIPTalker node, we need check if the PlayerState is valid and as a result, preventing failure during VOIPTalker&#8217;s initialisation.</p>



<figure class="wp-block-image"><img decoding="async" width="482" height="288" src="https://couchlearn.com/wp-content/uploads/2019/07/image-44.png" alt="Checking for a valid player state" class="wp-image-493" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-44.png 482w, https://couchlearn.com/wp-content/uploads/2019/07/image-44-300x179.png 300w" sizes="(max-width: 482px) 100vw, 482px" /></figure>



<p>There are far more pretty ways of doing this check but reliability and simplicity is key for understanding how this system works.<br><br>At this step, the code should look like this. </p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="281" src="https://couchlearn.com/wp-content/uploads/2019/07/image-43-1024x281.png" alt="Positional voice chat blueprints so far" class="wp-image-490" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-43-1024x281.png 1024w, https://couchlearn.com/wp-content/uploads/2019/07/image-43-300x82.png 300w, https://couchlearn.com/wp-content/uploads/2019/07/image-43-768x211.png 768w, https://couchlearn.com/wp-content/uploads/2019/07/image-43.png 1035w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">Registering Voice Chat data to the Player State </h3>



<p>VOIPTalker in its current setup, can&#8217;t receive any voice data.<br><br>We now need to assign the correct PlayerState.  </p>



<figure class="wp-block-image"><img decoding="async" width="277" height="171" src="https://couchlearn.com/wp-content/uploads/2019/07/image-45.png" alt="Registering positional voice with the player state" class="wp-image-498"/></figure>



<p>Using the Register with Player State node, we can assign the target pin to the promoted variable we created earlier. In the earlier steps we named this VOIP.<br><br>In the owning state pin, the PlayerState variable needs to be connected. </p>



<h3 class="wp-block-heading">Microphone Sensitivity</h3>



<p>When using this system I found that the microphone sensitivity was far to low to sustain voice chat without stuttering or cutting out entirely.<br><br>To fix this simply create a Set Mic Threshold node and set it to -1. </p>



<figure class="wp-block-image"><img decoding="async" width="248" height="126" src="https://couchlearn.com/wp-content/uploads/2019/07/image-48.png" alt="Setting the voice chat microphone sensitivity" class="wp-image-505"/></figure>



<h3 class="wp-block-heading">VOIPTalker Voice Settings</h3>



<p>We are almost there!<br><br>VOIPTalker by default has no effects, location for the sound to originate from or attenuation preset.<br><br>From the VOIP variable, drag and type set settings to create this node shown below. </p>



<figure class="wp-block-image"><img decoding="async" width="362" height="250" src="https://couchlearn.com/wp-content/uploads/2019/07/image-49.png" alt="Voice chat audio settings" class="wp-image-508" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-49.png 362w, https://couchlearn.com/wp-content/uploads/2019/07/image-49-300x207.png 300w" sizes="(max-width: 362px) 100vw, 362px" /></figure>



<p>This node gives us the ability to define the settings we want for our voice chat.<br><br>Set Component to Attach to a reference to the player&#8217;s camera. This will appear to make the audio originate from the player&#8217;s mouth. <br><br>I created a specific attenuation class for VOIP which will more accurately reduce volume over distance in the context of speech. You can create and set your own Attenuation class in here and tweak till it sounds right. </p>



<p><strong><a href="https://couchlearn.com/simple-audio-attenuation-in-unreal-engine-4/">If you don&#8217;t know how to setup Audio Attenuation in Unreal Engine 4 click here for a simple guide.</a></strong></p>



<p>In the content browser create a new source effect chain class and leave it empty. Assign the source effect chain setting option to this new class.</p>



<h3 class="wp-block-heading">Completed Blueprint</h3>



<p>The entire system is fairly simple. The lack of documentation is the difficult part.<br><br>Here is the complete blueprint nodes all inside my player character blueprint. </p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="149" src="https://couchlearn.com/wp-content/uploads/2019/07/image-50-1024x149.png" alt="Positional voice chat blueprints using VOIPTalker" class="wp-image-510" srcset="https://couchlearn.com/wp-content/uploads/2019/07/image-50-1024x149.png 1024w, https://couchlearn.com/wp-content/uploads/2019/07/image-50-300x44.png 300w, https://couchlearn.com/wp-content/uploads/2019/07/image-50-768x112.png 768w, https://couchlearn.com/wp-content/uploads/2019/07/image-50.png 1466w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Example Video</h2>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="First Person Positional Voice Chat Project Example" width="678" height="381" src="https://www.youtube.com/embed/jmhsiFvQSOM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div></figure>



<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="nWwtC"><a href="https://gumroad.com/l/nWwtC">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="klgQ"><a href="https://gumroad.com/l/klgQ">Loading&#8230;</a></div>
</div>
</div>



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



<p>Positional Voice Chat should be well documented and developed considering how many games use this feature.<br><br>If you found this tutorial useful please share to other developers, family and friends because I believe that this takes very little time to set up and adds a whole dimension of gameplay. <br><br>Developers should not have to rely on custom C++ solutions for basic multiplayer features. </p>
<p>The post <a href="https://couchlearn.com/positional-voice-chat-using-blueprints-in-ue4/">How to use VOIPTalker Proximity Voice Chat using only Blueprints in your Multiplayer Unreal Engine 4 game</a> appeared first on <a href="https://couchlearn.com">Couch Learn</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://couchlearn.com/positional-voice-chat-using-blueprints-in-ue4/feed/</wfw:commentRss>
			<slash:comments>76</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-15 17:03:57 by W3 Total Cache
-->