[RELEASED] ShaderlabVS Pro: A Visual Studio Plugin for Shaderlab Programming


Asset Store | MianBaoDuo | Online Documents

ShaderlabVS Pro is a Visual Studio plugin for Unity shaderlab programming. It is paid version of ShaderlabVS which I made and open source since the year 2014. Compared with ShaderlabVS, it has more features and better performance.

Main Features:
• Syntax highlighting
• Hover information
• Code Completion
• Doc Comment
• Format Document and Selection
• Singnature Help
• Go To Definition
• Navigate To
• Supports SRP
• Code Snippets
• Supports Dark theme

Supports Files:

  • .shader
  • .cginc
  • .glslinc
  • .compute
  • .cg
  • .hlsl
  • .vfxshader
  • .surfshader

Supports Visual Studio Version:

  • Visual Studio 2019
  • Visual Studio 2022
1 Like

ShaderlabVS Pro is available on asset store with 50% OFF SALES

Purchased!
However, when I enable this extension, the VS text editor no longer shows the line numbers on shader code. Disabling the extension makes the line numbers reappear.
I really need those line numbers lol.

Ok got it: your extension is making VS recognize shader code as a new entry in languages: “Shaderlab” and I have to set the config manually on it too.

Tools → Options → Text Editor → Shaderlab

I’m missing C#'s variable highlighting though: the thing that automatically highlights all references of a variable in your code when the cursor is over that variable’s name.
That would be a great feature for shaderlab editing!

Yes, we need enable the line number in options for now, I will let it enabled automatically in new release.

Thank you for suggestion and I have add a TODO item for it.:slight_smile:

1 Like

Hi @atomicjoe ,

I have implement a basic version for highlighting selected words and same words in document in my local side, would you mind help test it? It’s not perfect, but works. Please send me an email to amlovey@qq.com and I will send you the new package.

1 Like

New version will be available next week and LAUNCH SALES ends next week with new version released. Two improvements in new version:

  1. Add a formatting style config in options page for placing open brace on new line or not
  2. Hover information contains type info of member of structs or variables

I love your extension! The formatting and keyword hilighting is worth the price alone!
Life is so much easier coding shaders with this :slight_smile:

1 Like

Hey! I am looking at your ShaderLabVS Pro asset. I am a bit confused with the Standard Renderer and ex URP. As I understand we use CG for standard Pipeline and HLSL for URP? My question remains - does the asset support the HLSL or generally URP / HDRP way of writing shaders? I can see in the description SRP - is this the same shader wise ? I will try the free version but I would really appreciate if you could clarify this for me.
I am aware of Shader Graph but I really like to know what happens underneath and autocomplete and syntax highlight will really speed up the learning process.
Thanks!
-Peter

Hi,

Thank you for your questions.

ShaderlabVS supports both of them CG and HLSL. Actually, these two languages are very similar from syntax level.

And it supports write shader (.shader and .compute) and libraries (.cginc, .glslinc and.hlsl etc.). Free version has limited features but it will make shader programming more easier in Visual Studio.

1 Like

Hey! Thanks for the quick response.

Before I decide to purchase the asset I have a question about how it works compared to free version that I am using.
The free version doesn’t give the autocomplete for ex “UnityObjectToClipPos”
or when I type o. … and i. … like this:

vertexOutput o;
o.position = UnityObjectToClipPos(i.vertex);

UPDATE: I see that it provides the autocompleter for i.vertex and others but it is at the end of the list.

From what i see in the video on the asset store the pro version provides all those features is it correct? Can I expect the same sort of intellisence like the inbuild one for c# ? The description of the asset only mentions better performance and more features so I am asking to make sure what to expect.

Thanks again!

Free version only has completions for old unity (like unity 5) and didn’t update for many years. That’s why the ‘UnityObjectToClipPos’ method are not included. Pro version is updated and more powerful for code completions intellisense(like provide methods/types from included library files).

6909155--809531--cc.gif

1 Like

Hi @Amlovey ,

I recently purchased your extension ShaderlabVS Pro and have encountered important performance issue when working with large files.

In this case I was working on NatureManufacture shaders. They are hugemongous files (20K lines) generated by Unity’s shader graph tool.

Hi, would you mind share the generated large file to my email amlovey@qq.com. I can debug base on the file to see what happen there.

Unfortunately the file in question is NM intellectual property. I am not authorized to share it, unless you possess a license yourself.

Ok, I will try to repro and fix the issue in my side with other shader files.

If you have a big shader built with Shader Graph or Amplify Shader Editor you should be able to use the generated shader to reproduce the issue.

I can confirm that opening the generated shader of a surface shader, this plugins slows down Visual Studio a lot.
It’s not usually a problem for me, but I can see how it could be in some cases.