Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
20. January 2016


Unreal have released another preview release of Unreal Engine, this release is 4.11 preview 3.

The release has the following fixes:

Fixed! UE-24810 Exponential Height Fog is not working
Fixed! UE-25137 Linux platform does not appear in Windows Binary
Fixed! UE-24260 Crash launching on Nexus 5 running 4.4.2
Fixed! UE-24132 HLOD crash when reopening a level
Fixed! UE-25070 Crash when overriding an animation in a child Anim Blueprint and then undoing
Fixed! UE-24403 First Person Template character no longer follows HMD rotation in VR
Fixed! UE-24714 Graphic corruption loading particles on Mac
Fixed! UE-24789 iOS Platform not found when packaging
Fixed! UE-24716 Crash occurs selecting to open Session Frontend or UFE on Mac and Linux
Fixed! UE-25268 bUsePawnControlRotation not working with VR
Fixed! UE-25057 Text variable types in BP Structure cause crashes
Fixed! UE-25352 Crash when loading 'GDC_KiteCine_Map' sublevel of GDC_Landscape01 in KiteDemo
Fixed! UE-24736 r.UseShaderPredraw needs to be reenabled
Fixed! UE-25424 Text shaping doesn't work on the Mac
Fixed! UE-25407 Remove unneeded reformatting of clang error output
Fixed! UE-25371 Loc is gathering from transient properties and objects
Fixed! UE-25322 Setting SupportedAgent's NavigationDataClass in Project Settings does nothing.
Fixed! UE-25128 Error when AT_MaterialFunction asset is opened
Fixed! UE-25115 No assets are created for static meshes in the level when generating LODs
Fixed! UE-25050 SideScroller2D BP and Code player can fall off sides of the map
Fixed! UE-24974 Baked shadows from static meshes that fall on dynamic objects cause artifacts with instanced stereo on
Fixed! UE-25372 Font cache can crash if the culture is changed mid-frame
Fixed! UE-25016 Custom Depth not rendering with mesh unless it's selected.
Fixed! UE-25035 Vehicle Code and BP templates have a missing texture
Fixed! UE-25204 Shader Complexity view mode not rendering correctly
Fixed! UE-25041 Landscape content has assets saved with empty engine version
Fixed! UE-22839 Custom Component Being Added to Wrong Target Blueprint
Fixed! UE-25361 UE4 Prereqs MSI does not install MSVC++ 2015 Runtime
Fixed! UE-25109 Player spawn point is incorrect in Third Person and First Person code template
Fixed! UE-23717 Ensure removing an implemented interface when transfering functions
Fixed! UE-25338 Crash playing level sequence after changing blueprint material
Fixed! UE-22845 Trigger Volume Blocks First-Person Template Projectile
Fixed! UE-22910 World Context Object Pin Appears on Nodes After Refresh
Fixed! UE-25498 Crowd simulation state is not set correctly

While also having the following known issues:

