the program tree will probably have a different structure then the paths defined in the value boxes.
the initial steps with H6 are steep in the beginning in terms of a learning curve, but once you dig it it is in factu quite easy, but you will need to understand the relation between the tree, the naming within the tree, and what has to be defined in the value boxes and the GUI box.
the easiest way to go is to start with one program/layer/zone and keep those names like that.
the next thing is to start making the macro at the program level
then add your elements and connect them
if it is well coded if you see in the value field something like: “zone.filter.cutoff” or “zone.filter.resonance”.
It you see something like @id:a0001a, then the program is not referencing correctly to the zone.
Connections with a zone are made at the zone level!
Once you have your experiment ready to be exported as a layer, then you export the program level (where the macro sits) to a halion sonic layer.
hope it helps a bit, but looking at the creations made by steinberg and others give you a big help.
good references also are:
not very active for the moment, but probably will evolve. It’s more oriented for the SDK part of plugins, but still some usefull info there.
hope it helps a bit