Search Unity

  1. Tune in to get all the latest Unity news live from Berlin on June 19, 6pm CEST. Set up a YouTube reminder!
    Dismiss Notice
  2. Unity 2018.1 has arrived! Read about it here
    Dismiss Notice
  3. Scriptable Render Pipeline improvements, Texture Mipmap Streaming, and more! Check out what we have in store for you in the 2018.2 Beta.
    Dismiss Notice
  4. Improve your Unity skills with a certified instructor in a private, interactive classroom. Learn more.
    Dismiss Notice
  5. ARCore is out of developer preview! Read about it here.
    Dismiss Notice
  6. Magic Leap’s Lumin SDK Technical Preview for Unity lets you get started creating content for Magic Leap One™. Find more information on our blog!
    Dismiss Notice
  7. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Feedback Wanted: Shader Graph

Discussion in 'Graphics Experimental Previews' started by Kink3d, Jan 10, 2018.

  1. Kink3d

    Kink3d

    Unity Technologies

    Joined:
    Nov 16, 2015
    Posts:
    26
    With Unity 2018.1, the graphics team is bringing you all new levels of control and flexibility. Whether you’re a beginner or a pro, we’re empowering you to create amazing projects that look fantastic!

    One of the coolest features coming in 2018.1 is Shader Graph. Freeing you to create a range of shaders; flowing lava, gooey slime mound, beautiful lakes, flashing LEDs, and more!

    Designed to work with the Scriptable Render Pipeline (SRP) out of the box, with support for:
    • The HD Render Pipeline (Coming soon)
    • The Lightweight Render Pipeline
    • And the ability to extend the system to export shaders for any custom SRP you write



    What is a Shader Graph?

    A Shader Graph enables you to build your shaders visually. Instead of hand writing code you create and connect nodes in a graph network. You can do things like:
    • Procedurally alter your surface appearance
    • Warp and animate UVs
    • Modify the look of your objects using familiar image adjustment operations
    • Change your object’s surface based on useful information about it, its world location, normals, distance from camera, etc.
    • Expose to the material inspector what you think is important to edit for your shader
    • Share node networks between multiple graphs and users by creating subgraphs
    • Create your own custom shader graph nodes through C# and HLSL
    The graph framework gives instant feedback on the changes, and it’s simple enough that new users can become involved in shader creation.


    How do you create Shader Graphs?

    In Unity a Shader Graph appears as a normal shader. To create a Shader Graph you click the create menu and select ‘Shader graph’ from the dropdown. This will create a Shader graph asset in the project. You can double click on the asset or select the Open Graph button to bring up the Shader Graph Edit window.





    When you open the shader graph you start with the ‘Master Node’. You connect nodes into the master node to create the look of your surface. To learn more about the underlying material models check out the existing Unity standard shader documentation.

    You can quickly edit your surface by changing the default values!



    But, you know what’s even more exciting? Adding textures and other complex interactions. To add a node simply right click and select ‘Create Node’.



    Each included shader graph node has a number of inputs, we’ve included default values that you can customize however you like!



    Adding in a texture (or other assets) is also really easy, just create a node of that asset type and connect it!



    Your shader graph shader is just like a normal shader in Unity. Right click create material to create a new material you can use on any object in your game. You can create multiple materials from the same shader.



    You can expose parameters in your shader so they can be overwritten in each material you create from your shader. This is easy. In the shader graph right click on any variable node and select ‘Convert to property node’. These exposed parameters appear in the material inspector for each material you create from your shader.



    To see your new shader graph changes affect your in game materials click the save button.




    How do I get access to the Shader Graph?

    In the next iterations of the beta, we will integrate these elements in a friendly user workflow for creating and using projects. But if you can’t wait to try them out, we made a simple sample that uses SRP, built on the Lightweight pipeline, and also includes the Shader Graph tool.

    To get started, download the sample project, open it with Unity 2018.1 beta, and start exploring!



    What are the requirements to try this out?

    This is a feature for the new scriptable render pipeline, available in 2018.1. It will not work out of the box without a SRP.

    We won’t be supporting this feature for the legacy renderer.


    I want more tutorials!

    More will be coming (including more examples!) over the coming months. We have an end to end shader creation video here as a starter point.


    I have questions!

    Excellent! We are happy to answer them. Please reply to this thread and we will try to help you out.


    What is the current status?

    We’re targeting shipping the Shader Graph for 2018.1. In the future it will be included in your project automatically when using an SRP. This is the first version of the Shader Graph and there are already future updates planned. Give the current iteration a spin and send us your feedback and info on any issues you run into. We want your help to make this feature as amazing as possible and are excited to be able to add awesome updates for future Unity releases based on the ideas you send us. We are so excited to be introducing this feature! (It is about time :))!

    Give it a try and write your thoughts in this thread.
     
  2. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    1,569
    Very nice tool!

    One question, is tesselation supported ?

    Thanks
     
  3. Kink3d

    Kink3d

    Unity Technologies

    Joined:
    Nov 16, 2015
    Posts:
    26
    Hi, thanks :)

    Tessellation is something that needs to be implemented differently per Render Pipeline. As such we do not currently support it in the Shader Graph. Expect to see more in that area in the future.

    Thanks for asking!
     
  4. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    1,569
    Thanks for the update, another question :
    vertex animation? for making water waves for example.
    using textures to offset vertices?
     
    MR-Heavy and cirocontinisio like this.
  5. Kink3d

    Kink3d

    Unity Technologies

    Joined:
    Nov 16, 2015
    Posts:
    26
    This is similar (albeit slightly less complicated). We are currently working on supporting vertex animation. Expect to see it in a future beta release.
     
  6. RussClarke

    RussClarke

    Joined:
    Mar 10, 2015
    Posts:
    2
    Can the UI widgets in the graph view be exposed so they can be used for other purposes? We have a combinatorial system for generating terrain maps on the fly (heightmaps, splats, scenery placement) - basically a very similar problem, and this front end would be absolutely perfect.
     
    Edmario_, rakkarage, Le_Tai and 2 others like this.
  7. clovergruff

    clovergruff

    Joined:
    Mar 24, 2012
    Posts:
    7
    I'm kinda new to shaders, and haven't worked with Geometry shaders (Only simple vertex offset ones, aside from Fragment and Surface ones, of course).
    As such, I'd like to ask, will we have some kind of Geometry shader support in the near future? I'm planning on learning to write them, but I keep hearing about how difficult it is.
     
  8. Adam-Bailey

    Adam-Bailey

    Joined:
    Feb 17, 2015
    Posts:
    148
    This is great to see. Obviously it's not a complete replacement for writing shaders in code right now (see features like tessellation and vertex animation that you already mentioned), are you able to say if the intention is that this will be a full featured replacement for tools like Amplify/Shaderforge and writing shaders by hand?
     
  9. devon_j_hartman

    devon_j_hartman

    Joined:
    Mar 19, 2015
    Posts:
    12
    Haven't touched it yet but I'm really looking forward to it tonight.
    Off the bat, I see xyz instead of rgb. Either way works but it may confuse some people.
    Also, I see the material starts as what seems to be a flat grey at .5 .5 .5 but then the number is cranked above 1 to make a red. Assuming the max value is 2.55, why wouldn't it start at 1.28?
     
    rakkarage likes this.
  10. Stefan-Viorama

    Stefan-Viorama

    Joined:
    Mar 22, 2015
    Posts:
    4
    How is extended support in the area of image effects going to look like?
     
  11. cAyouMontreal

    cAyouMontreal

    Joined:
    Jun 30, 2011
    Posts:
    236
    Sounds good ! Can't wait to see more !
    Any idea about supporting UI shaders? Neither ShaderForge or Amplify Shader Editor support UI shaders.
     
    rakkarage likes this.
  12. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    2,732
    Hi,
    Internally the shader graph has an abstraction it uses to compile shaders to multiple render loops. In theory, if I write a custom SRP that needs different inputs to the lighting equations, different pass semantics, etc, then I can modify this abstraction layer such that shaders produced in the graph tool are compiled with whatever passes and inputs I need.

    It would be great if you could break this abstraction layer out of the shader graph tool and make it something hand written shaders can use as well. This could be a replacement for Surface Shaders, as they don't work under SRP but the need of such an abstraction is still very great. Being able to write one shader, and have it just work across multiple SRPs, and have it not break every time Unity changes the UNITY_SHADOW_COORD macro or whatever, would be very useful. Preferably the graph could output this code instead of going directly to the assembly as it does now, which is not very useful.

    I don't want to be forced to use a graph to have such an abstraction. While graphs are fine for smaller shaders, they are ill-suited to complex shaders and shader frameworks like the ones I write. It is unlikely Unity's graph will ever reach the point in which it would be possible to do many of the things I do, let alone do it in a way which isn't a complete nightmare to work with. Supporting vertex/fragment shaders across multiple Unity versions and all the different lighting pathways is a nightmare, and almost every Unity release will break one of these. Having a common abstraction for these issues has and always will be the right thing to provide.
     
  13. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    22,023
    My current water requires tessellated vertex animation, so please consider the use case, thank you (for HD).

    Also bonus for any kind of adaptive solution... : >
     
    Thrawn75, id0, Alverik and 2 others like this.
  14. antoine-unity

    antoine-unity

    Unity Technologies

    Joined:
    Sep 10, 2015
    Posts:
    7
    Hi,

    a Graph UI framework will become available in a future Unity release as public API with a proper documentation of its own. You might stumble upon new Experimental API endpoints to support ShaderGraph but they aren't ready to be used by Unity developers just yet.
    Also it is built on top of UIElements which is still experimental as well and being actively worked on.

    Regards,
     
    Last edited: Jan 10, 2018
    Thrawn75, CityGen3D, Alverik and 5 others like this.
  15. RussClarke

    RussClarke

    Joined:
    Mar 10, 2015
    Posts:
    2
    We will look forward to that! Thanks for the response.
     
  16. Kink3d

    Kink3d

    Unity Technologies

    Joined:
    Nov 16, 2015
    Posts:
    26
    @clovergruff Pretty much the same answer as for Tessellation I'm afraid. I believe we will support it because we will be required to. However, this is Render Pipeline specific and as SRP pipelines have very well defined pass structures it is an architectural challenge to support these features in a way where the graph interactions themselves are render pipeline agnostic.

    @Adam-Bailey Correct assumption. The version we released today is still very much beta and in very active development. But correct, the intention is to provide as much functionality as possible (within some SRP agnosticism limitations) and deliver a "complete" shader authoring solution.

    @devon_j_hartman That gif is actually a bit out of date (oops). The default input to Albedo on the Master node is now a Color picker and all LDR color values operate within 0 - 1 as you'd expect.

    @Stefan-Viorama Good question! Were currently not targeting Post-processing as an output as we want to focus on surface definition first. However, I have made a proof of concept Master node which can export a Post-processing effect that plugs straight into Post-processing Stack V2 (with no C# needed!). We need to take a good look at what is the correct way to solve this. Don't expect this anytime soon.

    @cayouMontreal Pretty much same as above. It can be done but is not currently planned out.
     
    Alverik, xCyborg, rakkarage and 2 others like this.
  17. PhilSA

    PhilSA

    Joined:
    Jul 11, 2013
    Posts:
    878
    Since the ShaderGraph seems to be required to be pipeline-agnostic,
    1. is the pipeline-agnosticism an actual technical limitation, or just a Unity policy?
    2. Will users be able to relatively easily add new pipeline-specific "master node types" to the shader graph? Let's say I want to make my custom PBR master node specifically for HD pipeline with tesselation, vertex offset, etc... Can I do it? What about a new master node that has custom lighting, such as a toon shader?
    3. For even more advanced cases where the shader graph isn't the best tool for the job, how will shader programming work in the SRPs? Is there any info on "C# shaders" somewhere?
     
  18. JSiegel

    JSiegel

    Joined:
    Jan 2, 2018
    Posts:
    1
    I'm trying to access the z property of the Screen Position or Position nodes, how do I go about this?
     
  19. Kink3d

    Kink3d

    Unity Technologies

    Joined:
    Nov 16, 2015
    Posts:
    26
    I should be clear that we do intend to support all features (barring any unforeseen circumstances) of the HD render pipeline in Shader Graph out of the box. How exactly this works is still being worked out as work continues on the HD pipeline and Shader Graph.

    Also you will be able to write just about any Master node you could want/need for any of the existing pipelines (within that pipelines limitations) or any custom render pipeline you might write. Documentation on how to do so is being worked on.

    As for shader programming for SRP in general, you will still be able to hand write shaders for SRP pipelines (although you will have to learn how the SRP shader library and the pipeline itself work obviously). C# shaders is something else entirely, and not something we are ready to talk about.
     
    Alverik and PhilSA like this.
  20. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    2,732
    The shaders for the LD pipeline are available on the BitBucket, but they don't seem to compile under the 2018.1 beta- perhaps there's a particular branch that works, but I have not found it.

    Currently, from what I gather, if you don't want to use the graph, and you want to support multiple render pipelines and put an asset on the asset store, you will have to:

    1. Write your shader once for each pipeline (like traditional vertex/frag shaders)
    2. Duplicate all materials, prefabs, scenes and objects which point to those shaders and make versions for each pipeline
    3. Ship to asset store
    4. Get 1 star'd by users because 2/3rds of the assets won't compile in whatever SRP the user has installed. (Ie: I have LD, so surface shaders and HD won't compile)
    5. Get 1 star'd by users because 2/3rds of the assets will look broken
    6. Test new Unity release where some low level shader macro has been changed in one of the pipelines and fix breakage.
    7. Make fixes, duplicate fix into 3 pipelines, test in multiple unity versions under multiple SRPs, go back to #3
    8. Leave the asset store forever because this is insane to expect for less than minimum wage
     
    ThaiCat, noio, Kumo-Kairo and 4 others like this.
  21. Kink3d

    Kink3d

    Unity Technologies

    Joined:
    Nov 16, 2015
    Posts:
    26
    @JSiegel Plug the output into a Split node and use the Z output from that. Remember to use "Raw" type on the Screen Position node for clip space values to be preserved (Documentation is being worked on).
     
  22. qoobit

    qoobit

    Joined:
    Aug 19, 2014
    Posts:
    33
    Tried playing with the combine shader on a normal map and got this error:

    https://www.screencast.com/t/pDVBrVVeYD

    Now all my textures aren't showing up. It turns out if I have a multiply node with a near zero value ie. 0.00001 as one of the inputs and the other output being a normal map, the renderer chokes. Is it because of a divide by 0 problem somewhere? Setting to 0 exact however doesn't causes errors.
     
  23. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,010
    Now that we have an abstraction this could be pulled apart and we could have a surface shader vs shader graph. system. In the surface version you would basically be manually specifying the graph instead of having the graph generate it. This isn't something we currently have planned but we might investigate this during our next hack week.
     
    brn likes this.
  24. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,010
    If you see an error like this it means something has gone wrong on the shader generation side (our fault). We would love to know what the issue is. Could you post a picture of your graph or the graph itself so we can make a fix for this.
     
  25. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,010
    1/2) Yep just unity policy. All the stuff we release we are trying to be universal. If you want to go crazy and write some custom stuff JUST for your project feel free :)

    3) No c# shaders currently and afaik it's not being worked on. We may revisit surface shaders build on part of the shader graph architecture in the future, but this has not started at all yet.
     
    Alverik and PhilSA like this.
  26. qoobit

    qoobit

    Joined:
    Aug 19, 2014
    Posts:
    33
    Graph currently looks like this:
    https://www.screencast.com/t/0kEbuncPX

    If normal intensity is 0 it's fine, but if a low value is used (ie. 0.00001) it glitches.

    PS. Being able to rearrange property order is quite important.
     
  27. Kink3d

    Kink3d

    Unity Technologies

    Joined:
    Nov 16, 2015
    Posts:
    26
    @qoobit Thanks! I've managed to reproduce it now. Its really strange behaviour, will look into it. Its worth nothing that you can use a Normal Strength node to avoid the Split/Multiply/Combine.
     
  28. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,052
    Having two Final Shader Preview seems redundant, how about removing the node preview in the master node?
     
  29. qoobit

    qoobit

    Joined:
    Aug 19, 2014
    Posts:
    33
    Thanks for the tip about normal strength.

    As similar to shader forge, for general floats is it possible to set clamp values to prevent users from going beyond intended values? Maybe sliders is asking for too much but at least have potential min max value settings on inputs.

    On a side note, I'm not sure if this is normal or not:
    https://www.screencast.com/t/qNKqf9S9BNjY

    The right wall is not showing any textures. The normals of the calibration model should all be pointing inward but two walls in the calibration scene are not being drawn properly.
     
    dadude123 likes this.
  30. qoobit

    qoobit

    Joined:
    Aug 19, 2014
    Posts:
    33
    Also perhaps add a open shader graph button inside the Material component area if the shader being used is from a shader graph. Looking for the actual shader file when you already have the material open can be quite tedious.
     
    Narv and dadude123 like this.
  31. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    2,732
    So how does this work in an asset store context?

    Am I expected to ship multiple copies of my asset, one for each SRP that's available, since there is no way to write a shader that works across both? Currently when the LD pipeline is active, the surface shaders my tool outputs throw compile errors (works fine if not using an SRP), which is a violation of asset store package policy and will cause my asset to be rejected.

    What about the demo scenes which I am required to include, 2/3rds of which will be entirely pink because I will now need one copy of every asset for each render pipeline?

    Will unity automatically remove all the 1star reviews this is going to get since I have to ship 2/3rds of my asset in a broken state?

    Will unity manage the mountain of support requests I am going to have in my inbox from users who don't understand why 2/3rds of my examples are required to be broken?

    Is unity only going to allow assets which use shaders made in their shader graph into the store to prevent this issue?
     
    Flurgle, landon912, cecarlsen and 5 others like this.
  32. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,010
    We have created the shader graph tool as a way of developing shader that can work between piplines. This is the solution we are providing to the problem. As you write assets for the asset store you can use the shader graph to make shaders and materials that work between the pipelines. You can even extend the tool for when you develop a custom pipeline and it has a completely different surface model.

    If you want to distribute a hand written shader that works across both you can do this (subshaders with render pipeline tag specified) and this will work.

    Have a pipeline active changes nothing in our shader compilation toolchain... The compiled shader will probably not be supported and not render, but it should compile. Do you have a specific error here?
     
    Alverik likes this.
  33. Kink3d

    Kink3d

    Unity Technologies

    Joined:
    Nov 16, 2015
    Posts:
    26
    @qoobit Slider type nodes and properties are working and on their way to latest Shader Graph version.
     
    dadude123 and Lars-Steenhoff like this.
  34. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    2,732
    That's great for small artist written shaders, but not really practical for large shader frameworks that want to conditionally compile out code, do dynamic shader code generation, etc. I've yet to see a graph that exposes the level of control you get from hand written code in any engine, anywhere.

    But basically what your saying is that if we want a way for our shaders to work in multiple SRPs (and potentially ones users write and ship), we are being forced to use a graph interface for all shaders.

    Is it possible to do this across Surface shaders and SRP shaders? I have not been able to get this to work, but since there are no examples of hand written LD shaders that I can find maybe I'm missing something. (The ones in the SRP branch on BitBucket don't seem to compile when dropped into an SRP project in 2018).

    Yes, I submitted a bug on it already, but basically it complains when I initialize a structure with UNITY_INITIALIZE_OUTPUT that the structure isn't fully initialized. It also complains about some tex2D variant not working, but I haven't looked into this one yet.
     
    Flurgle likes this.
  35. Erlite

    Erlite

    Joined:
    Apr 12, 2017
    Posts:
    1
    Hey! I've been trying to port this to my project, to no avail. What are the files I'm supposed to copy?

    GraphicsSettings doesn't let me drag the LightweightAsset file into the Render Pipeline field.
     
  36. qoobit

    qoobit

    Joined:
    Aug 19, 2014
    Posts:
    33
    If you're working on a fresh project, be sure to go one folder back from the Assets folder and navigate to the UnityPackageManager folder and open up manifest.json. Copy the contents from the sample projects in there and return to your project. It will start importing a bunch of things that will allow you to use SRPs.
     
  37. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,010
    There are a variety of people with various skill levels using unity. The big thing we are pushing for right now is the ability for artists and similar to get access to material creation. We are not saying that we will not ever have surface shaders for SRP land, but it's not something that we have been looking into yet. Thank you for the feedback here on the desire for surface shaders in SRP, it's been heard and we will have discussions about it.

    Yes it should work. You just need to make sure that the surface shader is inside a subshader block.

    I would like to know more, please submit a bug when you get a solid repro :)
     
    Martin_H and Alverik like this.
  38. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    2,732
    I submitted the bug this morning along with the shader. You can also repro it by simply installing the Shader Graph project into 2018.1 and downloading MicroSplat- the included shaders in the example folder will throw the same error.

    Is there a working example of an LD shader which is not graph based somewhere? I tried copying the ones from the master LD SRP branch on BitBucket into the project but they do not compile.
     
  39. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,010
    If you clone the SRP project they should compile. They are not isolated and simple. They are backed by the core SRP library which is a shader library. That + a number of other files are needed for them to compile. There are steps located here: https://github.com/Unity-Technologies/ScriptableRenderPipeline specifically the section: How to use the latest version.
     
    Alverik likes this.
  40. keenanwoodall

    keenanwoodall

    Joined:
    May 30, 2014
    Posts:
    503
    I downloaded the beta and imported the sample project but unity doesn't recognise the .shadergraph files and there isn't an menu item to create them or open a window to edit them. Any ideas?
     
  41. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    3,006
    This looks like a really cool thing, and we're really happy it's showing up!

    Just one little thing: Could you please put Shader Graphs under Create/Shader instead of directly in Create? The Create menu is getting pretty crowded, and that's just by default. We've got quite a few custom assets under there as well, so scanning the menu for things is getting really hard. Finding them under Shader/ seems natural.
     
  42. Kolyasisan

    Kolyasisan

    Joined:
    Feb 2, 2015
    Posts:
    206
    You just need to double-click the file and a window will pop up.
     
  43. MirzaBeig

    MirzaBeig

    Joined:
    Dec 27, 2014
    Posts:
    359
    How would I grab a float3 and float4 texcoord for custom data? The UV node output is a float2.
     
    Alesk likes this.
  44. DGordon

    DGordon

    Joined:
    Dec 8, 2013
    Posts:
    282
    Any chance we can use this for Sprites and/or UGUI Images sometime? We do a lot of 2D work, and it would be great if we could have our artists create the effects they need using this!
     
  45. bakelite

    bakelite

    Joined:
    Jan 13, 2016
    Posts:
    5
    So, um, how do I navigate the graph? Holding the right mouse button does nothing.
     
  46. quixotic

    quixotic

    Unity Technologies

    Joined:
    Nov 7, 2013
    Posts:
    60
    Middle mouse button to pan, scroll to zoom in and zoom out, f to center / zoom in on a specific node or set of selected nodes.
     
    Alverik and dadude123 like this.
  47. instruct9r

    instruct9r

    Joined:
    Aug 1, 2012
    Posts:
    119
    There is no "Texture2D" node. There is only "Sample Texture2D", but when i save the shader and create the material, it doesn't let me change the texture via the inspector. I can only do that from the Shader Editor.. Is this a bug or something??
     
  48. DGordon

    DGordon

    Joined:
    Dec 8, 2013
    Posts:
    282
    plug in a property with a texture exposed. I went through the same thing until I figured it out.
     
    instruct9r likes this.
  49. Kink3d

    Kink3d

    Unity Technologies

    Joined:
    Nov 16, 2015
    Posts:
    26
    Worth noting that the node for referencing a texture is "Texture 2D Asset". This then plugs into Sample Texture 2D, but you can just use the input field on the Sample Texture 2D node. You can even create a Texture 2D Asset node by dragging a texture that you want on to the graph. If you want to expose it to material UI you need a Property as DGordon says. You can create these from the floating property window (then add a Property node) or right click on certain nodes (like Texture 2D Asset) and select "Convert to Property" to do this for you.
     
    Alverik and instruct9r like this.
  50. MirzaBeig

    MirzaBeig

    Joined:
    Dec 27, 2014
    Posts:
    359
    Still wondering if it's possible to get a float3/vector3 or 4 from a UV channel.
     
    BennettDB likes this.