UE-25646 Can't interact with the Blueprint_Mouse_Interaction content example
UE-25644 First Person BP and Code gun has odd rotation
UE-25633 ContentExamples' NetworkFeatures map opens with Blueprint warnings
UE-25632 Asset produces error "Failed import for object property" upon loading editor
UE-25630 ContentExamples' Matinee map opens with PIE warnings
UE-25626 Asset with child actor component (documentation actor) crashes upon level load
UE-25625 Failing to compile will cause blueprint variables to reset to their default values
UE-25611 Disable writing NoOBBInstall batch file
UE-25605 ContentExamples' Math Hall map opens with Blueprint compiler warnings
UE-25599 [CrashReport] Auto-Convex Collision Generation crashing with specific Mesh
UE-25593 UnrealHeaderTool does not detect program plugins enabled by default
UE-25575 Long Google Play App ID can cause an invalid error
UE-25573 ContenExamples' LevelScripting map opens with Blueprint warnings
UE-25571 Can't Launch On or Package code templates on iOS
UE-25560 ContenExamples' Cloth map opens to SkeletalMesh warnings
UE-25553 Cinematic camera broken in Infiltrator
UE-25549 Closing Editor Crashes in OpenGL
UE-25548 Project Launcher Crashes in OpenGL
UE-25543 Actors that are scaled too small have incorrect collision responses
UE-25529 ContenExamples' BlueprintSplines map opens with blueprint warnings
UE-25524 ContenExamples' Audio map opens to missing NodeGuid warnings
UE-25521 Editor font doesn't render Arabic glyphs
UE-25520 The new BP gather method is ignoring non-root level BPs
UE-25507 Vehicle Advanced Template's dashboard view camera on ground in VR
UE-25506 Vehicle Template's dashboard view camera on ground in VR
UE-25502 Major artifacts in Shootergame bullet decals
UE-25495 Lots of Warnings for Kite demo when building via EC for the Launcher
UE-25493 Kite demo and Tappy CHicken fail to build via EC: Assertion failed: NewProperty [File:\BuildFarm\buildmachine_++UE4+Release-4.11\Engine\Source\Editor\KismetCompiler\Private\KismetCompiler.cpp] [Line: 665]
UE-25479 Unable to package a BP project for Linux missing UE4Game binary
UE-25477 BlueprintOffice has missing NodeGUID warnings on open
UE-25474 Callstacks are not properly written within a clients logs after a crash has occured
UE-25451 Construction script on child actor components not respected in PIE
UE-25444 SceneCapture(HDR) malfunctions on Mali devices.
UE-25433 UFE: HTML5 custom on the fly deployment stalls when trying to connect in Firefox.
UE-25422 Actor loses and regains net relevance, replicated references to it not handled correctly
UE-25411 Tappy Chicken does not display a numerical score on iOS
UE-25387 First Person projects packaged in Shipping for HTML5 constantly rotate upwards
UE-25383 UFE: Unable to deploy content to Android_ETC1 in custom profile. It stalls at the deploying stage and goes on indefinitely.
UE-25377 Spinning logo in Blueprint_Communication map is the incorrect size
UE-25355 Polygons are black in KiteDemo levels
UE-25352 Crash when loading 'GDC_KiteCine_Map' sublevel of GDC_Landscape01 in KiteDemo
UE-25334 Tessellation no longer working in 4.11 Preview 2
UE-25333 Mac project packaged in Shipping does not have a UE4 icon
UE-25328 Rendering artifacts when hovering over menu buttons on AMD card
UE-25323 Opening a project that contains an actor in viewport with a child actor component of type TextRenderActor crashes the editor
UE-25315 Improve code practices in Match3
UE-25313 iOS crash on launch on some devices
UE-25272 IHeadMountedDisplay Crash
UE-25267 Crash in IHeadMountedDisplay::ApplyLateUpdate
UE-25266 HTML5 packaging code project fails could not verify LLVM version
UE-25257 Mac HTML5 project crashes upon downloading expression HasFoundDataDirectory failed
UE-25235 Collision volumes don't keep their color in cooked game
UE-25233 Unable to add Chrome as a platform in the HTML5 SDK option. This prevents launching a project in Chrome.
UE-25214 LaunchOn for Firefox fails during the downloading of packaged data.
UE-25199 Crash when using +CVars=r.MobileContentScaleFactor=2
UE-25150 iOS build failure in 4.11 preview 1
UE-25147 ASTC textures with alpha channel corrupted by -alphablend optioion
UE-25146 Crash occurs texture painting on Mac with Metal
UE-25143 Crash occurs opening level sequence assets in QAGame
UE-25129 Crash occurred painting on landscape sublevels with Retopologize tool
UE-25123 Mac Editor Freezes after connecting and disconnecting a mobile device
UE-25118 Retopologize tool does not line up with cursor
UE-25111 Signal 11 error when closing project on Linux
UE-25097 TextureSampleParameter2D ignored in PostProcessMaterial
UE-25093 Landscape tool switches to Manage New Landscape when hiding a level with landscape mode open.
UE-25069 [CrashReport] Editor crashes if pointlight is added to level on El Capitan
UE-25065 [CrashReport] UE4Editor_Persona!FPersonaMeshDetails::IsSectionSelected() [personameshdetails.cpp:1179]
UE-25025 Undoing a change to equation of Math Expression node breaks output link
UE-25021 Project Thumbnail is distorted on Mac
UE-25015 Separate Translucency disabled in the Project Settings will not render asset
UE-25014 Persona viewport flickers when viewing a skeletal mesh on Nvidia driver 361.43
UE-25011 Crash when selecting a revision with the Blueprint Diff Tool
UE-25006 Merge bug fix for Vertex Colors in UI Materials into 4.11
UE-24994 Character is discolored and has a square shadow on Galaxy S5
UE-24993 Color Picker closes when selecting color in the Level Details Panel in a Blueprint actor
UE-24992 Undo not stepping back properly when the UMG widget is added to a sequence
UE-24968 Double clicking a widget will cause details properties to disappear
UE-24967 Integrate D3D12 update from MS
UE-24959 "Send and Restart" brings up the Project Browser
UE-24954 Enabling wifi while a game is running causes the device to freeze or crash
UE-24948 First Person template has odd reflections on the Galaxy S3 Mali
UE-24913 RecieveTick_Copy not working - Should not be able to make event copies
UE-24908 Cloth crash when changing frequency to 0
UE-24878 Crash when Converting 4.10 Project to 4.11 possibly related to Oculus Config Utility
UE-24843 Project launcher splash does not disappear after project opens on Linux
UE-24833 Crash undoing the adding of a Child Actor Component
UE-24822 Widget must be selected twice to transform newly added components in the blueprint viewport
UE-24813 Skylight Indirect lighting Intensity has no effect
UE-24793 iPadPro uses wrong resolution
UE-24792 Blocky terrain artifacting on iPadPro
UE-24757 Editor crashes when exiting and having a widget blueprint open.


