Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
10. September 2015

Just got this email from Unreal and damn is it cool!


Unreal Engine

Download the Infinity Blade Collection for free today!

Infinity Blade Collection

As our gift to developers, you can now download thousands of assets from the Infinity Blade universe for free in the Unreal Engine Marketplace!
Three impressive dungeon environments, two massive character packs, many sound and visual effects, and a host of melee weapons are available, no strings attached.
This content has been produced at the quality level players have come to expect from our successful mobile franchise, and represents a $3 million investment in art and sound design. We're excited to see what you make with it.

Infinity Blade: Grass Land

Infinity Blade: Grass Lands

Explore Grass Lands, the earthy citadel adorned with stone set pieces and beautiful props. It's lovingly crafted and yours to keep!

Infinity Blade: Ice Lands

Infinity Blade: Ice Lands

Delve into this beautiful wintery fort set within a glacial enclave. Build your own perilous quest using this free environment.

Infinity Blade: Fire Lands

Infinity Blade: Fire Lands

Check out Fire Lands, the castle interior laced with unforgiving paths and dramatic props. Make this rare locale all your own! 

Infinity Blade: Warriors

Infinity Blade: Warriors

Customize heroes with exotic battle gear and detailed armor. All characters are compatible with the standard Unreal Engine 4 skeleton.

Infinity Blade: Adversaries

Infinity Blade: Adversaries

Craft a range of fierce characters with this pack, which includes all the pieces for making robots, monsters, trolls and master warriors. 

Infinity Blade: Effects

Infinity Blade: Effects

Can you use attractive fire, smoke, lightning, fog, laser beams, magical reactions and other visual FX? Treat yourself to this pack!

Infinity Blade: Sound FX

Infinity Blade: Sounds

Use thousands of raw audio files and sound cues to take your audio to the next level. There are over 3,600 assets in this pack alone!

Inifinity Blade: Weapons

Infinity Blade: Weapons

Enjoy this awesome selection of melee weaponry. Access never-before-seen swords and axes along with a few Infinity Blade fan favorites.



Professional quality place holder assets don’t grow on trees, so this is an extremely cool move!  There is now a blog post about this topic available here.  Simply download from the asset store.  I am not entirely certain what the license is, but this seems to indicate a very liberal one:

Most of the content comes from Infinity Blade: Dungeons, which we made here at Epic and chose not to release. While it was a tough decision to make back then, the content is beautifully crafted, and we are happy for you to have it for free. Use it in any Unreal Engine 4 project, no strings attached. We succeed when you succeed.

There are special cameos from released games in the Infinity Blade series, including humorous weapons such as the finger, the lollipop, and the rubber chicken. My personal favorite is the popular Cardboard Hero armor from Infinity Blade II: Vault of Tears.


I look forward to jumping in to these assets a bit later, when I am not using my mobile for data!


EDIT:  Confirmed on Twitter that the only license limitation is use of the Unreal Engine:



Seems reasonable to me.

News Art

31. August 2015


Today Unreal announced the release of version 4.9 of the popular Unreal Engine.


Unreal always have fairly massive release notes, so here is the short hand version:

  • Enhanced Support for Mobile Devices
  • Dynamic Character Shadows for Mobile
  • Dynamic Point Lights for Mobile
  • Decals on Mobile
  • Major VR Updates
  • New VR Motion Controller Support
  • Experimental Direct X 12 Support
  • Full Scene Particle Collision with Mesh Distance Fields
  • Hierachical LOD Fast Preview and Clustering
  • Arch VIS Character Controls
  • Widget Depth ordering
  • Area Shadows (For Stationary Lights)
  • Ambient Occlusion Material Mask
  • Mesh Distance Field Materials
  • Improved Distance Field Ambient Occlusion
  • Content Browser Advanced Search
  • Collection Improvements
  • Plugin Creation Wizard
  • Enhanced Curve Editor
  • Multiple Return Nodes in Blueprints
  • Construct Custom Objects in Blueprints
  • Blueprint Class Defaults
  • Blueprint Communication
  • Optimized Math Expression
  • Blueprint Asset IDS
  • Montage Element Timing Interface
  • Non-Linear Animations Blending
  • Bone Driven Animation Controllers
  • Animation Transition Rules
  • Animation Curve Evaluation Change
  • Animation Asset Metadata Support
  • Sound Quality Levels
  • Custom Audio Attenuation Curves
  • Actor Tick Intervals
  • Actor Encroachment Detection
  • Post Process Blending
  • Runtime Asset Cache
  • Volume Decals (Experimental Only)
  • UE4 Documentation Tags, Version and Skill Level
  • Updated UE4 Documentation
  • Async Real-Time Audio Decompression
  • Shared Resources for Feature Packs and Templates
  • Improved HTML5 (Easy Setup, Amazon S3 Support, Networking)


