Skyshop Version History

Download the latest release from the Unity Asset Store.
*Note: Look in the Marmoset/Documentation/ directory of your Unity project for complete Skyshop documentation.

Version 112.6 | December 2nd, 2016

Unity 5.5.0 Update:

  • Updated scripts to use Unity’s new texture & cubemap API

Bug Fixes:

  • Fixed rotated cubemap reflections in all terrain shaders
  • Fixed simple terrain shaders running out of interpolants
  • Disabled terrain shader direct lightmapping in shader model 3 (too many interpolants)
  • Fixed a potential divide by zero in terrain shaders with zero fade range

Version 112.5 | September 22nd, 2016

Unity 5.4.* Update:

  • Updated scripts to use Unity’s new SceneManager API
  • Updated scripts to use Unity’s new TextureDimension API
  • Other minor API related touch-ups

Version 112.4 | December 16th, 2015

Full Unity 5 Support:

  • Deferred renderer support
  • Shader Forge support in Unity 5
  • SpeedTree shaders
  • iOS Metal Support
  • WebGL Support
  • Fixed blending bug in specular & glass shaders
  • Update TreeCreator shaders

Bug Fixes:

  • Fixed Matte shaders (reduced interpolator count)
  • Made SkyManager.Start() handle null material arrays
  • Cleaned up Vertex Color shaders
  • Added #define for Livenda SSR compatibility (See Documentation/Shaders.txt for instructions)

Version 112.3 Hotfix | December 7th, 2015

Unity 5 Fixes:

  • Unity 5.2 probe capture no longer crashes.
  • SpeedTree shaders for Unity 5.1+ work again.
  • Hair shader anisotropy works again.
  • Deferred & Deferred (Legacy) trees no longer cut holes into things.
  • Removed Direct3D 11 checks, its features are now guaranteed by Unity 5.
  • Removed non Render-to-Cubemap option, render targets are guaranteed in Unity 5.
  • Terrain shaders now use the base color map in add passes also (affects terrains with more than 4 layers).
  • Fixed a foggy probe capture issue on PC/Desktops.
  • Skyshop Edit Selected button no longer causes null skybox errors.

Known Issues:

  • Unity 5.2 Deferred render mode adds Unity reflections to all materials, Marmoset-shaded or not.
  • Skyshop’s runtime changes to the skybox (sky swapping, blending, etc) don’t affect standard materials unless a Unity sky probe exists in the scene.

Version 112.2 Double Hotfix | April 21st, 2015

Bug Fixes:

  • Fixed errors about broken skybox materials in Unity 5
  • Fixed red debug Speedtree billboards

Version 112.1 Hotfix | April 17th, 2015

Unity 5 Fixes:

  • Missing Deferred rendering functions added
    • Shaders no longer fall back to Forward mode
  • Missing GI/Lightmapping functions added
    • May fix some lightmapping errors people were seeing
  • ShaderForgeExtension_Unity4.zip & ShaderForgeExtension_Unity5.zip are both included and renamed for clarity. Unzip one, not both!
  • Removed ShaderForgeExtension_106.zip, it was causing confusion
    • Ask support@marmoset.co if you need this file
  • Added _Version.txt file

Version 112 | April 9th, 2015

New Features:

  • Full Unity 5 support!
  • Candela SSRR compatibility
    • See Documentation/Shaders.txt for details

Bug Fixes:

  • Fixed Matte shaders (reduced interpolator count)
  • Made SkyManager.Start () handle null SharedMaterial arrays
  • Removed occlusion texture and weight params from Vertex Color shaders (a previous copy paste error)
  • Cleaned up RenderProbe callback code

Unity 5 Changes:

  • Added Deferred renderer support!
  • Shader Forge support added (new for Unity 5)
  • SpeedTree shaders are now supported
  • iOS Metal support!
  • WebGL support!
    • WebGL requires use of Marmoset/Mobile shaders
    • WebGL spec closely resembles GLES2.0
  • Fixed blending bug w/ specular & glass shaders
  • Updated TreeCreator shaders
  • Updated some Lightmapping Extended code