For those of you that like to walk on the wild side, the preview release can up downloaded using the Epic Games Launcher.

GameDev News

14. January 2016


Want a little extra spice in your development life?  Does juggling live hand grenades, chainsaws and lit dynamite sound like a fun way to spend the afternoon?  Then have I got news for you!  Unreal Engine 4.11 Preview 2 has been made available.  Obviously it’s a “you get what you get” type preview release and the purpose is to find out what’s going to explode to make for a more stable release when the less adventurous types upgrade.


Preview 1 added:

  • Rendering Updates:
    • New physically based shading model for realistic hair based on the latest research from film. It models 2 specular lobes, transmission, and scattering.
    • New physically based shading model for eyes.
    • New physically based shading model for cloth. This combines the standard shading model with a layer of velvet fibers. This layer simulates fuzz and fabrics.
    • Capsule Shadows - We now have support for very soft indirect shadows cast by a capsule representation of the character
    • Lightmass Portals - Skylight quality indoors can be massively improved by setting up Portal actors over openings. Portals tell Lightmass where to look for incoming lighting, they don’t actually emit light themselves. Portals are best used covering small openings that are important to the final lighting. Placing large Portals all over the level will dramatically increase build times.
    • Per-vertex translucency lighting - There are two new translucency lighting modes available in the material editor which compute lighting per-vertex. PerVertex lighting modes use half as many shader instructions and texture lookups.
    • We now have support for 3 lighting channels. You can set which channels a PrimitiveComponent or a LightComponent is in.
    • We’ve integrated Intel's Embree ray tracing library into Lightmass and we got a huge lighting build speedup from it, as the majority of lighting build time goes toward tracing rays to figure out how light is bouncing.
    • We’ve integrated updates to the D3D12 RHI to allow better CPU utilization while generating rendering commands in parallel.
    • Improved quality and performance of the SubsurfaceScatteringProfile shading model.
    • Circle Depth of Field post process - New Material Functions to render small particles with out of focus.
    • Materials using separate translucency can now be rendered at a lower resolution, which can be useful to improve GPU performance for fillrate and overdraw heavy geometry (for example particle effects).
      The resolution is controlled via a console variable, r.SeparateTranslucencyScreenPercentage, which expresses separate translucency as a percentage of current screen resolution.
    • Static mesh LOD transitions now supporting dithering.
  • Core Updates:
    • CrashReporter Server available
    • Improvements
      • Garbage Collection up to 4x faster
      • Dependency preloading - brings us close to seek free loading (90% of the time seek free), faster package loading
      • UnrealHeaderTool makefiles - iterative UHT runs are 5x faster
  • Platform Updates:
    • Metal on Mac
    • AppleTV support
    • Fast Semantics on XboxOne
    • VS2015 on XboxOne
    • Code plugins for PS4
    • Deterministic cooking "bug-finder" commandlet
    • Background content precaching for most-recently-cooked-platform
  • Editor/Tools Updates:
    • Sequencer improvements
      • New tracks: Shot/director, play rate, slomo, fade, material, particle parameter tracks.
      • Improved movie rendering, exr support
      • Improved/consistent keyframing behaviors, copy/paste keyframes, copy keys from matinee, 3d keyframe path display
      • Master sequence workflow
      • Spawnables workflow
      • UI improvements: track coloring, keyframe shapes/coloring, track filtering
  • Framework Updates:
    • Anim Dynamics Skeletal Control for Animation Blueprints - allows dynamic motion to be procedurally added to skeletal meshes without having to use a full physics solution. This is accomplished using the new “Anim Dynamics” node in the Animation Graph of an Animation Blueprint.
  • Networking Updates:
    • Packet handler system
      • Easy interception of packets for things like encryption, compression, etc
      • Added CryptoPP, and packet handler components that support it out of the box
    • Oodle integration (SDK purchase required)
    • Client-side replays
  • Blueprint Updates:
    • The Blueprint search tool has been updated to support more advanced search functionality (to get more targeted results).
    • Native C++ functions marked BlueprintCallable can now also be optionally marked as DevelopmentOnly. This new metadata allows calls to those functions to be disabled (compiled out) of all Blueprint function graphs in cooked/packaged builds without breaking the execution flow.
  • Mobile Rendering Updates:
    • Support for hardware instancing on iOS and many Android devices, reducing draw calls for Foliage and InstancedStaticMeshComponents.
    • Improved reflections on mobile, optionally interpolating between up to 3 reflection captures and performing parallax correction
  • VR Updates:
    • Instanced Stereo Rendering
    • Head Mounted Display Camera Refactor
    • Stereo Layers
    • SDK Updates: Oculus SDK 1.0, SteamVR 1.0, PlayStationVR SDK3 Updates, and Gear VR LibOVRMobile 1.0 (not yet updated for Preview 1, but will be by final release)
  • Landscape/Foliage Updates:
    • Landscape layer whitelisting, allowing you to control which landscape components should accept which layers in the painting tool
    • Landscape layer usage view mode, to quickly see which landscape components are using which layers
    • Support for baking WorldPositionOffset changes into landscape collision

