Troubleshooting GH Styles can be frustrating

I’m interested in the extensive usage of VA GH Styles. One of the reasons is because I hate when Grasshopper Canvas is overloaded with the components for multiple unrelated objects… tabbing between different GH files is also not ideal, because only one file can be previewed at one time (e.g. you don’t see Custom Preview from one GH file if you switch to another).

In my opinion, some things during creating, testing, and using GH Styles need to be streamlined.

Nonetheless, adding “intelligence” to objects is cool!

There are some usability problems/inconveniences I mentioned in other threads.


(to edit and add links later)

  • multiple objects per input slot

  • lock objects from recomputing during multiple input changes

  • Sub-panel annoyance

  • Slow placing and moving

  • Remove disablet components from the input/output during GH Styles wizard

  • Alphabetical or other ways of sorting of the Inputs in the Panel

Here, I wanted to highlight that reusing GH Styles and changing their inputs can be a real struggle.

Troubleshooting GH Styles can be very monotonous and even frustrating at times. Right now there is a too-long path, too many clicking to be made to edit GH Style Definition and check if it’s working. Especially painful if very often the outcome is not as I expected it to be.

  1. If I don’t have the GH definition opened already, this is how the whole process of reloading looks.

Unreal Engine is a very feature-rich program but accessing some logic of this Third Person Character is very fast and easy. It must be easily accessible because of how many quick tests user is doing during game-making.

  1. How changing inputs for this particular definition look in grasshopper, pretty straightforward and quick. This shows the ease of testing stuff in different conditions*

  1. Very frustrating when placing a new VA Object and something goes wrong during changing inputs. Object disappears.

  1. Moving GH styles is an odd process… - I will touch on it in a separate topic (about Linking and Embedding inputs)

Copying VA GH Styles Objects from place to place is awkward. Fact that they update output after every input change doesn’t help in this case.

Please consider how much easier it would be if all those curve inputs would be embedded. I could just simply move/copy VA Object wherever I want, all inputs would be working correctly and I could just edit them on the new copy.

GH Style with specified in definition insertion point

GH Style without specified in definition insertion point

  1. Force some objects to auto-update

It would be very helpful in many cases. I read on the VA website, that objects do not update automatically because it can be computationally heavy and I understand that, but there should be some toggle for specific objects to force „auto-update” on them.

I had some experiments using the „Geometry Pipeline” component inside VA GH Style and it was interesting. The slab I made could „listen” if there is some geometry (with e.g. specified user text or other selection rules) for which it needs to prepare a hole or automatically merge it in itself. But of course, I had to use Update manually.

Playing with a lot of windows and “Linked” Curve Input which affects them is a good example where an auto-update would be handy.

Maybe Grasshopper files that are making VA GH Styles could also be linked, embedded, linked and embedded.

You know when it really hurts?

When in some cases your VA GH Style doesn’t work as expected, and you got a bunch of inputs.

You got to go back to Grasshopper to fix it but to do that you need to set all the input values the same as they were in the problematic VA Object.

Ideally, I would want just to quickly jump from VA Object to the GH definition where I got the same input values and debug my definition.
So if given GH Definition is used in many VA Objects, what we (I) may need are input components that are resembling parameters of the edited instance in every jump from VA Object → Underlying GH definition.

I hope that makes sense… Please tell me if somewhere I wasn’t clear enough or talked nonsense.

Hello @Czaja,

You don’t need to open Grasshopper if you have previously modified and saved your definition. You can just reload it in the Grasshopper Styles dialogue.

This looks like a bug. Could you send me this Gh style? I’ll check it to figure out what is happening.

Some objects already have an option available to auto-update (such as Plan or Section Views). Your example about the slabs is a feature which is planned to implement, not as an autoupdate option, but as an automatic join between equal slabs (similar to the way walls are currently automatically joined). About your other example about a linked curve and a lot windows, this could be made using Grasshopper and it would update automatically, right? I don’t see why an auto-update option would be needed here. In which other cases would you need this auto-update option?