Version 111 | December 11th, 2014

New Features:

  • Added Matte shaders for projecting skybox onto scene geometry
    • useful in CG-to-photo compositing
  • Global skies can now also be box projected
  • Switched to Schlick fresnel approximation
  • Terrain shader detail weight is a float text field instead of a slider
  • “Scrub Keywords” option, found under Edit->Skyshop menu
    • flushes shader keyword state in the editor
  • OpenGL ES 3.0 support (yay!)
  • Reduced vertex interpolants in mobile shaders
  • Removed custom UV tiling per texture from mobile shaders – reduces very slow, dependent texture reads
    • All mobile UV tiling now comes from diffuse texture tiling & offset UI
  • Sky and Skybox now rotate on mobile devices

Bug Fixes:

  • Animated Meshes now get bound to local skies
  • Blend to global sky now finishes and doesn’t leave blending enabled forever
  • SkyAnchor now cleans up memory allocated by material instancing – previously a memory leak
  • Force cubemaps to trilinearly filter everywhere – improves mipmapped gloss
  • Fixed gamma issues on Tree Creator billboards (may break tree sprites in older versions of Unity)
  • Fixed numerous local and global shader keyword bugs
  • Fixed IgnoredLayers serialization bug
  • Fixed a static object global sky blending bug
  • Bumped Specular Fast shader no longer box projects

Known Issues:

  • Samsung Galaxy S3 phones claim OpenGL ES 3.0 support but fail on application start. Force GLES 2.0 to fix.
  • Older versions of Unity may have tree billboards that appear too bright. This is a gamma correction issue to stay compatible with Unity 4.5+.

Version 110.1 | September 23rd, 2014

Bug Fixes:

  • Fixed shadows on terrains with more than 4 layers
  • Fixed blending from local to global skies getting stuck at 99%
  • Fixed Shader Forge box projection code generation
    • Note: requires recompiling old shaders
  • Fixed probe capture crash under certain conditions
  • SkyAnchors no longer draw red debug lines

Version 110 | September 17th, 2014

New Features:

  • Added file format for custom diffuse spherical harmonics data
    • “SH Encoding File” stored as .asset
    • See “Custom Diffuse Files.txt” in documentation
  • Diffuse irradiance files (.ASH) generated by Knald Lys are imported and auto-converted to SH Encoding Files
  • Added “Custom Diffuse SH” field to skies

Bug Fixes:

  • Fixed box projection & sky blending on OSX desktop builds
    • Disabled MaterialPropertyBlocks on OSX desktop only
  • Now only compute sky exposures, dimensions, and transforms once per frame, instead of per Apply()
  • Disabled objects are now ignored by Auto-Apply
  • Static object SkyAnchors call Apply only when necessary
  • Global Sky is only applied when necessary
  • Miscellaneous allocation optimizations

Version 109 | August 7th, 2014

For a detailed look at the latest features, visit the Skyshop 1.07+ | Quick Reference.

New Features:

  • SkyManager Auto-Apply can now ignore objects by user-specified layer
  • Added “Probe Only Static Objects” toggle to hide dynamic objects when capturing cubemaps
  • Added “Bumped Specular IBL Fast” with Diffuse(RGB)Spec(A) to the “Mobile/Self-Illumin/” category
    • iOS runs out of texture samplers otherwise
  • Reduced run-time memory churn in SkyAnchor and SkyManager (significantly!)
  • SkyAnchor now caches renderer.materials lists (greatly reduces memory use)
  • Added “Dynamic Materials” option to SkyManager in case material caches need to update at run-time
    • Important if materials are added, removed, or replaced in renderer.materials
  • Added “Skip Time” feature to SkyManager API to set/fast-forward sky blending
  • Beta shaders are no longer zipped up in the install (hurray!)