Preview 2 mostly addresses a number of fixes from Preview 1, including:

Fixed! UE-24563 Editor should launch launcher silently
Fixed! UE-25092 Error in NonUnityTestCompile_OnMac due to Shadow variable
Fixed! UE-25032 UnrealHeaderTool is checking for plugins required only by game.
Fixed! UE-24812 Editor crashes when adding a mesh reference to the event graph of a blueprint
Fixed! UE-24590 Crash resetting Bound Bone in Anim Dynamics node
Fixed! UE-25064 Crash upon removing Input Axis in Project Settings by using X
Fixed! UE-24958 Crash when getting the sequence player in level blueprint
Fixed! UE-24857 Re-implement plugin changes in 4.11
Fixed! UE-24854 Add release custom version
Fixed! UE-24729 Vehicle Blueprint template has hole in the floor
Fixed! UE-24710 Third Person Code has failed import load errors
Fixed! UE-24694 Match 3 crash when spamming gem moves
Fixed! UE-24773 Enabling Tessellation on Materials in 4.11 causes geometry to Disappear
Fixed! UE-24741 Flickering SpeedTree foliage when destorying an actor using the same mesh
Fixed! UE-24724 Dropdown menus are behind the Import window on Mac
Fixed! UE-24292 Using the Set console command to change a value at runtime causes a crash
Fixed! UE-24326 Vehicle Advanced projects have missing and blocking collision
Fixed! UE-24522 Find-in-Blueprints no longer works after switching languages.
Fixed! UE-24167 Physics Asset cannot be moved in the level
Fixed! UE-25140 VS2015 builds sometimes hang when using XGE
Fixed! UE-25027 Reading from ini sections not cached by new build system doesn't work in Android Plugin Language
Fixed! UE-25026 Puzzle Code lighting needs to be rebuilt
Fixed! UE-25013 Editing right-to-left text is very unstable
Fixed! UE-24967 Integrate D3D12 update from MS
Fixed! UE-25120 OBB downloader license check causes exception if TargetSDK set to 21 or higher
Fixed! UE-25090 Java libraries copied to JavaLibs by Android plugin are not included in project dependencies
Fixed! UE-25031 Mesh particles do not work on mobile
Fixed! UE-24989 Find-in-Blueprints does not find anything outside of current asset or Engine content
Fixed! UE-24975 Instanced stereo foliage culling incorrectly
Fixed! UE-24963 Zen Gardens opens with Load Errors/Map Checks/Warnings
Fixed! UE-24962 Crash exiting D3D12
Fixed! UE-24926 Include Render Pass name as variable in Filename Format field
Fixed! UE-24920 EXR renders won't go above 640x360 when rendering from an Editor Window
Fixed! UE-24900 Main and Alt input keys set in Touch Interface do not work
Fixed! UE-24873 Mac: Clicking on parent window when a child window is behind it activates the child window
Fixed! UE-22068 Changing inherited value in a blueprint child class also changes it in parent
Fixed! UE-21795 Switch on Gameplay Tag does not correctly register tag alterations in Standalone game
Fixed! UE-23269 Crash opening QA-Animation on Mac
Fixed! UE-22970 The white horizon for the sky is flipped upside down (at top of screen instead of bottom) for non-MobileHDR on mobile devices
Fixed! UE-24852 Creating a Blueprint out of existing Blueprints crashes the editor

