Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

26. October 2016


Unity Asset Bundles enable you to stream assets over the web and use them at run-time.  The problem is, they are tricky to use, need to be generated for each platform and often required each studio to create a tool to properly make use of them.  Today Unity released a tool aimed at making Asset Bundles easier to create and manage.  Keep in mind the tool is just a prototype so expect some bugs and usability issues.


From the announcement blog:

Make AssetBundle workflow visual, more intuitive

An easy to learn and flexible visual tool for creating a build pipeline that can support some of the complexities of real productions, the Asset Bundle graph tool provides a workflow with the following features:

  • Create AssetBundles with no coding. Create nodes, connect them and simply press the build button to give you the AssetBundles you desire!
  • Easily understand what happens when you build: which files are targeted, where they go and how they are included in which asset bundle files.
  • Create pipeline in a rule-based model. So once you configure the pipeline and set up simple rules with name and path conventions, you can then completely forget about AssetBundle configurations. Share that rule with your team and just keep creating and adding assets as long as your team is following the conventions. When you press build, those new files are automatically targeted and you will get new AssetBundles accordingly. 

We have come to the point when we’re ready to share this with you. Like many other tools we released recently, we are releasing this tool in open-source, under the MIT license. The tool is still in prototype phase, so we would be delighted if you gave it a try and tell us what you think. You can also freely modify the tool to match your needs, or join in its development.


The source code for this new tool is available on Bitbucket.  Yeah, not Github, BitBucket.

GameDev News

26. October 2016


Ambiera just released version 5.5 of their CopperCube game engine.  CopperCube is a complete cross platform 3D game engine with a full editor that requires little to no programming (although games can be scripted using JavaScript). Version 5.5 brings several new features including automatic Steam integration, client source (C++ or Flash) for Pro licenses as well as cheaper pricing.


Full details from the change log:

  • Steam Integration
    Games created with Coppercube as Windows .exe now automatically have Steam integration built-in. There is support for the Steam-Overlay and an easy way to use Steam Achivements, even without programming.
    (Note: This of course only works if your game will be published on Steam.)
    steam integration support


  • Improved First Person Shooter Controller
    Several improvements for this behavior where backintegrated from the game 'PostCollapse', including:
    • Repeated jumping is now no longer possible by holding down the space bar
    • Moving and strafing at the same time now longer lets the player move faster that way
    • When the system is hanging shortly (like for example if Windows Defender suddenly causes Windows to slow down), the movement will behave smoothly as before
    better first person shooter control


  • C++ source code
    Users of the pro edition now have access to the full C++ client source code. It consists of VisualStudio (Windows) and XCode (Mac OS X) projects and can be used to extend your game in any way possible. For details, take a look into the documentation.
    c++ source


  • Flash source code
    Users of the pro edition now have access to the full Flash client source code. It consists of about 150 .as ActionScript 3 files, and can be used to extend your game in any way possible. For details, take a look into the documentation.


  • Android Multi-Touch support for 2D Overlays
    It is now possible to use multiple 2D mobile input Overlays at the same time on Android target, making the games there feel more natural.


  • Android First Person Shooter Camera improved
    The first person shooter camera on Android now is much easier to use. Although first person shooters are more unusual on this platform, it works now much nicer and easier to handle.


  • Scripting extension: ccbGetCurrentNode()
    The new scripting function ccbGetCurrentNode() returns the current scene node. When running some JavaScript code via an 'execute JavaScript' action, there is always a "current node" set, usually the node in which the action is being run. This function is available on all platforms.


  • Price update
    CopperCube Basic Edition will from now on cost € 69 (previously: € 99), and the professional edition will now cost 358 € (previously: € 380).


  • other, smaller new features and bug fixes:
    • Mesh import improved: Imported mesh name is now reflected in the scene graph explorer
    • Improved Chinese Translation
    • There is a downloadable action available for using Steam achivements without scripting.
    • Fixed a bug causing 'plant rendering' advanced material flag not to be set when anisotropic rendering isn't checked as well.
    • Fixed a bug causing CopperCube to crash when modifying a mesh which has been imported as animated mesh although it is static.
    • Fixed a bug causing Oculus Rift support not to work on some systems
    • Fixed a bug in WebGL causing Particle Systems as children of rotated nodes not to show up correctly at some viewing angles.
    • Various minor bug fixes

GameDev News

24. October 2016


Regardless to how actual sales have turned out, there is no question that VR support is now one of the hot button must have features for a game engine.  The folks over at Silicon Studios, the makers of the Xenko Game Engine (previously Paradox3d) are aware of this trend and have made VR development a priority.  They recently released a blog post about the future of the Xenko engine, and VR specifically.