Bug Fixes:

  • SkyManager now only searches for MeshRenderer objects (a more robust fix for white 2D Sprites)
  • Enabled MaterialPropertyBlock code again (helps material instancing and memory churn)
  • Fixed all iOS vertex interpolant and texture sampler errors
  • Fixed all iOS mobile terrain and vegetation shader warnings (GLES does not support vertex-only fallback shaders)
  • Changed “Action” to explicit “System.Action” everywhere
  • Removed remaining “MARMO_SPECULAR_FILTER” from all skin shaders and fallbacks
  • Exposed Translucency slider in “Skin Fast IBL”
  • Fixed D3D11 forward transparent cutout (for some reason clip() is required)

Version 108.1 | July 17th, 2014

Bug Fixes:

  • Fixed 2D sprites rendering white

Version 108 | July 16th, 2014

For a detailed look at the latest features, visit the Skyshop 1.07+ | Quick Reference.

New Features:

  • Updated Shader Forge integration for version 0.36b
  • All textures for all shaders now use Unity’s tiling/offset GUI
  • All specular shaders use 1 less vertex interpolator
  • Box Projection support for occlusion shaders (previously had vertex interpolator limits)
  • Gamma/linear color-space detection back into C# side of Skyshop (needed for LDR sky fix)
  • Skin shader support on iOS
  • New “Skin Cutout” and “Skin Detail” shaders (included in BetaShaders.zip)
  • Field for custom probe camera to Sky Manager

Bug Fixes:

  • Removed Layered Uber Shader to reduce shader keyword count
  • Removed custom RenderTypes from last few shaders (causing issues with postFX)
  • Fixed iOS bumped specular shaders (previously had vertex interpolator limits)
  • Fixed LDR skies rendering white and far too bright (gamma & exposure issue)
  • Fixed “Tree Leaves Optimized” fallback
  • Sky.SpecularCube and Sky.SkyboxCube are now capitalized and use get/set to raise the Sky.Dirty flag

Version 107 | June 6th, 2014

For a detailed look at 1.07’s new features, visit the Skyshop 1.07 | Quick Reference.

New Features:

  • Sky blending/Sky interpolation
  • Box Projection (disabled for Occlusion & Vertex Occlusion shaders)
  • Spherical Harmonics Diffuse IBL
  • Shader Forge Integration!
  • New Sky & Sky Manager System
  • New Sky API
  • Local skies and Sky triggers
  • New cubemap probe system
  • Skybox blurring
  • GPGPU convolution/sky computation

Bug Fixes:

  • No more linear/gamma detection on Sky objects (resolved in shader code)
  • Faster terrain and vegetation shaders (per-vertex Diffuse IBL)
  • Mobile terrain shaders don’t sample per-layer normal maps
  • Fixed soft-occlusion tree shaders
  • Faster shader building
  • Transparency is less buggy, more closely matches Unity’s transparency

Version 106.2 | February 3rd, 2014

Bug Fixes:

  • Fixed washed out compute results (input panoramas no longer auto-converted to linear space)
  • RGBM importer now runs a clean-up pass
  • Skyshop texture slots perform similar check on inputs
  • Fixed bad meta files in Examples.zip
  • Re-added translucency to Marmoset Skin IBL

Version 106.1 | January 29th, 2014

Bug Fixes:

  • Fixed Skyshop UI being disabled if no sky object already exists

Version 106 | January 28th, 2014

New Features:

  • Added “Auto-Apply” toggle to Sky script
  • Sky script now handles OnTriggerEnter and OnTriggerExit events
  • Added “Skin Fast IBL” to Beta shaders, a mobile-ready skin shader
  • New UI options for Skyshop Editor – reload, new/find/clear-all, cubemap naming
  • Cubemap probes can now be captured at 2048×2048