You can read more about the release on the Unreal Engine forums.

GameDev News

11. January 2016


Out of the box Unreal Engine 4 has support for C++ and Blueprints.  This leaves a bit of a gap for people that want more of a scripting experience but don’t want to work in a visual language like Blueprints.  Of course we have full source code access and Unreal Engine has solid plugin support so it was only natural for a few third party languages to pop up.  What follows is the list of external programming language options for developing in Unreal Engine.



Probably the best supported language alternative, there are two major implementations of JavaScript for UE4:



Released by NCSoft, the folks behind the popular Guild Wars RPG series, this plugin adds JavaScript support via the V8 engine.  Impressive in it’s scope, it includes CommonJS module support, .d.ts files for Intellisense support, a Jade like templating engine, live reload as well as access to the entire Unreal SDK.



Another implementation of JavaScript via the V8 engine.  Older, small in scope and less supported, so probably best to go with Unreal.JS.



This one is a bit tricky.  There was an early leader in an implementation by Xamarin, until licensing differences killed that project.  The only other alternative is currently Windows only.


Mono for Unreal Engine

Sadly no longer under development because of licensing issues, this version is outdated, requiring Unreal Engine 4.4 and a Xamarin license to deploy.



Currently the best bet for C# development using the Unreal Engine but sadly confined to Windows only.  In the authors own words “This project is still highly experimental, and not very useful (though it's getting there)”.  It’s open source and hosted on Github if you wanted to contribute.



