# Trouble utilizing a Gateway Scripting Project

**URL:** <https://forum.inductiveautomation.com/t/trouble-utilizing-a-gateway-scripting-project/87527>\
**Category:** Ignition\
**Tags:** scripting\
**Created:** [March 19, 2024, 12:43am UTC](https://forum.inductiveautomation.com/t/trouble-utilizing-a-gateway-scripting-project/87527 "2024-03-19T00:43:42Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![humphrey.daniel](https://avatars.discourse-cdn.com/v4/letter/h/8e8cbc/32.png) [@humphrey.daniel](https://forum.inductiveautomation.com/u/humphrey.daniel)\
**Post date:** [March 19, 2024, 12:43am UTC](https://forum.inductiveautomation.com/t/trouble-utilizing-a-gateway-scripting-project/87527/1 "2024-03-19T00:43:42Z")

</div>

I can't seem to access anything (methods, props) exposed by my gateway scripting project. I've restarted the gateway (gwcmd -r), closed and reopened my designers, re-assigned the project in the gateway (v8.1.38) settings. Also tried executing my script from a Vision button, but get the same error.

I've reviewed the docs and searched the forums but didn't identify a resolution to my problem. Anyone have a suggestion?

This is a side-by-side and config:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/9/c97e8ce69815bb5619855d16667d41fe0256e7e8.png)

---

<div class="post-metadata">

**Author:** ![ryan.white](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan.white/32/73193_2.png) [@ryan.white](https://forum.inductiveautomation.com/u/ryan.white)\
**Post date:** [March 19, 2024, 12:53am UTC](https://forum.inductiveautomation.com/t/trouble-utilizing-a-gateway-scripting-project/87527/2 "2024-03-19T00:53:24Z")

</div>

The gateway scripting project is the project that tags (which don't exist in any one project) can access the scripting library of. What you are looking for is [Project Inheritance.](https://www.docs.inductiveautomation.com/docs/8.1/platform/projects/project-inheritance)

In the Projects section of the Config section of the gateway interface, you can configure what project to inherit from on a per project basis. You can also set this when creating a project.

You can also set a project as inheritable, which prevents you from launching any clients of it, but allows it to be inherited into other projects. Only projects marked as inheritable can be inherited.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 19, 2024, 12:53am UTC](https://forum.inductiveautomation.com/t/trouble-utilizing-a-gateway-scripting-project/87527/3 "2024-03-19T00:53:55Z")

</div>

The gateway scripting project is only relevant when something is executing in gateway scope and is not explicitly associated with a project, such as a tag event script.

---

<div class="post-metadata">

**Author:** ![humphrey.daniel](https://avatars.discourse-cdn.com/v4/letter/h/8e8cbc/32.png) [@humphrey.daniel](https://forum.inductiveautomation.com/u/humphrey.daniel)\
**Post date:** [March 19, 2024, 1:11am UTC](https://forum.inductiveautomation.com/t/trouble-utilizing-a-gateway-scripting-project/87527/4 "2024-03-19T01:11:33Z")

</div>

> [@ryan.white](#):
>
> rojects section of the Co

Thanks for the help, I was able to use my Gateway Scripting Project to populate an expression tag.

How might I identify gateway-scoped opportunities? This Gateway Scripting Project looked like a way to expose methods and properties to all projects without chaining Project Inheritance.

---

<div class="post-metadata">

**Author:** ![ryan.white](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan.white/32/73193_2.png) [@ryan.white](https://forum.inductiveautomation.com/u/ryan.white)\
**Post date:** [March 19, 2024, 1:39am UTC](https://forum.inductiveautomation.com/t/trouble-utilizing-a-gateway-scripting-project/87527/5 "2024-03-19T01:39:18Z")

</div>

> [@Project Structure Management: Best practises](https://forum.inductiveautomation.com/t/project-structure-management-best-practises/84802/2):
>
> An architecture to consider: Possibly expanded as described here: The key is to push well-tested resources towards the root of the hierarchy so they can be shared. It can also be helpful to duplicate projects for development work, and then send the updated resources (via export...send to project) in a batch back to the original project. Similar to making git branches, but can be done with or without git. (Delete the duplicate project immediately after its resources are merged where intend…

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 19, 2024, 1:51am UTC](https://forum.inductiveautomation.com/t/trouble-utilizing-a-gateway-scripting-project/87527/6 "2024-03-19T01:51:17Z")

</div>

> [@humphrey.daniel](#):
>
> expose methods and properties to all projects without chaining Project Inheritance

It is not. It is only accessed by non-project objects in the gateway, like expression tags and tag event scripts (on the tag).
