Editor Interface

The uScript Editor contains five major sections.

 

 

 

 

Editor Sections

Action Panel

See 1 in the above image for this panel's location.

 

This panel has more than one view. The default view is the Toolbox, which contains a list of all the nodes you can place on the Canvas. The other panel is the Contents panel, which shows all the nodes you currently have placed on your graph. Both panels are described in detail below.

 

Toolbox

The Toolbox panel contains all the possible nodes that can be placed in your graph. To place a node from the Toolbox, just click the node button and a new instance of that node will appear in the center of the Canvas. If you wish to know what the node does before placing it, just hold the mouse cursor over the node button and it's help text will appear in the Reference Panel.

 

 

By default, the Toolbox contains the following node categories:

Actions - This sections contains all the basic action nodes. Action nodes are the basic building block for creating all complex logic in uScript. For more information on Action nodes, see "Nodes" in the Working With uScript section.

 

Conditions - This section contains most of the Action nodes related to comparing variables and other key environment data. While they work the same as other Action nodes, they were broken out into their own section for ease in finding them since they pay a key role in building complex logic.

 

Events - This section contains all the Event nodes. All logic in uScript must initially be triggered by an event, making these nodes a critical part of any uScript graph you create. For more information on Event nodes, see "Nodes" in the Working With uScript section.

 

Graphs - Optional. This section is only displayed if your Unity project contains special uScript graphs called Nested Graphs. Nested Graphs will create nodes you can place in other graphs. They are very powerful because they let you visually create new nodes for uScript. For more information on Nested Graphs and Nested Nodes, please the "Graphs" topic in Working With uScript.

 

Reflected ( ) - This section contains all the nodes (including Actions, Properties, and Variables) that have been reflected by uScript from your Unity project. This section will contain the name of your currently loaded scene if you have one loaded such as "Reflected (YourSceneName)". The idea is that uScript can only reflect things that are available in your currently loaded Unity scene. For more information on Reflection, see the "Reflected Nodes" topic in the Working With uScript section.

 

Variables - This section contains all the basic variable nodes that are more commonly used by uScript when creating graphs. If you can't find a variable type you are looking for here, try looking in the Reflected () section for a complete list of all variables. For more information on variables, see the "Variables" topic in the Working With uScript section.

 

The following nodes are also shown in the root of the Toolbox:

Comment - This node button allows you to place a special node on your graph that you can use to write comment text in.

 

External Connection - This node button allows you to place an External Connection in your graph. External Connections are used when making Nested Nodes. To learn more about Nested Nodes, see the Nested Graphs section of the "Graphs" topic found in the Working With uScript section of this guide.

 

Tip - use the small arrow button at the top of the panel next to the search filter field to expand or collapse the entire node tree.

 

Tip - use the filter field at the top of the panel to help you quickly find what nodes you are looking for. Simply start typing key words for the Toolbox to filter the nodes it will show. Be mindful though to make sure you clear the selection later to show all the nodes again.

 

Favorites Section

This section of the Toolbox is hidden when empty, but will appear as soon as you have assigned at least one node as a "Favorite". To assign one or more nodes as favorites, use the Favorites Button in the Properties Panel when the node is selected. The Favorites section is just a way to easily access your most commonly used nodes without having to search through the tool box to find it. You can place a favorite node on the Canvas by either clicking on them here in the panel or by holding their assigned hotkey number while left-clicking on the Canvas.

 

 

Contents

The Contents panel allows you to see a list of all the nodes you currently have on your graph. Pressing the node button will select the node in the graph, updating the Properties panel, and clicking on the little magnifying glass icon on the right of each button will focus the canvas on that node.

 

 

 

This panel can be very useful for helping you navigate around a large graph. For more information on using this panel, See "Canvas Navigation".

 

Tip - the nodes in your Contents list for nodes that have been deprecated will turn a pink/purple color, allowing you to quickly find them.

 

Tip - use the filter field at the top of the panel to help you find what you are looking for on graphs with many nodes. Be mindful though to make sure you clear the selection later to show all the nodes again.

 

Changing The Displayed Panel

The panel displayed can be changed by clicking on the panel title pulldown (which is set to Toolbox by default). The following example shows you how to change the panel from showing the Toolbox to showing the Contents panel.

 

To begin, click here:

 

And select Contents from the pulldown:

 

 

The Contents panel should now be displayed instead of the Toolbox.

 

 

Properties Panel

See 2 in the above image for this panel's location.

 

This panel displays all the properties for the selected node(s). Here you can set important values and hide or show sockets on the node. By default only one node's properties at a time can be displayed in this panel. If you wish to increase this number, you can do so in uScript's Preferences Window. See the "Editor Preferences" topic in the Discovering uScript section of the User Guide.

 

Each node will have a unique set of properties that can be set. Each node also has a default value for its various properties that will be used if not specified. Here is the properties for a Log node:

 

 

 

The Properties Panel is made up of for key columns:

Socket Shown Checkbox - the checkboxes in the far left column specify if a given socket should be displayed on the node in the canvas. If it is checked, it will have a corresponding visible socket on that node. If a checkbox is not displayed next to a property, that most likely means that it is either a core property common to most nodes or an optional special property and is used by uScript for informational or debugging purposes only.

 

 