There is one project looking to add Haxe language support to Unreal Engine.  Fortunately it’s pretty far along.



Fully supporting subclassing UActor and Blueprints, the Haxe code compiles directly to C++ code leaving minimal overhead.  This implemetnation gives access to the entire Unreal Engine API.





Slightly different than the other languages on the list, this project implements a simple plugin enables you to link a 3rd party Rust library to C++ in Unreal Engine.



A custom scripting language for Unreal Engine (and other game engine) development, SkookumScript is in their own words “SkookumScript is a text-based programming language for creating performance-critical, real-time gameplay. It is now available as a free turn-key plugin for Unreal Engine 4 (UE4)”.  SkookumScript was used to create the game Sleeping Dogs.



No doubt there are languages I’ve missed, so if you know of one at is in at least a runnable state, please leave a comment below and I will add it.  I am somewhat shocked that I couldn’t find a Lua plugin at this point! 


4. January 2016


We recently covered getting started in GearVR development using Samsung’s GearVRf library and the Unity Engine.  Today we are going to finish it off with coverage of getting started using the Unreal Engine.  As with the Unity tutorial, although this is focused on the GearVR, most of the instruction should be equally valid for all Oculus Rift devices.  Of all the game engines, the Unreal was actually the easiest engine to get up and running with the GearVR.


There are a few pre-requisites before getting started:

There is a video based version of this tutorial available here and embedded below.


Configuring Unreal Engine

In order to be able to run code on your phone we need to add the Oculus Signature file to the application.  With Unreal Engine, this is configured at the engine level which is handy as you only have to configure it once for and it will work with all future projects.  If you haven’t already, sign up for an Oculus developer account, then get your key.  This will generate a file that we need to copy now.

The directory you want is [Unreal Install Dir][Version]\Engine\Build\Android\Java\assets.  In my install it was:



Creating a Project

You can use just about any settings, but these ones work well.


This will mostly just set presets that are mobile friendly.  Click Create Project when ready.


Configuring Your Project

If not done already, load your project in Unreal Engine, then select Edit->Plugins:



Now verify (or turn on) the GearVR and Oculus rift libraries and plugins, like so:



Now select Edit->Project Settings:



Locate Android SDK on the left hand side then on the right configure the location of your Android SDK install.



Now go to Android, set the Android minimum level then click the Configure Now button:



While in the Android settings, be sure to enable GearVR support!



Build Your App


Now build and package for Android, in the File Menu, select Package Project->Android->Android (ETC2):


Pick a location for the generated APK then Ok.


For the record, Unreal Engine Android builds are really really really slow.


When complete this will generate the APK file to run on your phone, as well as a pair of BAT files to quickly deploy to your device.  The noOBB batch file doesn’t copy data, only the updated executable.  Keep in min,d, you need to have your device either tethered or running wirelessly over adb to deploy.  This means removing it from the GearVR, which is an annoying process.  If you don’t need to fully test VR functionality, it might be faster to work in developer mode. [Link soon]




23. June 2015


With the release of version 4.8 of Unreal Engine, playing audio actually became a great deal easier for 2D games with the addition of PlaySound2D.  In this section we are going to learn how to import and play audio files in Unreal Engine.  For the application controller I created a simple UI that fire off the playing of audio.  If unfamiliar with creating a UI with UMG ( Unreal Motion Graphics ), be sure to read the previous tutorial.


As always there is an HD video version of this tutorial available right here.

We are going to be creating a simple UI to fire off audio events:



We will simply wire each button to fire off our examples.  I also needed several audio samples.  I personally downloaded each one from


Importing Audio Files