From the post:

Therefore, we are now 100% on track to support VR in Xenko. So, what does this mean? First of all, the technology hints were in place before the decision was made in July. Important rendering, lighting, and audio features were already in place or planned to soon to be in place. For instance, Forward Clustered rendering, touted as the best rendering for VR, is now supported, our support for Oculus Rift is in place, our performant multithreading and back-end support of next generation APIs such as Vulkan smooths the way for AAA style VR games needing the best possible performance, and last but not least, we are working on adding HRTF support to our audio system to accommodate a sense called proprioception, necessary for a true VR audio experience.

In conclusion, let’s not bury the lead here: the game industry disruption caused by this race to widely support VR, trough of disappointment or not, is the reason why Xenko is now on track to become the first built-from-scratch comprehensive VR engine for game developers.

When? Soon.


Is VR a must have feature for you when evaluating an engine these days?  If you’ve never heard of the Xenko engine, I featured it in the Closer Look game engine series when it was still called the Paradox engine.  In fact we also did a short tutorial series on using the engine.

GameDev News

24. October 2016


The Unity game engine just received another patch, this one 5.4.2p1.  The contents of this patch include:

  • Graphics: When graphics jobs are enabled added an Assert to detect recursion e.g. a graphics job runs inside another graphics jobs.
  • Unity IAP: Support transaction receipt logging for all store platforms.
  • VR: Update Oculus to version 1.9 .
  • (823935) - 2D: Fixed an issue with UV rounding errors when using the OverrideGeometry method on sprites.
  • (none) - Android: Added "Mute Other Audio Sources" option to Android player settings in editor.
  • (825442) - Android: Buildpipe - Fixed splitting files for OBB.
  • (807983) - Android: By default lower volume of the background audio instead of muting it.
  • (826201) - Android: Return internal temporary cache and persistent data paths when external paths are unavailable.
  • (822232) - Animation: Fixed a bug where deactivating a GameObject with an attached Animator might cause a crash.
  • (832996) - D3D11: Take into account ColorSpace (linear/gamma) when capturing screenshots.
  • (819770) - Editor: Fixed a crash when deleting GameObject with ScrollView component.
  • (819900) - Editor: Fixed drag'n'drop a shader onto a material not setting the correct shader keywords but choosing the shader from the material UI shader drop down would set them correctly.
  • (815720) - Editor: TargetInvocationException error no longer appears when importing Windows Store Apps plugins.
  • (828380) - Graphics: Fixed GPU instancing not working with procedurally generated meshes.
  • (829694) - Graphics: Prevent RendererScene modifications from within OnPreRender callbacks, similar to other callbacks.
  • (834633) - IL2CPP: Use the no-strict-overflow flag to compile generated C++ code on gcc and clang based compilers so that we match the integer overflow behavior of C#.
  • (none) - iOS: Fixed run loop mode warning on iOS 10 devices.
  • (819351) - MAC OS X: Fixed Codesigning for Editor Build to prevent firewall from asking multiple times for permission.
  • (819813) - OpenGL: Prevent Windows editor crash when opening old project that had legacy OpenGL selected.
  • (833783) - Rendering: Fixed incorrect batching of Renderers with different PropertyBlocks.
  • (819962) - Scripting: Fixed TransformDirection and InverseTransformDirection operations being affected by scale.
  • (766144) - Scripting: Fixed a crash on Invoke(null, …).
  • (833425) - Shaders: Fixed a potential crash when calling GetShaderSettingsForPlatform on Windows.
  • (720704) - Shaders: Fixed some cases of inout struct variables with COLOR semantic members wrongly translating into GLES2.0.
  • (828454) - Shaders: Added fixes to tessellation shader compilation on OpenGL and OpenGL ES.
  • (none) - Tizen: Added Showing loading indicator in Tizen.
  • (833452) - tvOS: Added support for top shelf wide image.
  • (none) - UnityAnalytics: Fixed an invalid userId issue on WebGL.
  • (825429) - UnityWebRequest: Allow setting Accept-Encoding header at users own risk.
  • (775178) - WebGL: UnityWebRequest.downloadProgress now returns the actual progress as opposed to 0.
  • (none) - WebGL: Fixed Code Blob memory leak.
  • (829648) - Windows Store Apps: Location services can be enabled or disabled while the app is still running.
  • (835218) - Windows Store Apps: Player preferences are no longer lost between game sessions.
  • (none) - Windows: Added safety check when receive new window size with zero values, make minimum value 1, otherwise functions like CreateDepthStencilView will fail.

As always the patch is available for download on Windows and Mac right here.

