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

 

Another Unity 5.3 patch was released today.

 

From the release notes:

Fixes
  • (750357) - iOS: Added font containing Lao characters to the fallback list.
  • (none) - iOS: Don't enable bitcode by default for Mono.
  • (none) - OpenGL core: Fixed a crash with AMD and NVIDIA on Windows when using RenderTexture with recent drivers.
  • (none) - OpenGL core: Fixed a crash with Intel GPUs on Linux.
  • (none) - OpenGL core: Fixed text rendering with AMD GPUs on OSX 10.9.
  • (756734), (756754) - OpenGL ES: Fixed crashes with new Samsung firware.
  • (752821) - [treeview] Make right and left arrow select next/previous parent for fast expand/collapse.
  • (758120) - WebGL: Fixed a crash when setting Application.runInBackground, if Strip Engine Code is enabled.

Windows download link.

Mac download link.

GameDev News


3. January 2016

 

Earlier we look at getting started doing Gear VR development using Samsung’s GearVRf library.  In that tutorial I mentioned a few times that it is a great deal easier to get started doing Gear VR development using the Unity game engine.  Today we are going to look at the process of getting a game up and running using the Unity game engine.  This tutorial is GearVR specific, however it should be just as applicable for the Oculus Rift.

 

Truth of the matter is getting started with Unity is exceptionally easy, but…

 

The information out there is all out of date and makes the learning curve much harder than it used to be.  First off, Samsung make a set of utilities available and you need to make sure you get the newest version.  However, Unity now has VR built in out of the box, so you don’t need to do anything at all.  This renders almost all of the existing getting started type tutorials completely wrong.

There is a video version of this tutorial available here.

Getting Started

 

First off, create a project like normal, no need to do anything special.

image

 

Now select Build Settings in the File menu

image

 

Select Android, then Player Settings…

image

 

Now select Virtual Reality Supported.  Also be sure to set your bundle identifer and optionally the Minimum API Level (the lowest possible level is a Galaxy Note running 4.4):

image

 

If you run it now you will get the following error:

image

 

This is because the GearVR wont allow your app to run without the Oculus key.  To get this you need a (free) developer account from Oculus and register your device using this form.  That will generate a file that needs to be copied into your project.

Inside your Unity project, locate the Assets directory and create the following directories Plugins\Android\Assets and copy the signing key in, here is mine:

image

 

Your game should now run just fine on your device.

 

Oculus Utilities for Unity 5

 

The “old” way of supporting GearVR and Oculus Rift in Unity involved importing a set of utilities called the Oculus Utility of Unity 5.  Since these were released however Oculus and Unity have worked to make the integration in Unity more complete.  That said, the transition isn’t complete as of writing.  You still don’t have access to the universal menu or overlays using Unity so you still may have to use the Oculus Utilities.  Fortunately they can still be imported and exist side by side with a default Unity install.

 

In addition to the Oculus Utilities of Unity there is also a set of example projects that you can import.  There is also a guide to Unity 5 integration available on Oculus, although be aware that parts of it are now obsolete.

 

Unity VR Samples

 

There is also a pretty significant set of samples illustrating using VR in Unity available on the Unity Store.  Simply create an empty project and import in the example.  These VR Samples illustrate a number of different concepts required for working with VR in Unity.

 

 

In time, more and more functionality should be built into Unity, making this process even easier.

 

Video Version

Programming


23. December 2015

 

Unity just released the first patch for Unity 5.3.

From the release notes:

Improvements
  • (706098) - Compute: Improved compute shader import times, particularly on Windows (since 5.1 we were always compiling them for GL4.3+GLES3.1 too, while most people only need DX11).
  • (754898) - GI: Light probes and ambient (everything with SH calculations) match ground truth more closely now.
  • IL2CPP: Optimize method prologues for code size and incremental builds.
  • SceneManagement: Add Scene.GetRootGameObjects() to return the root game objects of the scene.
  • SceneManagement: Add SceneManager.CreateScene() API to allow creating new empty scene at runtime
  • tvOS: Enable Dynamic GI
