Making Shaders More Accessible in Unity
Events
Subscribe:  iCal  |  Google Calendar
7, Mar — 12, Jun
Breda NL   23, Apr — 26, Apr
24, Apr — 27, Apr
Vilnius LT   3, May — 5, May
Los Angeles US   10, May — 11, May
Latest comments
by Cgiles
6 hours ago

Alt click on a node connection automatically disconnect it from the other nodes. And there is some nodes which can be easily summoned by pressing a key and clicking at the same time. Like B+click will place a branch, and S+click a sequence.

by manictaylorj@gmail.com
11 hours ago

If you're willing to compile it, Aseprite is a great option as well.

by tharlevfx
23 hours ago

check my website for the latest tips - always updating with new content!

Making Shaders More Accessible in Unity
4 April, 2017
Developers of Amplify Shader Editor talked about the way this tool can help game creators to build incredible shaders for Unity projects.

Introduction

Amplify Creations was originally founded by Diogo Teixeira, a developer with background in games technology and rendering. We initially focused on Amplify Texture, a texture virtualization plugin for Unity, Amplify Color and Amplify Motion, our Color Grading and Motion Blur Image Effects, all of which introduced innovative features that neither Unity, nor any Asset Store plugin provided at that time, in 2011.

Based in Portugal, we grew from 2 developers to 8 full-time developers in the span of 3 years. We are now 4 people on the Unity product team and 4 in our video game development team working on Decay of Logos.

If I had to pick, I would say that our specialty is computer graphics. Our main catalyst was Amplify Texture but we have since moved on to other endeavors such as Amplify Bloom, Amplify Occlusion, and most recently Amplify Shader Editor, products that already existed in other forms, but we felt that we could do better and faster. We were fortunate enough to have Amplify Bloom nominated for the Unite Awards 2016.

From simple mobile games to more complex productions such as Brink by Splash Damage, League of Legends by Riot Games, or even Rust by Facepunch Studios, our team has a rich and extensive collective background in video game development. Our professional experience extends beyond video games to general software development and production, as well as architectural visualization, Film and VFX, advertisement and TV.

For more detailed information, please feel free to check out our company page.

Shader Editor

Originally developed by Ricardo Aguiar, joined later by Paulo de Pinho, Amplify Shader Editor (ASE for short) is a node-based shader creation tool inspired by industry leading editors such as Unreal Engine 4 and Substance Designer. A modern, open, and tightly integrated solution, it provides a familiar and consistent development environment that seamlessly blends with Unity’s UI conventions and Shader use. You won’t be forced to use separate windows or similar workflow breaking setups.

Our goal is to offer AAA quality and flexibility at an indie affordable cost with the responsive customer support and short iteration times that our customers can always expect from Amplify Creations. We felt that existing tools were ok for indie developers, but not really adequate for large-scale production with bigger teams and complex projects. It includes full source-code and has a solid extension API. Users and teams can extend the editor the way they see fit, which is very important on real world development environments.

With ASE, users can effortlessly create almost any type of surface shader without writing a single line of code, soon to be extended to other shader types; e.g. Image Effects, UI, particles. From simple texture mixing to complex VFX or advanced POM, Tessellation and industry standard Translucency, it’s a one-stop-shop for all artistic needs.

The community response has been really amazing, our editor quickly became one of the most popular Unity Extensions currently available at the Unity Asset Store. We recently had the honor of joining Playmaker and uFPS on the Unity Plus Accelerator Pack; a new Unity initiative that offers 3 top-selling assets for FREE to new Unity Plus and Pro subscribers.

Node Structure 

The ASE node structure is purposely based on the Unreal 4 Material Editor and similar industry standards. This ensures that the editor is familiar and easy to pick up by artists used to other authoring tools.

In addition to common nodes found in similar tools, ASE includes a varied collection of ready-to-use specific nodes that simplify the use of common complex functions such as properly blending normal maps or using Triplanar Mapping.

Library

ASE includes a growing shader library, both official and created by our users. Our editor is strongly community driven as we are very receptive to shader, features, and node requests.

 

The official package includes several user submitted shaders and nodes, anyone can submit content via our website.

Examples

Suppose that you want to use a packed map (Metallic(R), Smoothness(G), Occlusion(B)) with the Unity Standard Metallic shader. Usually, this would involve coding the entire shader by hand to achieve this simple effect.