Property - this shows the name for the property. To learn more about what that specific property does, you can refer to the Reference Panel and read the help text for that property.

 

Value - this is where you can define the data for each property directly on the node. Optionally, you can hook up Variable Nodes to the node's exposed property sockets to define the node's property data. When a variable node is hooked up to a socket, the value field will become disabled. This is because uScript will always use a variable node's value over what might be defined in the Property Panel.

Value Buttons - Some properties may have common Unity buttons depending on their type-- such as the asset browser button or the array buttons used to add elements to an array, as shown here:

 

Type - the type column tells you what kind of data or variable is required for each property. See the "Variables"topic in the Working With uScript section for more information on variable types.

 

Node Favorites Button

When a node is selected, a small star button appears at the top right of the Properties Panel. This is the Favorites button and allows you to add (or remove) the selected node to the Toolbox's Favorites section (also see the Toolbox section above).

 

 

Graph Properties

When no nodes are selected, the properties panel will display the properties for the currently loaded graph:

 

 

 

See the Graph Properties section of the "Creating Graphs" topic for more information on graph properties and how they are used.

 

 

Reference Panel

See 3 in the above image for this panel's location.

 

This panel displays help text of a selected node, or the help text for a node that has focus from the mouse cursor in the Toolbox. The help text for each node is actually generated from the node itself. Also, when making Nested Nodes, you can specify help text in the graph's and External Connection node's properties that will be displayed here (see the Nested Graph section of the "Creating Graphs" topic for more details).

 

 

Panel Title Bar Buttons

This panel has four buttons in its title bar area:

 

Graph Information

When no nodes are selected, the Reference Panel will instead show basic information about the currently loaded graph.

 

Here you can see that this graph (with a file name called GraphSetup, but no assigned "Friendly Name") has 23 nodes and 20 links (connections between nodes). It also has one deprecated node in the graph that you can either focus on or fix from this panel.

 

 

Graphs Panel

See 4 in the above image for this panel's location.

 

This panel shows you all the graphs you have created in your Unity project. It also gives you some information about your project's graphs.

 

 

This Panel is made up of two main sections:

 

Current Graph Section

This is the upper section of the panel and provides information about the currently loaded graph:

 

1. Graph Save Button - Press this button to save the currently loaded graph. The button name will reflect the current save method selected in the menu section above uScript's Canvas. This button functions just like the Save file menu item and Save Hot-Key.

 

2. Graph Name - This is the name of the currently loaded graph. Left-clicking on the graph name will make Unity ping/focus on the .uscript file for this graph in Unity's project panel.

 

3. Unity Scene Name - If this graph was assigned to a specific Unity Scene when it was created, that will be shown here.Left-clicking on the scene name will make Unity ping/focus on the scene file for this graph in Unity's project panel.

 

This is set by selecting the option to assign a newly created graph to the _uScript Master GameObject in the currently loaded scene on creation when uScript asks if you would like to do that. Graphs that have been assigned to a specific Unity scene should only be edited/saved when that same Unity scene is open in the Unity editor. This is because the graph may be referring to scene-specific GameObjects and other reflected scripts and variables. If a graph that is assigned to a Unity scene is open without the corresponding Unity scene also being loaded into the editor, uScript will warn you and this name will be shown in red along with a warning that you should load the correct Unity scene before editing/saving the graph. Ignoring this warning can result in data loss in your graph.

 

4. Generated Code Icon - This icon is just there to let you know that the colored Status Icon is for information related to the generated script code for this graph.

 

5. Generated Code Status Icon - This simple icon reflects the current state of this graph's generated source code files. Left-clicking on this icon will make Unity ping/focus on the .cs component file for this graph in Unity's project panel.

 

Note! - Right-clicking anywhere in this section will pop up a context menu allowing you to perform some file operations on the graph as well as provide other helpful functionality.

 

Project Graphs Section

This is the lower section of the panel and provides a list and basic information about all the graphs in your project.

 

 

1. Graph File Search Field - This field will allow you to search and filter what graphs are displayed in the list. This can be very helpful for large projects with lots of graphs a sub-folders. Clear the field of text (or press the little "x" that appears when typing to do it for you) to see all your graphs again.

 

2. Graph List Bar - The list bar contains three columns (from left to right):

 

 

3. Graph File and Directory Names - The main section of the Graph List displays all your project graphs and sub-directories. Double left-click on a file to load it into uScript. Right-clicking anywhere in this area to pop up a context menu allowing you to perform some file operations on the highlighted graph as well as provide other helpful functionality for the graph list.

 

Canvas

See 5 in the above image for this panel's location.

 

The Canvas is where your create your logic graphs by placing and connecting various nodes. At the top of the Canvas is the Menu Bar which is used for file management and editor preferences. See the Canvas Navigation section below for information on making the most out of the Canvas area.

 

 

 

 

 

Menu Bar

Across the top of the Canvas is uScript's menu bar. There are four key items found here that are explained below.

 

 

 