Changes
  • iOS: Enable bitcode support by default.
Fixes
  • (687655) - Core: Fixed: Not ignoring '~' folders in projects
  • (none) - Android: Fixed NullReferenceException on x86 devices running Android 5.0 or newer.
  • (750362) - Android: Fixed Cloth::SetUpSkinnedBuffers() crash.
  • (none) - DX11/XB1: Fixed FP16 static batched mesh vertex compression to actually work there, was always decompressing to FP32 before.
  • (none) - DX11: Fixed wrong VRAM detection on some Intel GPUs, resulting in shadows not being rendered.
  • (none) - Editor: Fixed MissingMethodException when using some of the API from UnityEngine.WSA namespace.
  • (754898) - GI: Fixed light probes / skybox ambient being wrong in some cases, 5.3 regression.
  • (740808), (747666) - Global Illumination: Enlighten – Fixed an issue where Unity crashed if scene was unloaded before it got a chance to fully load.
  • (752879) - Graphics: Fixed - Realtime reflection probes in some cases did not have trilinear filtering properly set on them.
  • (691038) - IL2CPP: Ensure thread id is valid for all threads.
  • (752737), (751428) - IL2CPP: Fixed an issue that caused a crash in Class::IsSubclassOf.
  • (737529) IL2CPP: Fixed ExecutionEngineException being thrown on System.Reflection.MonoProperty::GetterAdapterFrame.
  • (752153) - IL2CPP: Implemented out marshaling for arrays correctly.
  • (746822) - IL2CPP: Implemented the Thread::Abort and Thread::ResetAbort methods. This should allow a Socket to be closed properly while another thread is waiting in a call to Accept or Connect on that socket.
  • (749988), (733609) - IL2CPP: Properly cleanup when a native thread is cancelled rather than exiting normally.
  • (750153) - IL2CPP: Provide a proper argument for instance methods on value types invoked via a delegate.
  • (none) - iOS/IL2CPP: Fire all GC profiler events. Fixed GC data in internal profiler.
  • (755365) - iOS/tvOS: Build all object files with correct SDK.
  • (752178) - iOS: Added bitcode support.
  • (750311) - iOS: Added Xcode 7.2 to iOS plugin compatibility list.
  • (749289) - iOS: Duplicate another image layer when not all are defined.
  • (none) - Linux: Fixed a corner case where tearing would occur on some WMs even with vsync enabled.
  • (753595) - Mecanim: Fixed a bug where lights would not be animated in Legacy.
  • (752847) - Mecanim: Fixed a bug where RectTransform couldn't be animated in Legacy.
  • (none) - Metal: Wrongly claimed to support DXT1/DXT5 texture formats on iOS, and ETC on Mac.
  • (691466) - Mono: Preserve non-volatile XMM registers across calls on 64-bit Windows during JIT compilation.
  • (none) - OpenGL core: Fixed shaders with multiple const arrays.
  • (755423) - Particles: Fixed error message spam on particle systems that have no particles (5.3.1 regression).
  • (none) - SamsungTV: Fixed wrong jpg library access problem.
  • (748904) - SceneManagement: Fixed the issue that script association was lost when another scene was loaded.
  • (none) - SceneManagement: Fixed the issue that the unloaded scenes would be removed from the hierarchy when entering playmode, if they were first in the hierarchy
  • (none) - Shaders: Fixed a bug in Standard shader GGX specular term, introduced in 5.3.
  • (none) - Shaders: More proper environment reflection in Standard shader for very rough surfaces.
  • (753925) - tvOS: Fixed rendering path selector in player settings.
  • (756044) - tvOS: Fixed missing symbols for simulator builds.
  • (none) - tvOS: Fixed UnityEngine.Apple.TV.Remote API access in editor.
  • (740782) - UI: Fixed crash in some cases after deleting world space Canvas.
  • (751207) - Windows Store Apps: Populate autorotation settings to screen manager.
  • (752546) - Windows Store Apps: Fixed Directory.CreateDirectory() for forward slashes.