First we need some audio to work with.  So then… what audio files work with Unreal Engine?  Mp3, mp4, ogg?  Nope… WAV.  You can import your sound files in whatever format you want, so long as it’s wav.  Don’t worry, this isn’t as big of a hindrance as it sounds, as Unreal simply takes care of the compression and conversion steps required for you.  So the fact your soundtrack is 10MB in size isn’t as damning as it seems, as Unreal will take care of the required conversions for you.  Being in an uncompressed source format enables Unreal to offer a lot of power as you will see shortly.  Also it neatly steps around a number of licensing concerns, such as the patent minefield that is mp3.  If you’re source files aren’t in wav format, you can easily convert using the freely available and completely awesome Audacity sound editor.


Your WAV files can be in PCM, ADPCM or DVI ADPCM format, although if using defaults you most likely don’t need to worry about this detail.  They should be 16 bit, little endian (again… generally don’t worry) uncompressed format at any bitrate. 22khz and 44.1khz are recommended however, with the later being the bit rate CD quality audio is encoded at.  Your audio files can be either mono (single channel) or stereo (dual channel), plus you can import up to 8 channels of audio ( generally 8 mono WAV files ) to encoded 7.1 surround sound.  This is way beyond the scope of what we will be covering but more details about 7.1 encoding can be found here.  Importing audio is as simple as using the Import button in the Content Browser, or simple drag and drop.


Once imported, you can double click your audio asset to bring up the editor.



Here you can set a number of properties including the compression amount, wether to loop, the pitch, even add subtitle information.  There isn’t anything we need to modify right now though.  I have imported a couple different mono format wav files, like so:



And created a simple button to play the audio when pressed:



Playing Sounds


Now let’s wire up the OnClick event to play Thunder.wav, with the following blueprint:



Yeah… that’s all you need to do, drop in a Play Sound 2D function, pick the Wave file to play and done.  Before 4.8 the only option was Play Sound at Location, which is virtually identical but required a Position component as well.  You can achieve the same effect this way:



Both Play Sound at Location and Play Sound 2D are fire and forget, in that you have no control over them after the sound has begun to play (other than at a global level, like muting all audio ).  Neither moves with the actor either.


What if you want the audio to come from or move with a node in the scene?  This is possible too.   First let’s create a Paper2D character to attach the audio component to.  This process was covered in this tutorial in case you need a refresher.  Don’t forget to create a GameMode as well and configure your newly created controller to be active.


Using the Audio Component


I created this hierarchy of a character:


Notice the Audio component I’ve added?  There are several properties that can be set in the Details panel for the audio component, but the most important is the sound.


I went ahead and attached my “music” Sound Wave.  You can set the music file to automatically play using the Activation property:


There is also an event available that will fire when your audio file has finished playing. 


Unlike PlaySound2D, this sound isn’t fire and forget.   It can also be changed dynamically using the following Blueprint:


This blueprint finds the Audio component of our Pawn and then set’s it’s Sound using a call to Play Sound Attached.  As you can see, there are several available properties to set and you can easily position the audio in the world.


As I mentioned earlier, you can also manipulate a running Sound wave when attached as an audio component, like so:



Paradoxically, there doesn’t actually seem to be a method to get the current volume.  The obvious solution is to keep the volume as a variable and pass it to Adjust Volume Level.


Sound Cues

So far we’ve only used directly imported Sound Wave files, but every location we used a Wave, we could have also used a Cue.  As you will see, Cues give you an enormous amount of control over your audio.


Start by creating a new Sound Cue object:


Name it then double click to bring up the Sound Que editor:


This is well beyond the scope of this tutorial, but you can essentially make complex sounds out of Sound nodes, like this simple graph mixing two sounds together:



Again, any of the earlier functions such as Play Sound 2D will take a Cue in place of a Wave.


We have only scratched the very surface of audio functionality built into Unreal Engine, but this should be more than enough to get you started in 2D.


The Video


See More Tutorials on!

Month List