File Menu

The file menu is where you can perform file-based operations such as saving and loading uScript graphs or deleting and regenerating uScript graph code files. Click the File Menu button to expand it:

 

Menu Items

The following items can be found in the File Menu:

New - use this to create a blank/new uScript graph for your project.

 

Open... - open an existing uScript graph in your project. This can also be done via the Graphs Panel.

 

Save - save the currently open graph using the current set save mode (Debug, Release, or Quick). To set the save mode, use the Save Method pulldown also found on the Canvas Menu Bar. If you have not already saved the open graph, this will function the same as the "Save As..." option below. This can also be done via the Graphs Panel.

 

Save As... - saves the currently open graph as a new graph file. You will be asked to specify a name for the graph when using this option. This can also be done via the Graphs Panel when hitting the save button on a newly created graph that has not yet been saved.

 

Save Quick - save the currently open graph using the Quick save method. This save method is useful when you wish to save some changed to your graph without having to wait for Unity to recompile the generated script files. It will NOT generate the code files like using the other "Save" menu items. If you use this quick save option, make sure you perform a full Save (release or debug) before running the game (pressing Play in Unity).

 

Save Debug - save the currently open graph using the Debug save method. Saving graphs as debug will allow you to step debug your graphs by using breakpoints by generating script files with extra debug information used by uScript. See the Visual Debugging section of the "Debugging Your Graphs" section for more information on debugging.

 

Save Release - save the currently open graph using the Release save method. This is the method that should be used when saving out your graphs for releasing your game. Saving graphs this way creates smaller, more optimized generated script files. You will not be able to use visual step debugging when saving your graphs this way.

 

Export to Image (PNG) - this will allow you to export your graph as a .png image file. This can be a great way to print out your graphs on a plotter or to post an image of your graph in a forum or as part of a tutorial.

 

Upgrade Deprecated Nodes - useful for auto-updating all deprecated nodes on your graph at once. You should only use this option if you are sure you wish to have all your nodes updated automatically. You may wish to review each node that needs updating to see if any data might be potentially lost that you care about. See "Pink Nodes" in the Working With uScript section for more information on deprecated nodes.

 

Rebuild All uScripts - this will tell uScript to regenerate the script code for all of the uScript graphs in your Unity project. This can be useful if you have updated custom nodes and they cause Unity to generate compile errors on your existing graphs generated script code. This action is best done with a blank Unity scene loaded to help prevent data loss.

 

Remove Generated Code - uScript relies on Unity to be able to fully compile it to function properly. If for some reason Unity is having trouble compiling the generated script files, you can quickly delete all of your generated script files with this option. Don't worry though- no work would be lost. As long as your .uscript files remain in the project, uScript can always rebuild the generated script code. Note however that you should NOT save any Unity scenes while these files are missing as it could cause your scene's connection to the uScript graphs to be lost (and will require manual hookup). This action is best done with a blank Unity scene loaded to help prevent data loss.

 

 

View Menu

The view menu contains helpful functionality focused on how you view your graph and nodes in uScript.

 

Menu Items

The following items can be found in the View Menu:

 

Show Panels - toggles the uScript panels on and off.

 

Show Grid - toggles the Canvas grid on and off.

 

Snap to Grid - toggles grid snapping on the Canvas on and off.

 

Snap Selected Nodes - snaps the currently selected nodes to their closest grid lines. Only available when nodes are selected.

 

Locate - provides access to some of uScript's most common features for finding nodes on the canvas.

 

Zoom - provides access to uScript's Canvas zooming features.

 

Preferences... - brings up uScript's Preferences Window. This window allows you to customize some aspects of uScript. See "Editor Preferences" for more information.

 

 

Help Menu

The help menu contains access to uScript's various help resources and other product information and links.

 

Menu Items

The following items can be found in the Help Menu:

 

Quick Command Reference- shows uScript's hot-key reference window displaying uScript's most common hot-keys.

 

Welcome Window - shows uScript's Welcome Window with helpful links to important uScript information and tutorials.

 

Online Documentation- a direct link to uScript's latest online user documentation (opens your default web browser).

 

Online Forums- a direct link to our official uScript community and support forum (opens your default web browser).

 

Check for Updates - forces uScript to check to see if there is a newer version of uScript than what is currently installed.

 

About uScript - shows uScript's About Window with basic product information.

 

 

Save Method Pulldown

This pulldown allows you quick access to uScript's preference setting of how uScript should save scripts when saving. See the "Save Method" section in the "Editor Preferences" topic for more information.

 

 

uScript Version Information Text

The right-most section of the menu bar shows you what version, and version number, of uScript you are currently running.

 

 

Docking in Unity

It is also possible to dock uScript within the main Unity UI just like any other Unity window. To do this you just need to left-click and drag the "Tab" section of the uScript editor found in the top-left corner over the sport in the main Unity UI you wish to dock uScript into. Docking uScript can be helpful when you are working with a single monitor and wish to easily drag and drop items from the main Unity UI onto the uScript Canvas.

 

Left-click drag here:

 

 

Example of uScript docked into the main Unity Editor UI: