# Naming difference in GH Components compiled in Script Editor

**URL:** <https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752>\
**Category:** Grasshopper\
**Tags:** windows, developer\
**Created:** [May 20, 2025, 10:48am UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752 "2025-05-20T10:48:00Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![kiteboardshaper](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kiteboardshaper/32/767533_2.png) [@kiteboardshaper](https://discourse.mcneel.com/u/kiteboardshaper)\
**Post date:** [May 20, 2025, 10:48am UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/1 "2025-05-20T10:48:00Z")

</div>

Hi Guys,

I’ve just uploaded my first set of Grasshopper Components to the Package Manager.

This is also my first Plugin compiled using the new Rhino 8 script editor.

I made a demo GH file with the components, then un-installed the plugin to see the experience of a user being sent a script with them installed.

This is what came up:

 ![Screenshot 2025-05-20 121403](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/1/c/d/1cd427d3bd6cf116fb65abbaaea269e4ab5c1c03.png)

The Plugin is called _ **DKUI** _ but the package manager is looking for _ **DKUI.Components** _. How do I get these names to match/the plug in to automatically load?

 ![Screenshot 2025-05-20 121429](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/b/b/7/bb7dabc886b6223087fc6fe77ad6a8e9f013109a.png)

 ![Screenshot 2025-05-20 122305](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/2/e/d/2ed9af1771d2911a35217577e28302ecd33b0675.png)

Cheers

DK

---

<div class="post-metadata">

**Author:** ![kiteboardshaper](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kiteboardshaper/32/767533_2.png) [@kiteboardshaper](https://discourse.mcneel.com/u/kiteboardshaper)\
**Post date:** [May 23, 2025, 3:08am UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/2 "2025-05-23T03:08:01Z")

</div>

@eirannejad have you seen this thread?

Anything I can do to fix this naming issue?

Cheers

DK

---

<div class="post-metadata">

**Author:** ![kiteboardshaper](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kiteboardshaper/32/767533_2.png) [@kiteboardshaper](https://discourse.mcneel.com/u/kiteboardshaper)\
**Post date:** [May 27, 2025, 10:55am UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/4 "2025-05-27T10:55:19Z")

</div>

OK, I’ve tried added a Python command “hello world” to the project to see if that fixes the naming issue. Still no dice - if you dont have the plugin installed when you open a GH file the Package Restore still goes looking for the DKUI.Components name.

 ![Screenshot 2025-05-27 125005](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/f/2/8/f28d5e52ad9ec20634a89d6db2af666537c9ffdf.png)

HELP PLEASE!

The GH Python to Script Editor to YAK to Package Manger workflow is pretty nice but if the plugin can’t be managed by the Package Manger the whole project is a bit of a fail.

Cheers

DK

---

<div class="post-metadata">

**Author:** ![kiteboardshaper](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kiteboardshaper/32/767533_2.png) [@kiteboardshaper](https://discourse.mcneel.com/u/kiteboardshaper)\
**Post date:** [May 27, 2025, 10:59am UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/5 "2025-05-27T10:59:16Z")

</div>

Everything works as expected if you manually install DKUI from the Package Manager:

 ![Screenshot 2025-05-27 125756](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/a/5/f/a5f6a9410f33fcd3c3a1b815c0d659ba7a0ea1e2.png)

Sample file attached.

Cheers

DK

[250527\_DKUI test.gh](https://discourse.mcneel.com/uploads/short-url/hXQScMEmuUjhzrjhIWQaPEPie2n.gh) (7.4 KB)

---

<div class="post-metadata">

**Author:** ![kiteboardshaper](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kiteboardshaper/32/767533_2.png) [@kiteboardshaper](https://discourse.mcneel.com/u/kiteboardshaper)\
**Post date:** [May 27, 2025, 2:02pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/6 "2025-05-27T14:02:18Z")

</div>

OK, tried uploading my YAK with the name in a manifest renamed to DKUI.Components - but got a YAK error that the name in the Manifest cannot contain “.”

Poking around in the build file I found this in ProjectPlugin\_Grasshopper.cs in the source folder:

```auto
    public override string AssemblyName { get; } = "DKUI.Components";
    public override string AssemblyVersion { get; } = "25.5.27.9279";
    public override string AssemblyDescription { get; } = "A WebUI based, cross platform GUI builder for Grasshopper. Icons by https://icons8.com";
    public override string AuthorName { get; } = "David Kay";
    public override string AuthorContact { get; } = "karorocad@gmail.com";
    public override GH_LibraryLicense AssemblyLicense { get; } = GH_LibraryLicense.unset;
    public override SD.Bitmap AssemblyIcon { get; } = PluginIcon;

```

It looks to me as this is the source of the name confusion, is there a way to fix this in the Script Editor?

Cheers

DK

---

<div class="post-metadata">

**Author:** ![kiteboardshaper](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kiteboardshaper/32/767533_2.png) [@kiteboardshaper](https://discourse.mcneel.com/u/kiteboardshaper)\
**Post date:** [May 29, 2025, 7:41am UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/7 "2025-05-29T07:41:55Z")

</div>

Hey Guys,

Its been 9 days since I started this thread and I’ve not had a reply from anyone at McNeel on it.

Would be great to get a:

_“Opps yes, thats not right, we’ll look into it”_

or even:

_“Nah, we never intended for GH plugins written in GH to be managed by the Package Manager - you’ll need to make your users manually install”_

Anyone out there in McNeel developer land able to shed some light on this issue? Anyone?

![anyone](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/a/b/0/ab0bcffc46b47ab695bd7761da38dd9d1c12e8f1.gif)  
Cheers

DK

---

<div class="post-metadata">

**Author:** ![Japhy](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/japhy/32/487647_2.png) [@Japhy](https://discourse.mcneel.com/u/Japhy)\
**Post date:** [May 29, 2025, 12:59pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/8 "2025-05-29T12:59:18Z")

</div>

Hi David,

I’ve only done the local yak, i’ll try and repeat with your steps later in the day. This has been assigned to Eshan and he should pop his head up soon, he’s been in some deep work this week which is almost ready to commit.

---

<div class="post-metadata">

**Author:** ![kiteboardshaper](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kiteboardshaper/32/767533_2.png) [@kiteboardshaper](https://discourse.mcneel.com/u/kiteboardshaper)\
**Post date:** [May 29, 2025, 2:14pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/9 "2025-05-29T14:14:52Z")

</div>

Thanks Japhy, local drag/drop of the YAK file works FINE, the issue comes when sending a GH file that uses the plugin to a user that does not have it installed.

The package manager SHOULD find it and install it - but fails due to the names not matching.

Cheers

DK

PS - Actually REALLY happy with this Script Editor workflow for compiling Python based GH plugins, just need the last little bit to work…

---

<div class="post-metadata">

**Author:** ![eirannejad](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/eirannejad/32/477962_2.png) [@eirannejad](https://discourse.mcneel.com/u/eirannejad)\
**Post date:** [May 29, 2025, 6:58pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/12 "2025-05-29T18:58:20Z")

</div>

@kiteboardshaper Hello and sorry for the late reply. I see the problem here is that Yak inside GH1 is looking for the yak plugin based on name of the assembly which is `DKUI.Components`

I created a YT issue to get this fixed ASAP  
[RH-87682](https://mcneel.myjetbrains.com/youtrack/issue/RH-87682) Published gh1 plugin with .Components in its name is not discoverable by Yak

As a workaround you can override the assembly name in the generated `DKUI.Components` project source and rebuild and repack the yak package to publish.

---

<div class="post-metadata">

**Author:** ![kiteboardshaper](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kiteboardshaper/32/767533_2.png) [@kiteboardshaper](https://discourse.mcneel.com/u/kiteboardshaper)\
**Post date:** [May 29, 2025, 7:37pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/13 "2025-05-29T19:37:21Z")

</div>

Thanks I’ll have a look at this @eirannejad - what software do I use to rebuild and repack .cs source? Can that be done in the Script Editor? I do have VS Code and VS on my machine but barely touch them…

Cheers

DK

---

<div class="post-metadata">

**Author:** ![kiteboardshaper](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kiteboardshaper/32/767533_2.png) [@kiteboardshaper](https://discourse.mcneel.com/u/kiteboardshaper)\
**Post date:** [May 29, 2025, 8:32pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/14 "2025-05-29T20:32:38Z")

</div>

@eirannejad thanks for the heads up.

I found and opened the .sln file in Visual Studio, then did a find/replace in the whole project - replacing _ **DKUI.Components** _ with _ **DKUI** _ then built for release.

The installed the resulting DKUI.GHA, opened my demo, saved it, uninstalled the GHA, opened my demo AND:

 ![Screenshot 2025-05-29 222708](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/1/5/c/15c2f80e0f885b7c9b7523836b0b099b24a03122.png)

SUCCESS!

Bit of a extra step but nice to have a solution.

Cheers

DK

---

<div class="post-metadata">

**Author:** ![eirannejad](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/eirannejad/32/477962_2.png) [@eirannejad](https://discourse.mcneel.com/u/eirannejad)\
**Post date:** [May 29, 2025, 8:41pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/15 "2025-05-29T20:41:40Z")

</div>

@kiteboardshaper

So this is more of a heads up related to the fix I am gonna put into next Rhino 8

The reason Grasshopper plugin assembly is named _ **DKUI.Components** _ is because script editor publishes Rhino and Grasshopper plugins into one package and Rhino plugin matches the name of the project e.g. _ **DKUI** _ in this case.

To avoid naming conflict between the two assemblies `.Components` is added to the GH1 plugin assembly.

I am going to make the Yak handler on Grasshopper 1 smarter so when it sees `<name>.Components` it searches for a package `<name>` as well.

This will resolve the problem without any monkey-patching of the solution after the project build. It is also backward compatible with all the plugins other developers have published as well.

---

<div class="post-metadata">

**Author:** ![kiteboardshaper](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kiteboardshaper/32/767533_2.png) [@kiteboardshaper](https://discourse.mcneel.com/u/kiteboardshaper)\
**Post date:** [May 29, 2025, 8:45pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/16 "2025-05-29T20:45:53Z")

</div>

@eirannejad that does sounds like the most logical solution - I’ll consider what I’m doing right now as part of the development process and look forward to seeing the system ready for production soon.

Can’t actually believe I’m the first person to run into this issue, the workflow has been been available for how long? 18 months?

Cheers

DK

---

<div class="post-metadata">

**Author:** ![eirannejad](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/eirannejad/32/477962_2.png) [@eirannejad](https://discourse.mcneel.com/u/eirannejad)\
**Post date:** [May 29, 2025, 8:52pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/17 "2025-05-29T20:52:01Z")

</div>

Haahaha yes! You are definitely the first! I am working on this today and will update here when I have a solution

---

<div class="post-metadata">

**Author:** ![eirannejad](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/eirannejad/32/477962_2.png) [@eirannejad](https://discourse.mcneel.com/u/eirannejad)\
**Post date:** [May 29, 2025, 9:24pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/18 "2025-05-29T21:24:07Z")

</div>

@kiteboardshaper

I investigated this a bit more. The yak package manager first tries to find the package based on the `guid:*` keyword. This keyword contains the assembly id of the dlls in the package.

I made a test plugin and pushed it to yak and tested that it can be installed with no issues

Would you mind confirming that the `manifest.yaml` contains a keyword formatted as `guid:<plugin-id>` in your package? It would also be great if you can DM me your yak package that has trouble being installed

---

<div class="post-metadata">

**Author:** ![eirannejad](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/eirannejad/32/477962_2.png) [@eirannejad](https://discourse.mcneel.com/u/eirannejad)\
**Post date:** [May 29, 2025, 9:40pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/19 "2025-05-29T21:40:13Z")

</div>

Oh actually I downloaded your package from Package Manager and verified that it does not have the `guid` in the keywords:

```yaml
keywords:
- DKUI
- HumanUI
- Synaspe
- ETOWebview
- User_interface
- GUI
- Grasshopper

```

Add those back please and publish 😃

```yaml
- guid:3344a56f-c707-4b52-8f1d-66f39084ea4a

```

---

<div class="post-metadata">

**Author:** ![kiteboardshaper](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kiteboardshaper/32/767533_2.png) [@kiteboardshaper](https://discourse.mcneel.com/u/kiteboardshaper)\
**Post date:** [May 30, 2025, 6:47am UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/21 "2025-05-30T06:47:35Z")

</div>

OK, this could be it, I’ll try that as soon as I’m into my office this morning.

Cheers

DK

---

<div class="post-metadata">

**Author:** ![kiteboardshaper](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kiteboardshaper/32/767533_2.png) [@kiteboardshaper](https://discourse.mcneel.com/u/kiteboardshaper)\
**Post date:** [May 30, 2025, 12:05pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/22 "2025-05-30T12:05:49Z")

</div>

Ehsan, you LEGEND! Thank you!

You are 100% correct - I had my custom manifest file looking like this:

```auto
---
name: DKUI
version: 25.5.28.3
authors:
- David Kay
description: A WebUI based, cross platform GUI builder for Grasshopper. Icons by https://icons8.com
license: ''
url: ''
keywords:
- guid:3344a56f-c707-4b52-8f1d-66f39084ea4a
icon: icon.png
keywords:
- DKUI
- HumanUI
- Synaspe
- ETOWebview
- User_interface
- GUI
- Grasshopper

```

I hadn’t noticed that the GUID was actually under a keywords: key, so ended up with keywords: TWICE.

Updated today to:

```auto
---
name: DKUI
version: 25.5.30.1
authors:
- David Kay
description: A WebUI based, cross platform GUI builder for Grasshopper. Icons by https://icons8.com
license: ''
url: ''
icon: icon.png
keywords:
- guid:3344a56f-c707-4b52-8f1d-66f39084ea4a
- DKUI
- HumanUI
- Synaspe
- ETOWebview
- User_interface
- GUI
- Grasshopper

```

AND:

 ![Screenshot 2025-05-30 134859](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/2/c/f/2cfdf5ea932f4272d3bbc3b6880624b2f406bfba.png)

GH is able to find and install perfectly.

Thank you.

BUT - this does bring up a request for the Script Compiler.

Can we please have the option to fill out more details for the manifest file than just what is available on this menu:

 ![Screenshot 2025-05-30 135907](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/4/2/e/42edc1e6c4962ca7b520bce3010aeaae3209f316.png)

In particular project Icon, to be included in the .YAK file and a full set of keywords.

The current auto created manifest does not include these:

```auto
 ---
name: DKUI
version: 25.5.29+9282
authors:
- David Kay
description: A WebUI based, cross platform GUI builder for Grasshopper. Icons by https://icons8.com
license: ''
url: ''
keywords:
- guid:3344a56f-c707-4b52-8f1d-66f39084ea4a

```

So currently EVERYTIME I compile my plugin I’m:

- renaming the .YAK to .ZIP
- copying in the project icon.png file
- copying in/over writing the stock manifest file with the one above with the extra details
- renaming back to a .YAK file

Its a bunch of busy work that could/should just be part of the Script Editor setup for the project.

I could start a different thread on this feature request if needed?

Cheers

DK

---

<div class="post-metadata">

**Author:** ![eirannejad](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/eirannejad/32/477962_2.png) [@eirannejad](https://discourse.mcneel.com/u/eirannejad)\
**Post date:** [May 30, 2025, 11:51pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/23 "2025-05-30T23:51:10Z")

</div>

Sweet. Ya I added a ticket to improve the publish dialog

[RH-87711](https://mcneel.myjetbrains.com/youtrack/issue/RH-87711) Support adding more data to manifest.yaml

---

<div class="post-metadata">

**Author:** ![brian](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/brian/32/504171_2.png) [@brian](https://discourse.mcneel.com/u/brian)\
**Post date:** [April 21, 2026, 10:15pm UTC](https://discourse.mcneel.com/t/naming-difference-in-gh-components-compiled-in-script-editor/204752/24 "2026-04-21T22:15:53Z")

</div>

[RH-87711](https://mcneel.myjetbrains.com/youtrack/issue/RH-87711) is fixed in Rhino [WIP](https://discourse.mcneel.com/t/welcome-to-serengeti/9612)