This only represents the highlighted features too, be sure to check the full release notes for more details.


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


10. June 2015
Unreal Engine 4.8 Released!


Unreal just released version 4.8 of their popular Unreal Engine.  This is some very good timing as my recently released Tilemap tutorial depended on some key new features in the 4.8 preview release.


The timing of this announcement seems somewhat…  shocking, given that Unreal 5.1 was just released.  That said, this tit for tat between Unreal and Unity has nothing but advantages for us game developers.  The more they push each other, the better they get, the more we benefit.


The following are from the key features:



Grass Rendering and Procedural Foliage Systems

We've optimized our Grass Systems for use with large open worlds. Use it to produce huge amounts of grass and ground cover with temporal LOD cross-fading. We're also releasing an experimental preview of the procedural foliage system we used to paint foliage across our GDC 2015 Kite Demo.


Plugins Available in Marketplace

We've partnered with Allegorithmic to provide our first plugin available in Marketplace. Download the plugin today, and look for more plugins from select partners in the future!


Post Processing Enhancements and Tools

Major increase in accuracy of our Motion Blur, including morph target animations that can now generate motion blur. We've also updated our depth of field to be more physically-based, as well as added a new Tone Mapper to achieve more filmic look.


Multiplatform VR Support

Support for all the latest VR hardware including Oculus Rift, Samsung Gear VR, Steam VR and HTC Vive,Leap Motion, and Sony's Project Morpheus for PlayStation 4.


Network Replays

"Scrubbable" network replays with rewind support and live time scrubbing.


Asset Size Mapper

Visualize the memory footprint of game assets in an interactive tree map UI.



The full release notes are available here.  Some of the changed to Paper2D, the 2D game library built on Unreal Engine are game changers. has a complete set of Unreal Engine tutorials if you are interested in learning more.


9. June 2015


This isn’t actually a topic I intended to cover, I was actually working on demos for a Sound tutorial and needed a simple UI.  I started using UMG to knock up a simple HUD, then realized the UI layer itself probably required a tutorial of it’s own!  So here we are, we are going to quickly explore the widgets of UMG to create a simple UI.  As always there is an HD video version of this tutorial.

First we should touch upon some of the technologies available in Unreal Engine, as it can get a bit confusing.  There are two different technologies for UI in Unreal,  Slate and Unreal Motion Graphics(UMG).


Slate is a UI framework built on top of Unreal Engine.  Much of the Unreal Engine editor itself was built using Slate.  Slate fills the same role as UI solutions such as Scaleform would often perform, although Slate is a bit lower level than that.  Slate uses a declaration language that is a subset of C++.

Unreal Motion Graphics

UMG is a more recent development and is in-fact built over top of Slate.  It is a collection of UI Widgets ( buttons, labels, panels, etc ) exposed using Blueprints.  On top it includes visual designer for composing UIs.  UMG is the preferred technology for creating in game UIs.  In simple terms, it’s a UI layer that enabled you to work visually and using blueprints.


Creating a Widget Blueprint


To start creating your own UI, create a Widget Blueprint via Add New->User Interface->Widget Blueprint



I renamed it MyUI, somewhat unimaginatively.


Double click the Widget Blueprint to bring up the Designer:



The Palette has a collection of UI Widgets you can assemble in your own widget.  You may notice in the Hierarchy panel, we start with a Canvas Panel as our root element.


Creating a UI is as simple as drag and drop, like so:



As you can see, the properties for each widget can be set on the right hand side.  You can then wire events up to the UI component by clicking the + icon to the right of the Event you want to respond to.


This will create a new event in the UI widget event graph. 



We will do a simple Print String on button click, like so:



Now that we have a UI we need to display it.  To do so, in the Level Blueprint, add the following:


When the level loads, we create a new MyUI widget, and add it to the viewport.  The other bit of this blueprint gets the character controller and sets the mouse cursor visible.

Now when you run it, you should see:



The following function I wired up to a On key handler for toggling the visibility of the UI.  UI layer is a variable I set from the return type of Create MyUI Widget from the blueprint above.



Of course, this only brushes the very surface of what you can do with UMG, you can do very flash like timeline based animations and create much more involved UIs, but that goes beyond the scope of what I intend to cover today.


The Video


GFS On YouTube

See More Tutorials on!

Month List