Please, do you have any example where this is happening? It would be helpful to work in this issue.

Thank you so much for your feedback. Please, let me know if I missed something.

Yes, I know. I was “playing” the scenario where I just opened the Rhino file with my previously made GH Styles and I need to check something in the definition. I’m showing the longest path. Where in UE4 example, “definitions” or actors to be exact, are accessed more easily. Just two clicks away.

If I could also just hit reload without going through the whole wizard all the time it would streamline my debugging process a bit.

I made a simple VA Style for you to check. Basically, because I can’t freeze updates of the VA Objects while changing a couple of inputs, there is a moment in which my output is Empty and then my VA Object disappears.

VA Style tween (11.7 KB)
va style tween sample.val (43.2 KB)

I use Visual ARQ to do various tasks, For example when doing some illustrations.
I use VA Objects a little like GH Player with history. If I fiddle with the input shapes a lot, but every time I make a change, I got to go to the Properties sub panel and re-pick the input. This is a very long and repetitive task that could be solved by auto-update.

Simple stuff, I made for myself VA Objects to tween curves within boundaries, I need to do a series of illustrations and needed a flexible tween/hatch tool like that

adjusting inputs, re-picking curves to update, please take a look at how many times I got to enter Properties sub-panel “Element” and how long every time it takes for that panel to show… Also, note that I can’t preview current inputs, so if during re-picking curves I would by mistake choose the wrong input curve, I could force VA object to do some very strange operation, this might be long, might hang Rhino for good or produce Empty output and remove my VA Object

There are a lot of advantages of using VA GH Style Objects instead of plain Grasshopper. I can’t make a list right now, but I’m sure you know about those advantages too.

Hi @Czaja,

Ok, I understand. Maybe we could add an “Open” option beside the “Reload” option or some kind of similar shortcut to open the file more easily. Would that work for you?

Ok, I get your point now. There should be a way to freeze the update, just like it is working when you edit a style (changes are not applied until you finish editing).

About the auto-update option. I read this post before this one. I think you are right, I have just added this request with your vote to our list.

1 Like

Yes. Button/command like somewhere close. Maybe inside the “More…” menu?

I don’t know what do you think about this issue. I know it might be very tricky to implement… Because many VA Object instances can have different values yet they refer to the same GH definition file.

Maybe VA should have custom input components that would refer to the instances? GH Player has custom input components.

There is something like “Save state” in the Grasshopper. It can change states of Number Sliders, Color Swatches, but not e.g. inputs of the Curve component.

So, If opening GH definition through the given VA Object instance could automatically set my (sort of enhanced with more types of inputs) “Save state” that would ease debugging VA Styles tremendously.

Hi @Czaja,

I was wrong about this. There is already a way to do it; you can use the “vaProperties” command (or just double click the object). This command allows you to change all parameters that you need until you press “OK” or “Apply”, like the styles editor.
Edit Gh style object

I didn’t understand very well what you meant here. Do you mean that, after changing the inputs of a Gh style object, you would like to open a Gh definition with the current inputs? I am not sure if that would be possible though…

1 Like

Ah, I missed it too! Thanks.

It seems to recompile every input change in the window preview (without clicking ok or apply), which can slow things down with heavy Styles. Of course, it makes sense, we will see in the future how it will act with heavy VA Styles. For now, it’s ok.

I had to find an exception…
Method you mentioned is not possible if we want to edit multiple objects at once.

Yes, and I know it might be something complicated for a regular wish. Just wanted to plant the seed.


Thank you for implementing getting of geometrical properties through Get Property component!
Now I can prepare my GH Style in a way that allows me to toggle “Debbuging” mode for selected VA Objects. This way troubleshooting instances that do not work as expected will be much easier.

Maybe it could be more elegant if this would be some native solution, but what I came with isn’t very hacky, it works and saves time for me, so I’m ok with it.

Reference wanted object in the VA Object component and use Stream Filters to switch between original VA Style inputs and Inputs used in a given instance.

This is how it works, very simple

1 Like