Unreal Engine Winter Update
The biggest news from Unreal come recently: Unreal Engine 4 is now free to use! Unfortunately, I’ve been remiss in updating the other news about Unreal Engine this Winter, so here is a roundup from the last several months.
Unreal Engine 4.6 Released
Version 4.6 of the Unreal Engine hit in December, and included many new features.
- Experimental: 3D Unreal Motion Graphics UI – UI widgets can now be attached to components and displayed in the 3D scene!
- Static Lighting from Emissive Materials – Emissive materials can now directly illuminate surrounding objects!
- Static Lighting on Foliage – Precomputed lighting and shadows are now supported on foliage objects and instanced meshes! This allows for very efficient rendering in scenes with Stationary or Static lights.
- Demo Recording (Network Replay Capture) – This allows you to save an “instant replay” of your gameplay! It captures your game’s network stream to a “demo” file that you can play back later or share with others. You can even use time-warping to slow down your game or fast-forward through it quickly.
- Experimental: Mobile Preview in Editor – You can now preview what your scene will look like on mobile devices directly in the editor viewport! Shaders will emulate the look and feature set of OpenGL ES2, and you can switch back and forth seamlessly.
- Experimental: Web Browser UI Widget – Host web pages right inside your game or editor tools using the new Web Browser UI widget.
- Steam Online Sessions in Blueprints – Unreal now supports hosting, discovering and joining online sessions through Blueprint scripting!
- New Material System Features
- Materials with Many Textures – Materials can use up to 128 unique textures by making use of new ‘shared’ texture samplers. These are set on a TextureSample node by setting the SamplerSource property. Previously, you could only use up to 13 textures.
- Real-time Preview of Scalar and Vector Parameter default values – You can now change the default value of any scalar or vector parameter and see the result instantly in all 3D viewports.
- Expose Parameters from Material Functions – Material Instance parameters are now supported in functions. This makes it really easy to expose parameters to material instances. This brings functions to feature parity with materials, the same node graphs can be used in either. The only exceptions are the function input and output nodes which are inherently function-only.
- Animation: Play Multiple Montages – Until now you could only play one Montage at a time on a Skeletal Mesh. Now you can play as many as you would like!
- Anim Slot Manager – The ‘Anim Slot Manager’ is where you will manage your Slot and Group names. It displays hierarchical view, and lets you make changes.
- Editing Slots on Montage Tracks
- Editing Slots in Animation Blueprints
- Root Motion from Everything – Unreal Engine now supports blended root motion from multiple animations!
- Animation: “Humanoid Rig” Quick Select – A new feature in Persona has been added to select the Humanoid Rig that is built into the engine. This rig is commonly used for animations you’ll find on the Unreal Engine Marketplace.
- New Blueprint Editor Menus – We’ve redesigned how Blueprint editor’s right-click menu works to provide more accurate and relevant results.
- Larger 3D Worlds – The maximum size of an individual world has been increased to approximately 20 kilometers across. Also, we now support 3D world origin shifting (instead of only 2D shifting.)
- Faster Packaging and Cooking – Packaging or cooking content from within the editor is now faster than ever!
- Navigation Mesh Streaming – Unreal Engine can now stream sections of precomputed navigation data in or out of memory on the fly.
- Unreal C++ Programming
- Simplified Class Declarations
- Simplified Casting
- UI: Game Controller Support – You can now navigate between UI elements using a joystick!
- UI: Composite Fonts – Slate and UMG now support font families and composite fonts. These allow you to create fonts that are actually made up of multiple sub-fonts, and each font can be used for different ranges of characters. This is really useful for displaying localized text.
- Font Assets – The font asset type has been updated to support embedding a composite font along with its associated TTF or OTF font file data.
- Font Editor – The font editor has been updated to allow you to create composite font assets.
- Fonts in Unreal Motion Graphics (UMG) – The old interface in UMG that let you specify a TTF or OTF file from disk has been removed, and replaced with an asset picker that lets you choose a composite font asset, and then pick a font from the default font family.
- Fonts in Slate – Any existing font code in C++ based Slate style sets will still work, however you might want to consider updating your style sets to take advantage of composite fonts.
- Fonts in Canvas – Canvas supports both types of font asset caching, however this is to improve the localization support for some of our tools.
- Blueprint variables now have to be marked public/editable to be accessible from other blueprints.
- GENERATED_BODY replaces GENERATED_UCLASS_BODY and provides additional UObject improvements. More changes are planned for GENERATED_BODY with the 4.7 release and users with existing code may wish to delay switching existing classes until then.
- TSubobjectPtr has been deprecated, along with all public subobject properties which will be made private in the 4.7 release. Going forward, classes should be designed so that all subobject properties are private and can only only be accessed through public Get*() functions.
- FObjectInitializer now replaces PostConstructInitializeProperties.
There are many additional changes, bugfixes, and notes, which can be found in the Release Notes on the Unreal forums.
Soon after the release of 4.6, a hotfix was released to update the engine to version 4.6.1.
Unreal Engine 4.7 Released
The latest edition of Unreal, Version 4.7 was released in February. This release was massive, so the following are only a portion of the many major changes to the engine.
- Realistic Foliage Lighting – The new Foliage Shading Model allows light to be transmitted through grass, leaves, paper, and other materials
- Faliage Rendering for Large Worlds – The foliage system has been optimized to to support huge, open environments!
- In-World Component Editing – Components can now be added directly to actors placed in your level. This allows you to assemble new actors out of components without having to create a Class Blueprint first. It’s great for experimenting with components and assembling new objects right inside your level.
- Placeable Empty Actors – You can now drag and drop to place “empty actors” right into your level!
- Blueprint-able Components – Create your own component types using Blueprint scripting! You can save these components and reuse them on any actor!
- Automatic Asset Importing – Importing meshes, sounds and textures has never been easier. Simply save your source art files under your project’s Content folder, and the editor will automatically import the new files, ready to be used in UE4!
- Redesigned Blueprint Editor UI – The Blueprint Editor has been redesigned to be easier to use! All three modes have been unified into a single screen to help streamline your workflow, along with many other improvements.
- HTML5 and WebGL Support (Windows Only) – You can now package and run your game in a Web browser through the binary tools you get through the Launcher.
- OpenEXR: High Dynamic Range Textures – 2D High Dynamic Range (HDR) textures can now be imported from OpenEXR files! You can store images with up to 16-bits of data per channel (about 30 stops of exposure.)
- Android Development on Mac – The OS X version of Unreal Engine now fully supports Android development!
- Full Engine C++ Source Code and Debug Symbols – Unreal Engine now includes the full engine C++ source code and debugging symbols when installed using the Launcher!
- Play in Virtual Reality – We’ve added a new “VR Preview” button to the editor! If you have an Oculus Rift device plugged in, you can instantly play your game in virtual reality.
- Leap Motion Plugin (*Beta*) – UE4 now ships with support for the Leap Motion device through a plugin. This allows you to use Leap’s hand tracking technology directly in your project. Their API is exposed in both Blueprints and code, so any project can take advantage of the tech.
- C++ Classes in Content Browser – Your game’s C++ classes are now visible in the Content Browser!
- Morph Target Exaggeration – Morph Targets can now be weighted higher than 100%, allowing for exaggerated poses, or below 0% for inverse poses.
- Feature Packs and Content Packs – You can now add new “features” and content to your game at any time using Content Browser! Packs can contain any combination of content, blueprint classes or C++ classes.
- Animation Editing System – You can now edit animations right inside the Persona animation tool!
- Instant Bone Controller Preview – Bone Controller nodes can now be adjusted interactively using the viewport gizmo, rather than having to recompile each time!
- Creating Animations from Physics – You can now record physics simulation in the physics editor (PhAT) and save that as an animation!
- Project Launcher – The new Project Launcher interface allows you to easily run or package your game with more control!
- Blueprint Merge Tool – You can now merge different Blueprints together using the new Blueprint Merge Tool.
- Git Source Control Plugin (*Beta*) – Thanks to community member Sébastien Rombauts for graciously contributing his excellent Git source control plugin to Unreal Engine!!
- AI Perception System: Blueprint Scripting – The AI Perception System can now be configured using Blueprint scripts! Just add an AI Perception Component to your AI, then inspect and tweak its properties and events.
- New Thumbnail Look and Feel – The editor now displays asset thumbnails using a new colorful style
- Paper2D: Improved Tile Map Layer Editing – We’ve added lots of useful layer editing features to the Tile Map editor!
- Paper2D: Flipbook Collision Detection – Flipbooks allow you to create 2D animations out of images that play in a sequence. Now, you can define collision properties for your animation frames!
- UI: Custom Cursor Support – You can now create custom Widgets to use as Software Cursors in your project. You can use all the functionality of Unreal Motion Graphics to add text, health meters, tool-tips or whatever you desire to your cursor.
- Unreal Motion Graphics (UMG): New Widget Binding System – The binding system for widgets has had a massive overhaul to allow support for binding to sub-properties and functions on the widget, and to greatly improve performance!
- Visual Logger (AI Visualization Tool) – We have a whole new Visual Logger tool with lots features. This is designed to help you debug and fine-tune AI in your project!
- Translucent Object Ordering Control – This new feature allows you to configure the order that the renderer draws translucent objects. This is really useful for 2D games!
- Fixed Blueprint Cyclic Dependencies – Blueprint loading has been redesigned so that it should be able to handle any “cyclic” scenario you throw at it. Your Blueprints can intermingle and cross-communicate all they want, and most importantly: they will load up properly next time around.
- Unreal C++ Programming Improvements – We’re continuously working to make C++ in Unreal Engine easier to use and more familiar to everyone.
- Multi-Threaded Animation – Animation pose calculations are now offloaded to multiple CPU cores reducing the overall amount of time the engine takes to calculate animation.
- Desktop-Quality Rendering on Android (*Beta* – OpenGL ES 3.1 W/ AEP) – OpenGL ES 3.1 (combined with the Android Extension Pack) gives you the ability to use much of the full desktop rendering experience on Android devices! This feature is currently in beta testing, please provide feedback.
- Downloadable Content (DLC) Packaging (*Beta*) – Downloadable content (DLC) can now be packaged up for distribution!
- Android Movie Playback – Loading movies and startup movies now play on Android devices! You can configure startup movies to play in your Project’s Settings.
- Android SDK Path Setup in Editor – You can now set the locations for the SDK components needed for Android development directly in the “Android SDK” section of Project Settings. This can greatly simplify the initial setup!
- Access Non-Editable Blueprint Variables – You can once again access variables from other Blueprints without having to make those variables “Editable”. This was already possible in the 4.6 release, but not in 4.7. Sorry about that!
- AI Blackboard Syncronization – Keys defined in a Blackboard asset can now be marked as ‘synced’, which synchronizes its value across all AI using it. This allows you to synchronize behavior across multiple AIs, or be can be used for communication between them.
The full release notes for Unreal Engine 4.7 can be found on the Unreal Documentation page.
Some of the major features in Unreal Engine 4.7 include the HTML5 export target, support for Gear VR, LeapMotion support, and support for the OUYA. Check out the individual blog posts, or the following tweets:
— Unreal Engine (@UnrealEngine) February 24, 2015
Samsung Gear VR and Google Project Tango Support Coming to UE4 http://t.co/2oKzuHHoqP
— Road to VR (@RtoVR) September 16, 2014
— Unreal Engine (@UnrealEngine) February 24, 2015
— OUYA (@playouya) January 27, 2015
nVidia PhysX Source for Unreal Engine
Soon after the Unreal Engine source was released, nVidia complemented it by releasing the source code for PhysX processing for all Unreal Engine developers.
— Unreal Engine (@UnrealEngine) March 4, 2015
Mixamo Free Motion Pack
Mixamo has released a pack of 15 characters and 7 animations, available in the Unreal Engine 4 Marketplace. This is a great starting point for creating characters, especially if you are using models compatible with the Mixamo Motion plugin.
Get Mixamo's New Free Motion Pack in the Unreal Engine 4 Marketplace http://t.co/LtYo33TLPG
— Mixamo (@Mixamo) July 31, 2014
Starter Kit Templates
User FTC has started porting his Adventure Kit, originally for UDK, over to UE4. This should make it much easier for users to quickly begin working on a new UE4 project.
— Unreal Devs (@UnrealDevs) August 4, 2014
You can sign up as a Unreal Engine 4 developer for free on the Unreal Engine page.