GameDev News

21. October 2016


A new preview release of Unreal Engine is now available, version 4.14.  Being a preview release means that you probably shouldn’t use this release in production and to expect some issues.  This release is loaded with new functionality, the details are listed below.  As always, you can download the 4.14 preview release using the Epic Game Launcher.


  • Rendering Updates:
    • A Forward Shading Renderer for VR (Experimental) that supports high-quality lighting features, enables Multisample Anti-Aliasing, and is faster than the Deferred Renderer in select projects.
      • To use this, enable ‘Forward Shading’ in the Rendering Project settings and restart the editor.
      • To use MSAA, set the default Anti-Aliasing Method in the Rendering Project settings.
      • DBuffer Decals, Dynamic shadows and Capsule shadows do not handle MSAA properly yet and may exhibit artifacts along object edges.
      • Not yet supported in the Forward Renderer:
        • Screen space techniques (SSR, SSAO, Contact Shadows)
        • Shadow casting Movable Lights
        • Dynamically shadowed translucency
        • Translucency receiving environment shadows from a Stationary light
        • Light functions and IES profiles
    • Automatic LOD generation for static meshes can now be accomplished without middleware plugins.
      • The high level settings for controlling the generated LODs are in the static mesh viewer under LOD Settings.
      • “LOD Group” provides a list of presets. These can be changed per project in BaseEngine.ini under [StaticMeshLODSettings]. The use of LOD groups is suggested.
      • If modifying details of auto generation for each LOD, they can be found under Reduction Settings.
    • Reflection Capture lightmap mixing improvements.
      • The engine mixes the indirect specular from the Reflection Capture with indirect diffuse from lightmaps. This helps to reduce leaking.
      • Lightmap mixing is no longer done on very smooth surfaces.
      • Reflection Captures and SSR match much better and it's harder to spot transitions.
      • This affects existing content - in cases where you had reflection leaking on smooth surfaces, that leaking will be much more apparent. To solve this, place additional reflection probes to reduce the leaking. Levels should have one large spherical capture at a minimum. You can also revert to the old lightmap mixing behavior with a rendering project setting: "Reduce lightmap mixing on smooth surfaces"
    • The Contact Shadows feature helps provide sharp detailed shadows at the contact point of geometry.
      • You can enable these by setting the Contact Shadow Length property. This controls the length of the ray cast in screen space where 1 is all the way across the screen. Large values can degrade quality and performance so try and keep the length to the minimum that achieves your desired look.
    • A Live GPU Profiler is available which provides per-frame stats for the major rendering categories. To use it, enter the console command: stat gpu.
      • The GPU stats can be recorded to a file when the title is running for analysis later. As with existing stats, you can use the console commands stat startfile and stat stopfile to record the stats to a ue4stats file, and then visualize them by opening the file in the Unreal Frontend tool.
    • The new Vector Noise material graph node adds several functions with 3D or 4D vector results. Due to the run-time expense of these functions, it is recommended that once a look is developed with them, all or part of the computation be baked into a texture using the Draw Material to Render Target Blueprint feature
    • NVIDIA Ansel support is now exposed as a plugin. Once you have enabled the plugin you can access Ansel in a standalone game session. Please read the included Ansel documentation for instructions on how to whitelist your in-development application.
    • A few new Material Graph Nodes have been added to the graph editor. Each is intended to improve workflow and increase readability.
      • GetMaterialAttributes - This node is a compact replacement for BreakMaterialAttributes
      • SetMaterialAttributes - This node is a compact replacement for MakeMaterialAttributes
      • BlendMaterialAttributes - This is a new node to allow easier blending of Material Attributes structures.
  • Framework Updates:
    • Animation Tools have been split into separate asset editors rather than using one editor with multiple modes. Functionality that is common to each of the editors is now generally found in the viewport.
    • Default Post-Process Animation Blueprint allows you to assign an Animation Blueprint to a Skeletal Mesh that will always be run after any Animation Blueprint assigned in the component. This allows for dynamics, controllers, IK or any other anim blueprint feature to be related to a mesh and not have to be duplicated in every animation blueprint intended to be used on that mesh.
    • The engine is updated to use PhysX 3.4, which enables a lot of features which will be exposed over time. Current available improvements: kinematic objects update faster, CCD support for kinematic objects, and faster convex hull cooking.
    • Vehicle Improvements have been made with wheel forces and the addition of SimpleWheeledVehicleMovementComponent.
    • Skeletal Mesh to Static Mesh Conversion lets you right-click actor(s) in the level viewport and convert their current state to a new Static Mesh asset.
    • Simplygon SDK integration has been updated to version 8.1.
    • Cloth Skinning improvements have been made by calculating our own mesh-to-mesh skinning data for clothing within the engine rather than using exported render data. This resolves issues where normals could sometimes appear incorrect, and there is no longer a restriction to one UV channel.
    • Streamlined GameMode and GameState Classes by adding GameModeBase and GameStateBase classes as parents of existing classes GameMode and GameState. Core features needed by all games are now in the Base classes, while legacy and shooter-specific features are in the GameMode/GameState
    • Improved Cable Component by adding simple collision, stiffness setting, sockets at each end, and the ability to set either end as "free".
    • Improved PoseDriver animation node by allowing it to drive bone transforms as well as Morph Targets, adding an option to use translation of the driving bone, and showing more information in debug drawing.
    • Virtual Bones can be added to a skeleton, which can be used to make it easier to retarget or change reference frames for controllers.
    • Child Anim Montages can be created based on a parent Montage, allowing you to replace animation clips while maintaining overall timing.
  • Core Updates:
    • Cooked builds can now use a completely new Event Driven Loader (Experimental) which is far more efficient than the old streaming code. Games using the EDL should see the load times drop by about 50%. The Event Driven Loader comes with an unified code path for loading assets. This means that all packages will be loaded using the new async path instead of the old blocking path. EDL is currently an experimental feature and is disabled by default but can easily be enabled through Project Settings.
  • Editor/Tools Updates:
    • Support has been added for editing TMap and TSet properties from the Details Panel.
      • Sets are similar to Array but Sets will ensure that all contained elements are unique.
      • Maps will have a key and a value and you can edit both within the details panel. Like Sets, all keys must be unique.
    • Multitouch Support in Windows has been added. Touch events will now be generated in Windows 7, 8, and 10 when using a touch screen. This will enable touch enabled games and experiences on new Windows tablets and also enables testing touch controls for mobile games without having to deploy to a target device.
    • Outlines on Fonts can be applied in UMG and Slate.
  • Network Updates:
    • Replication Performance has been improved by as much as 40% by refactoring how the engine replicates properties from the server to connected clients. It now shares the work for all types of properties (not only unconditional ones), which means the work done to check when properties have changed (and need to be sent) happens much less often.
  • Build Updates:
    • Visual Studio "15" is now supported, in addition to Visual Studio 2015. If you have multiple versions of Visual Studio installed, you can select which to use through the ‘Source Control’ section in ‘Editor Preferences..’.
  • Sequencer Updates:
    • The Camera Rig Crane has been updated to mimic the movement of a physical crane.
    • Record audio from a microphone while recording into a sequence.
    • Drag and drop files from your computer into the Media Player's viewport.
  • VR Updates:
    • Multiview Support (Experimental) for the Mobile Forward Rendering path improves performance by reducing hitches of instanced stereo. You can enable this under Project Settings > Rendering > VR > Mobile Multi-View, then re-start the editor.
  • VR Editor Updates:
    • Landscape Editing in VR can now occur using motion controllers.
    • You can instantly Reset the world's scale to its default by tapping the touchpad button while gripping the world. This makes it easy to get back to your "player's size" while editing.
  • Mobile Rendering Updates:
    • Mobile games ship with Vulkan support and can now be enabled or disabled using device profiles, with fallback to ES 3.1 and ES2
    • Custom Depth is now supported on mobile. Custom Post-process materials can now sample from SceneDepth and CustomDepth as well as SceneColor.
    • The Scene Capture Source settings that output Inverse Opacity and Depth values are now supported on mobile.
    • The Mobile Patch Utilities Blueprint library now included contains all the functionality required to allow a mobile game to download and install game contents and patches from a cloud website instead of being distributed as part of the initial download from the App Store. Both Android and iOS are supported.
  • Landscape Updates:
    • Landscape Mirror Tool now supports rotated mirroring to create diagonally-opposed multiplayer maps.
  • Platform Updates:
    • Amazon GameCircle Plugin for Kindle Fire is included. Enabling the plugin will provide access to a new Amazon GameCircle project settings panel under the Plugins category. Changes to the AndroidManifest.xml for Fire TV may be enabled here.
    • Initial Support for Android on Linux thanks to pull requests from the community. CodeWorks for Android from Nvidia for Linux is the easiest way to set up the NDK and SDK tools needed. In addition, OpenJDK 1.8 should be installed; set JAVA_HOME to point to your install. Please note Android Vulkan on Linux is not supported at this time.
    • SDK Updates for XboxOne, PS4, HTML5, MacOS 10.12, iOS/tvOS 10.0.

GameDev News

Month List

Popular Comments