Bug Fixes:

  • Fixed freeze when entering “Play” mode – a serialization/memory bug
  • Intensity and exposure sliders no longer cause a SH recompute – no more lagging!
  • Convolutions are no longer brighter than the source image – better normalization
  • Fixed LDR horizontal cross gamma issue with panorama images
  • Fixed translucency with omni lights and spotlights
  • Anistropic direction for specular highlights is now 0-180 degrees
  • Vertex Color and Vertex Occlusion shaders now work with Unity’s post effects
  • Resolved missing #MARMO_ALPHA with mobile translucency and simple glass shaders – works on Android again
  • Resolved missing #pragma target 3.0 – terrain shaders work on mobile again
  • Shaders now keep a float _SkyID
  • Box projection no longer affects diffuse lookups
  • Box projection only works in Unity 4.3+ (#pragma multi-compile requirements)

Version 105 | December 4th, 2013

New Features:

  • Added HDR support for render to cubemap functionality
  • Added “Beta” category of shaders
    • Box Projected Cubemaps (beta)
    • Spherical Harmonics Diffuse IBL (beta)
    • Skin Shader w/ Anisotropic specular (beta)
  • New Shader #defines
    • #define MARMO_BOX_PROJECTION 1
    • #define MARMO_SPHERICAL_HARMONICS 1
    • #define MARMO_ALPHA
  • Added Apply(Renderer target) to sky script
  • Added UniformOcclusion shader parameter
  • Added serialization support to classes
  • Create Prefabs from selected skies – found under “Edit” -> “Skyshop”

Bug Fixes:

  • Fixed Prefabs
  • Cleaned up undo states
  • Cleaned up Sky.cs
  • Skyshop no longer clears inputs and settings in “Play” mode
  • Fixed invalid fallbacks for mobile and terrain shaders
  • Fixed non-mipmapped specular preview bug in SkyInspector
  • Fixed mset_BeastConfig unreferenced leak

Version 104.1 | October 7th, 2013

New Features:

  • Added Mobile/Occlusion/ shaders
  • Added “approxview” to all mobile shaders & fallbacks

Bug Fixes:

  • Fixed Self-Illumin shader fallbacks & shadows
  • Removed blending from Transparent/Cutout/ (conforms to Unity & fixes shadows)
  • Fixed Mobile/Fast/ shader typos
  • Changed “Refresh Skies” menu shortcut to ctrl+shift+R (ctrl+R is taken)

Version 104 | September 30th, 2013

New Features:

  • Skyshop now requires Unity 4.2+
  • New Shader #defines
    • #define MARMO_OCCLUSION
    • #define MARMO_VERTEX_COLOR
    • #define MARMO_VERTEX_AO
  • Ambient Occlusion Map
    • Diffuse IBL occlusion in red channel
    • Specular IBL occlusion in green channel
    • Uses secondary UV set (texcoord1)
    • Enabled in shaders with #define MARMO_OCCLUSION
  • Vertex Colors
    • Vertex color can modify diffuse color
    • Enabled with #define MARMO_VERTEX_COLOR
  • Vertex Occlusion
    • Vertex color can occlude image-based lighting
    • Diffuse & specular IBL can be occluded separately using R & G channels
    • Enabled with #define MARMO_VERTEX_OCCLUSION
  • Terrain Shaders
    • Simple terrain shader + IBL
    • Advanced Terrain shader
    • Per-layer specular maps & controls
    • Base normalmap (covers entire terrain)
    • Base diffuse & AO map
    • Diffuse & specular fresnel
    • Optimized distant terrain shaders
    • Usable on non-terrain meshes
  • Vegetation Shaders
    • Waving grass shader
    • Detail mesh shaders
    • Soft Occlusion tree shaders
    • Tree Creator shaders
    • Detail & grass shaders replaced automatically
  • Vertex-lit Shaders
    • Super-fast
    • Shader-Model 2.0
    • Vertex-Lit diffuse + IBL
    • Vertex-Lit diffuse + diffuse & specular IBL
    • Vertex-Lit diffuse + AO + diffuse & specular IBL
  • New Sky-dome Shader – use HDR skybox on geometry
  • Combined Diffuse & Specular Texture
    • Diffuse & specular maps sampled from same texture
    • Diffuse color in RGB, Alpha used as both specular mask & gloss
    • Enabled with #define MARMO_DIFFUSE_SPECULAR_COMBINED
    • Used by Marmoset/Vertex Lit/ and Marmoset/Mobile/…Fast IBL shaders
  • Mobile
    • Mipmap gloss support for iOS, hazaa!
    • Mipmap gloss support for Android (device must support shader_texture_lod openGL ext)
    • Added Specular Fast & Bumped Specular Fast shaders w/ extreme mobile optimizations
    • Improved Android support w/ fallbacks for mipmap gloss failure
    • Improved fast fresnel approximation on mobile
  • Lightmapping
    • Full directional lightmap support
    • Specular & gloss maps now affect dir lightmapped specular
    • Added Lightmapped Diffuse & Lightmapped Specular Multiplier sliders
    • Weights how much IBL is used on lightmapped surfaces
  • Menu Items
    • Edit -> Skyshop -> Refresh Scene Skies
      • Updates color-space on all skies in the scene
      • Applies a sky if none are active (everything is black problem)
    • Edit -> Skyshop -> Upgrade Scene Skies
      • Converts all skies in the scene to use the latest Skyshop features
      • Part of namespaced scripting fix
    • Edit -> Skyshop -> Convert Scene to Mobile/Standard
      • Goes through all materials referenced in the current scene
      • Replaces all uses of standard Marmoset shaders with Marmoset Mobile ones (or vice versa)
    • Edit -> Skyshop -> Convert Project to Mobile/Standard
      • Goes through all material assets in the entire project
      • Replaces all uses of standard Marmoset shaders with Marmoset Mobile ones (or vice versa)
    • Edit -> Terrain -> Import/Export Splatmap
      • Saves and loads PNG images as weight maps for terrain texture layers
      • Useful for working with external terrain generation tools

Bug Fixes:

  • Proper namespacing in scripts to prevent conflicts with third-party code
  • Fixed deferred, Specular IBL fresnel bug
  • Fixed Mobile Specular IBL shadow bug
  • Fixed transparency + fog bug
  • Fixed Simple Glass diffuse bug
  • Changed skybox texture coords to float3 for consoles
  • MarmosetCore now knows about MarmosetInput globals
  • Substance specular maps now work with Marmoset shaders (fixed in Substance)
  • Fixed an Android “everything is black” bug (hlsl2glsl hates _ variable prefix)
  • DIRECT_DIFFUSE & DIRECT_SPECULAR properly separated from IBL, can actually be toggled now.

Version 103.1 | July 2nd, 2013

Bug Fixes:

  • Fixed worldNormal bug in deferred rendering path
  • Fixed Mobile “Auto-Detect Colorspace” bug
  • Removed d3d11_9x support from all but mobile shaders (fixes warnings in Unity 4.x)
  • Made any calls to Util.cs explicitly use the mset.Util namespace

Version 103 | June 27th, 2013

New Features:

  • Source-code for all PC & mobile shaders
  • fullforwardshadows pragma to all shaders
  • All non-mobile shaders now feature a deferred rendering path.
  • Cubemap probes – render cubemaps from a Unity scene (low dynamic range only)
  • Default diffuse cube size is now 64 x 64 per face

Bug Fixes:

  • Resolved Android bugs – now has official Android support
  • Mobile shaders are faster
  • Added proper fallbacks for all shaders
  • Shaders now conform to store specular exponent in o.Specular, the mask in o.Gloss
  • Fixed premultiplied alpha & IBL in “Glass” shaders
  • Fixed point & spotlight bugs in “Cutout” shaders
  • .HDR images with an exposure of 0 are now handled properly
  • Using “alphatest:_Cutoff” pragma instead of AlphaTest tag
  • “Auto-detect Colorspace” now detects mobile platforms
  • Fixed Sky.cs memory leak
  • “Use as GI” button now requires Beast XML config file

Version 102 | May 30th, 2013

Initial Release.