GameDev News


21. December 2015

 

Graphine have released version 3 of their Granite 3 texture streaming technology.  Available stand-alone or as a plugin for Unity and Unreal, Graphine enables you to use gigapixel level texture detail in your game or application.

 

This release brings the following new features:

Detailed Technical Features

  • Greatly improved sparse data handling. Data no longer needs to be available at all resolution levels on all layers.
  • Duplicate tile elimination. Duplicate tiles will be eliminated by the tools and only streamed once at run-time.
  • Support grayscale texture formats (BC4, 8-bit).
  • Large individual GPU caches up to 1GB. Cache sizes are no longer limited to the maximum texture size supported by the GPU.
  • Caches are now build per datatype instead of per layer layout.
  • More efficient cache memory use. Caches can now be shared between tiles sets with a different number of layers and layer datatypes.
  • Significant speedups in Granite core both on the GPU and CPU side. Overall up to 50% CPU and 50% GPU speedup may be seen in the Granite "Tick" per frame update call.
  • Tiling textures are now more efficiently handled reducing memory and bandwidth use.
  • Fixed several cubemap mipmapping issues.
  • New file format (version 3), Granite is backwards compatible with version 2.
  • Improved GPU memory tracking & logging.
  • Separate tool set installer for faster tool updates.
  • Total texture import freedom: Combine single images, tiled images and UDIM images in one stacked texture.
  • Many Tile Set Studio usability improvements.
  • Support for importing custom mipmaps.

 

In other Granite news, released an updated plugin for Unreal 4.10.1:

So what’s new in Granite for Unreal 4.10.1?

  • New GPU cache settings: one global setting with the option to specify the cache size per texture format. It’s easier to use and allows Granite to optimize memory usage even more.
  • Sampling quality can now be set in every individual Granite sample node. This allows a better trade-off between quality and performance on a per-node basis.
  • Large individual GPU caches up to 1GB.
  • Import custom mipmaps.
  • Separate tool set installer for faster tool updates.
  • A number of bugfixes.
  • All other benefits from using Granite SDK 3.0.

GameDev News


8. December 2015

 

Microsoft Imagine just released a trio of coding kits aimed at teaching game programming concepts to kids using Visual Studio and Unity.  The kits include teaching slides as well as complete project files.  The three new kits are:

Check out December’s exciting coding kits:

Binary Break-In

Crack the binary code, teach a safe the binary number system. Create the code for the safe to recognize binary numbers, apply it with bitshifts and then get the gold!

Use C# in Visual Studio with the Unity editor to complete Binary Break-In, a game where a safecracker needs in-depth binary number knowledge to open the safe. Use bitshifts in the code to convert numbers, and then learn to use Unity’s animation state diagram for triggering specific animations on events.

Block Knock

Play with projectiles and physics to clear the table!

Use C# in Visual Studio with the Unity editor to complete Block Knock, a game with the goal of clearing the table of all the blocks while avoiding the cylinders. Code camera controls, projectiles and use collision detection to learn more about physics.

Diamond Miner:

Sow gems and bombs in the soil to create chain reactions and find diamonds. 

Use C# in Visual Studio with the Unity editor to complete Diamond Miner, a game where players must use a limited number of clicks to discover diamonds while avoiding buried bombs. Program mouse click interactivity, create chained explosions, and learn how to randomize the levels for games!

You’ll need Unity and Visual Studio Community 2015, both of which you can get for free. Download these new kits or check out our full selection of coding kits on Microsoft Imagine. We add new kits every month, so come back often.

 

You can read more about the release here.  It’s interesting to see Microsoft move away from Project Spark and toward Unity instead.

GameDev News


AppGameKit Studio

See More Tutorials on DevGa.me!

Month List