GraphN Library Primer
At its core, GraphN Library (GNL) is an integration plugin that sits right inside your DCC, and gives you the following features:
- You have access to a ready-made library of tools
- You can export your GraphN tools to it
- It allows you to connect GraphN and your DCC
- Its Tags Editor allows you to easily manage objects
- Tools in the GraphN Library are non-destructive and really, really fast!
- And so much more!
In this primer, we'll be going through the basics all the way to key tips and tricks that can help you work smarter and faster than ever before.
Before we continue, please make sure that you've read the Getting started page, more specifically the installation section.
You can open the GNL toolbar in two different ways for Unreal Engine and Autodesk Maya. In UE, there will be a GraphN icon in your toolbar that you can click on:

And in Maya, you should find a "GraphN" menu on your menu bar:

Clicking on either of those buttons will open the following toolbar:

Each button on this toolbar is crucial to fully leverage the GraphN ecosystem's capabilities. We'll go through them from right to left, starting with "Tools Browser" and ending with "Disconnect"
This panel is the heart of GraphN Library: if you click on it, it'll display a panel with the tools that you can use right away. Clicking on any given tool in the panel will close the tools browser panel, and open the specific tool. The reload icon left to the close icon will reload your library, in case you've exported a new tool from GraphN but aren't seeing it in the panel.

When you "Export" a tool from GraphN, it'll get displayed in this panel, and in the future, you'll have the ability to search through tools built not just by the Polygonflow team but artists around the world, almost like a Google for 3D workflow automation.
By default, any tool you open will look like this:

Clicking on that blue plus icon will create a new "tab" or instance. You can think of these as web tabs in one browser window, essentially. Each tab has its own name, and double-clicking on the name will allow you to rename it (don't forget to press Enter to confirm the name change!).
Closing a tab is as simple as hitting the X on each tab. Keep in mind that this action is currently not undoable!

There are various properties to play with for each tool. Most of them are sliders, checkboxes, and other standard properties, but the ones you may not be used to are the "Container" properties, like these two:

These properties allow you to pass any object, material, or curve to the tool. On the first property with the name "Object", you can see that the property currently has ten objects. The four icons on its right allow you to a) clear all objects from the property b) select all objects in the property c) add objects to the property d) expand or collapse the objects display

If you look at the other property "Surface", you'll notice that it has a yellow message "Provide a surface to project on". When you export a tool from GraphN, you can set such notifications and make certain properties required. In the case of this tool Project Objects, it basically takes any objects you want to project, and a surface you want to project on. Those two properties are required. Once you give to a required property one or multiple objects, the message will automatically disappear.
Here's a quick demonstration of what the tool Project Objects does:

You probably noticed that we often go to the tool's panel, then hit the blue play or run button:

In GraphN, we have the concept of "Runtime" tools, where if a tool is runtime, then you don't have to press that button, it updates whenever you change something on the objects it's affecting, or change any of the properties of the specific tool. If however, the tool isn't runtime, then it needs the play button to be pressed.
The reasoning behind it is that you don't always want every tool to update frequently; for example, you may have a tool that creates incredibly dense or heavy geometry, and running it by manually clicking on the play button can help you prevent accidental runs that could freeze your program.
Clicking on this will connect and disconnect GraphN and Unreal Engine/Maya.

When using a GNL tool, you can close it, then reopen it later in the scene tools. You can think of it as a stack of all the tools that you're currently using in your scene:

The Scene Tools panel will list all your tools, each with a close button on the right.
Clicking on this icon will permanently remove the given tool from your scene, and this operation is currently not undoable. You can think of it as a "baking" operation, basically. It shouldn't be done unless you're absolutely sure you'll never need to tweak any parameter of your specific tool instance again.

Scene Tags are a particular feature to the GraphN ecosystem: they allow you to tag multiple objects, and easily keep track of them from the Tags Editor. Tagging objects is fairly simple: you select them, then create a new object tag, and add them to that tag:

The process is fairly straightforward, and you can give a tag to your GNL tool instead of passing objects directly to it. In practice, this means you could assign some placeholder objects to your GNL tool, keep working on your scene, and whenever you're ready, just swap your placeholder objects with the final ones, and the tools will update accordingly:

Once you've tagged your objects, you can add them to any GNL tool that you want, simply by right-clicking on a property that requires objects, and selecting "Add XYZ tag", XYZ being the name of your tag. As you can see, we can assign more than one tag just with a right-click, and remove them with the same process.

The Tags Editor panel offers two types of tags:
Create Object Tag will allow you to create a tag for all objects in your scene such as meshes, curves, lights, etc... Create Asset Tag will create a tag that's for all your assets, which comprise of materials, textures, and other scene assets.

In Unreal Engine, anything you select in your content browser is considered to be an "asset", while anything you select directly in your level is considered an "object". This is how you could for example create a tag that contains various materials:

To rename a tag, simply double-click on its name, give it your new name, then hit Enter to confirm
Every tag you create will have a couple of options, and you can hover over each option to know what it does:

Another practical usage of tags is sending them to GraphN, instead of relying on object names and whatnot. The process is fairly simple: you first create your tag, then go to GraphN and hit Space to open the node search in the canvas, then spawn the node Get Objects By Tags (or Get Assets By Tags if it's an asset). This node has a "Tag" property, and all you need to do is give it the name of your tag, and you should be all done!

If you've built a graph in GraphN, and want to export it to GNL, the process is fairly straightforward:
- In your graph, expose properties that you want to manipulate in GNL.
- Hit the blue Export Graph button in GraphN to send the graph to GNL.
- Open the Tools Browser in GNL, and you should find your tool right there!

By default, your tool will have the name of your graph when you export it. If you want to change the name of your exported tool, its description, and whatnot, simply go to GraphN, and in the "GraphN Library" menu, open the "Export Settings" panel. Adjust your settings as you see fit, and once you're happy with the result, hit Export.

This panel has a couple of other utilities, such as the "Realtime Enabled" checkbox, which allows you to make a tool update automatically when you move a slider or an object it's affecting, or only update when you manually hit the Play/Run button of a tool.
GraphN Library is still quite early in development, and from online libraries to more tools behaviors, we've got big plans for it this year.