With ASE, you simply create the shader file, drag & drop the packed texture into the canvas and plug each channel into the Output Node.

Before building the actual node networks, it’s extremely important to identify the actual shader requirements in order to set it up correctly; the default values should work for most cases but it’s great to know what’s available.

The Master Node contains all the required shader parameters, among other values. It’s there that you will define parameters like Shader Type, Light Model, Precision, Blend Mode, and Tessellation Parameters to say a few.

ASE allows you to easily create a wide variety of interesting effects such as Tessellation, Translucency, and Triplanar Mapping.

We recently created a Wiki with additional information and tutorials, it’s a great place to start, and open to user contributions.

Flexibility

ASE offers an intuitive canvas that allows users to create almost any type of shader, it’s a single workflow, suitable for any kind of project. The editor can be docked on any Unity UI area, users can even hide unnecessary tabs leaving only the main workspace; real-time node previews included.

You can work with ASE in one of two modes, shader or material. Values set in a shader are commonly referred to as Default Values, any changes made to the Default Values of any given shader will automatically propagate to all assets using it, values set in a Material are know has Material Properties and are unique to each material.

In addition to artist friendly interaction, Amplify Shader Editor includes full source code, something not found in similar packages. This lets our community to be able to see what is under the hood, it allows for user improvements and the development of completely new features and nodes.

ASE can be adapted to any pipeline requirements, regardless of the project scope.

API Documentation

The new Triplanar Sampler Node is a great example of how ASE can simplify your workflow. Instead of manually setting up complex node networks to achieve this effect, we include a simplified solution that offers you an easy-to-use Triplanar node.

Another great feature to have is flexible Substance support directly in the editor. Simply drag & drop a substance into the ASE canvas and you are ready to take advantage of procedural materials.

We’re also brewing some new features – mostly focused on team environments – that will extend flexibility even further, we hope, far beyond user expectations.

Working with Unity

It’s seamlessly integrated, you just open and dock it as you would any other Unity window. After docking it, you can either use the default layout our hide the lateral tabs.  It’s completely up to you to customize the space available in your layout.

Shader performance will always depend on the complexity of the created networks, however, we do offer several types of precision in order to get the most out of each device, and we do go the extra mile to ensure that it runs as fast as possible.

It plays very well with the Unity editor, one of our goals was to create a tool that actually blended into Unity UI, so to speak. You create new shader files as you would with a Unity Shader, save and update it with a single click of a button. You can even open them in the editor by simply double clicking the shader file, and will never be taken to external menus or pesky file saving dialogs.

ASE is constantly being improved, it’s very optimized and stable. Some of our users report that it’s more stable than comparable Unity alternatives.

Cases

Although we have thousands of customers, the Asset Store does not provide any user information. We don’t have a very extensive list but I think that you will like some of the projects below that take advantage of ASE.

We use all our products on our own game Decay of Logos, they are battle tested and continuously improved.

A great example would be Ghost of a Tale by SeithCG, a long time Amplify product user. He recently switched to ASE and is currently using our editor for Tessellation based materials.

Before, by Facepunch Studios, also uses ASE extensively. They also switched to ASE and work closely with us in order to ensure that our Editor is as stable and performant as possible, and that shaders won’t stop working with new Unity releases.

Ricardo Teixeira, Amplify Creations

Interview conducted by Kirill Tokarev

Follow 80.lv on Facebook, Twitter and Instagram

Comments

Leave a Reply

2 Comments on "Making Shaders More Accessible in Unity"

avatar
Trev Burley
Guest
Trev Burley

Constantine Tvalashvili,

I use both editors and find there’s more in shader forge but it is also more complex to use since it’s closer to writing a real shader in terminology. ASE has more utility nodes which package bigger ‘jobs’ into one handy node saving complexity and meaning you need less knowledge to use it.

ASE currently only does surface shaders so if you aren’t happy manually writing post effect shaders etc then you will need SF too. But overall if I am not manually coding I will use ASE over SF.

maroon3d@gmail.com
Member
maroon3d@gmail.com

Hello, I’m using Shader Forge for 3 years or more. If someone has experience working with both editors, please write a quick comparison. Thanks!

wpDiscuz