- Use Variable Manager to create a variable of any type.
- Modify the properties of the variable.
- Drop the variable off the Variable Manager list onto a graph.
- Drag the variable off the Variable Manager list onto a node's input/ouput field (same type).
- Convert a node's input/ouput field to a reference and drag/select variables from the Variable Manager onto it.
- If variable properties do not update when modified.
- Variable Manager list refreshes and updates properly when variables are created, deleted or modified.
- Node Inspector updates when variables are selected in the Variable Manager.
|
View and Modify a node with Node Inspector |
- Click a node on the graph.
- Modify node values through Node Inspector.
- Add and select different nodes and variables.
- Select multiple nodes at once.
|
- Fields and values of nodes are displayed and properly labeled in Node Inspector.
- Changes made through Node Inspector are reflected on the node and vice-versa.
- Selecting multiple nodes at once is reflected in Node Inspector.
|
Create a graph validation error and warning |
- Drag several nodes onto a fresh SC graph and do not connect them.
- Run validation check on the graph.
- Connect nodes and run validation.
- Run the graph validation using dedicated button in Graph Validation pane (checkmark in circle).
|
- If Highlighting & Dimming of failing nodes is not updated.
- If warnings and errors are not removed when issue is resolved.
- If conditions that produce an invalid graph do not trigger a warning or error.
|
Use the Node Palette to find node types |
- Search the Node Palette for a specific node type.
- Use the scrolling view controls to browse nodes.
- Drag a node off the palette onto a new SC graph.
- Use right click context menu on a SC graph to search & browse for nodes.
- Mouse over a node in the palette to display a tooltip.
|
- Node palette renders properly when entering/deleting text in search field.
- Node categories can be expanded and collapsed.
|
Modify Global Preferences |
- Open Global Preferences and adjust the time required for certain actions to take place. (for instance Node Coupling, Drag Node Splicing).
- Modify Styling Settings of connections.
- Modify Edge Panning Settings.
|
- If nodes are not visually distorted.
- If modification of time requirement for certain actions to take place is not applied.
|
Using File Menu |
- Create a new script.
- Open an existing script.
- Use Save script / save script as... functions to save the script.
- Close script.
- Use available keyboard shortcuts to perform above mentioned actions.
| - If creating a script does not return error in Console.
- Recently saved/created scripts are displayed in "Open Recent" menu.
- Scripts can be saved.
- No errors are printed in the console after saving a script.
- Closing unsaved script displays a message reminding of unsaved changes.
|
Using Edit Menu |
- Undo and redo various actions.
- Manage nodes, groups, notes via Edit Menu by performing following actions:
- Cut
- Copy
- Paste
- Duplicate
- Delete
- Take a screenshot of the graph.
- Select all, inputs, outputs, connected, and clear selections.
- Disable and enable selected nodes.
- Align nodes in various directions.
- Remove unused variables and nodes.
- Use available keyboard shortcuts to perform above mentioned actions.
|
- If nodes are not visually distorted.
- Undoing or redoing actions does not cause an assert or errors to be printed in the console.
- Copy-Pasted nodes do retain their modified properties.
|
Using View Menu |
- Zoom graph in and out.
- Show selection:
- individual node
- multiple connected nodes
- group
- notes
- entire graph
- Use "Go to" option to navigate to start and end of the chain (graph must have multiple nodes connected with each other).
- Restore default layout of Script Canvas tool.
- Use available keyboard shortcuts to actions mentioned above.
|
- Show selection or show entire graph options are displaying graph accurately.
- Default layout can be restored.
|
Using Tools Menu |
- Open and close tools available in Tools Menu.
- Use available keyboard shortcuts to open and close all tools.
- Perform resize, maximize, minimize, undock and dock actions with all of Script Canvas editor tools and drag them around the Script Canvas editor.
| - Tools are opened after selecting them in Tools Menu.
- Shortcuts can be used to open/close tools.
- The user is able to resize, minimize, maximize, undock, dock or drag Script Canvas editor tools around the Script Canvas editor.
|
Using Script Events [Preview] Menu |
- This menu is soon to be deprecated and reworked, until its updated its ommited from testing.
- O3DE User Guide: Script Events can be followed for the current state of the functionality.
|
|
Area: Basic Script Canvas graph tests
Testing in this area verify basic functionality of script canvas graphs and more in-depth functionality of the default editor tools.
Project Requirements
Script Canvas editor opened with the complete list of tools which are:
- Node Palette
- Node Inspector
- Variable Manager
- Minimap
- Graph Validation
- Debugging
- Bookmarks
- Command Line
- Interpreter
References
Default Script Canvas editor layout with the default tools enabled and highlighted.

Product:
Script canvas graph files with basic input and output when run through game mode or interpreter.
Suggested Time Box:
75 minutes
Workflow |
Requests |
Things to Watch For |
Create and save a new script canvas graph with basic input and output |
- Use any method to create a blank script canvas file.
- Use the node palette or right click context menu to add and connect multiple nodes.
- Create a logic sequence that will occur on graph start or on the activation of an entity.
- Use the Variable Manager to create one or more new variables.
- Change a field on a node to a reference and use the newly created variable.
- Click on a variable you created and use the Node Inspector to modify it. Change its name, default value and scope.
- Run the game mode or load the graph in the Interpreter.
|
- If saving the file causes asset processor errors or warnings.
- If repeatedly running the game causes the graph to produce no results or inconsistent results.
- If any console warnings or errors regarding Lua appear.
|
Create a 2nd script canvas graph file and use a script event to make the two files communicate during gameplay |
- Use the O3DE Asset Editor to create a new script event.
- Add a new event to the script event asset. Give it a unique and recognizable name
- Add input parameters to the event and save the asset.
- Search the Script Canvas editor's node inspector for the new event asset.
- Create a Send and Receive signal nodes for the new event.
- Configure two or more script canvas files to send and receive signals from each other.
Examples: - Attach a send signal to a timer node so every other second the receiving script changes a light's color.
- Send multiple different script events and a script canvas file that has different logic predecated on receiving each of the different signals.
|
- If there are any tool display issues/unusable portions of tool.
- Saved event asset appears in the directory in which it was saved.
- Events can be used to send and receive signals from two or more script canvas files which can be proven by debug output or working graph logic.
|
Animated behavior and visual language of Script Canvas. |
- Create and hover one node above another, so the nodes are partially transparent.
 - Hold Alt key and left click on node to instantly delete it, square particles will appear.
- Insert a node between two connected nodes, the cursor need to point onto connection, which will change to dashed line. The node-nudging is enabled by default, the nodes will move aside to accommodate new node.
| - If nodes are not dimming/partially transparent when hovering one node over another node.
- If node is deleted without particles visual effect when using Alt + LMB delete method.
- If nodes are not nudging aside to accommodate new node.
- If nodes are not connected after inserting node between two connected nodes.
|
Nodes behavior |
- Add nodes with various data value types to the graph and modify their values.
- Attempt to connect two different value type pins.
- Add input and operand to the node (e. g. Print/Add (+) nodes).
- Hide/show unused slots on the node.
- Convert value to reference and reference to value by clicking RMB on data pin.
- Disable and enable nodes.
- Insert long string into node string value field to extend the node.
|
- If data values cannot be modified.
- If nodes with long strings are visually distorted.
- If disabled nodes are not grayed out.
|
Connections behavior |
- Create a connection between nodes by dragging connection from output pin onto input pin.
- Drag a connection over empty space in graph and release LMB, in context menu search for desired node to be created and connected to.
- Connect two nodes by using Node Coupling feature, mentioned feature is enabled by default in Global Preferences. Hover one node over another and hold it above until nodes connect.
- Delete connection by selecting the connection and pressing Del key.
- Delete connection by dragging one node and shaking it, shaking de-splice feature is enabled by default.
- Delete connection by holding Alt key and clicking LMB on connection.
| - If connection is not created.
- If node is not created after selecting it from context menu.
- If connection cannot be deleted.
|
Area: Advanced Script Canvas graph Tests
Tests in this verify more advanced core features of script canvas.
Project Requirements
Script Canvas editor opened with the complete list of tools which are:
- Node Palette
- Node Inspector
- Variable Manager
- Minimap
- Graph Validation
- Debugging
- Bookmarks
- Command Line
- Interpreter
References
Main Script Canvas editor view with advanced control buttons highlighted.

Product:
Organized and annotated Script canvas graph files that produce verifiable outputs when attached to entities and run through game mode or interpreter.
Suggested Time Box:
150 minutes
Workflow |
Requests |
Things to Watch For |
Creating a user function and calling its input/output from another graph |
- Use Script Canvas editor to create a graph file with enter/exit nodelings. (An instance of such graph and buttons used to create nodelings can be seen in the picture below)
- Place complex logic or entity behavior between the enter/exit nodelings.
- Give the graph file a unique recognizable name and save it.
- Call the user function from another graph by finding it in the node palette or right click context menu.
 Example Functions: - Two color parameters and returns a blended color.
- Entity parameter and returns the number of child entities.
- No parameters or output but triggers behavior.
- Recursive functions are NOT supported at the moment.
- Modifications to the user function file should require scripts calling the function to also be modified.
|
Generate and modify translation data |
- Select any node in Script Canvas Node Pallete and right click it.
- Select a Generate Translation option.
- Open the generated .names file and modify in with any text editor by for instance changing the node name.
- Save the file and drag another instance of the corresponding node into the Script Canvas graph.
- Generating translation data does not cause major performance dips, however please note that generating translation data takes about 3-5 seconds.
- Non-english characters render properly in SC graph.
- Translation data modifications are reflected in Script Canvas editor.
|
Use groupings |
- Create groups of all available types grouping nodes of an existing graph.
- Move the groups around in the Script Canvas editor.
- Resize groups and grab more nodes into them.
- Open Node Inspector and select one of the created groups.
- Perform all available actions found in Node Inspector for selected group (Enabling as Bookmark, Collapsing Group, Changing all Font settings, etc...).
- Double click the groups in graph to collapse/expand them.
- Perform actions from group edit menu by right clicking on a group in Script Canvas graph window (Copy/Paste, Duplicate, Collapse, etc...).
|
- If groupings are not rendering when placed on the graph.
- If nodes are not "Sticking" to a grouping when size or position is changed.
- Modifications to groups are maintained when graph is saved/loaded.
- Groups can have their all corresponding menu and Node Inspector actions performed.
- Different fonts can be assigned to groups with Font Settings.
|
Use annotations |
- Create a comment on an existing graph.
- Move the created comment around in the Script Canvas editor.
- Input strings into comment input field.
- Open Node Inspector and select the comment.
- Perform all available actions found in Node Inspector for selected comment (Comment, Background Color, etc...).
- Double click the comment in graph to enter its edit mode.
- Perform actions from comment edit menu by right clicking on a comment in Script Canvas graph window (Cut, Copy/Paste, Duplicate, Delete, Edit comment, etc...).
|
- Comments can be created on the graph and strings can be written in their input field.
- Comments size scales depending on the length of written string.
- Different fonts can be assigned to comments with Font Settings.
- Comments can have their all corresponding menu and Node Inspector actions performed.
|
Use bookmarks |
- Create a bookmark on an existing graph.
- Move the created bookmark around in the Script Canvas editor.
- Open Node Inspector and select the comment.
- Perform all available actions found in Node Inspector for selected bookmark( Bookmark Name and Color).
- Open Bookmarks tool and perform available actions:
- Double click bookmark to enter its name edit mode
- Right click bookmark and select Go to Bookmark action
- Right click bookmark and select Delete Bookmark action
- Double click Shortcut section and select a number shortcut for a bookmark
- Select a Script Canvas graph window and click a shortcut number associated with one of the bookmarks.
- Perform actions from group edit menu by right clicking on a group in Script Canvas graph window (Cut, Copy/Paste, Duplicate, etc...).
|
- Bookmarks can be created on the graph and are assigned with random color and a shortcut when available.
- Bookmarks can have their color and name changed via Node Inspector.
- Bookmarks can be edited with Bookmarks tool.
- Clicking a number shortcut associated with one of the bookmarks finds and focuses the Script Canvas graph view on the selected bookmark.
|
Create and use presets |
- Create a comment and a group.
- Change their font settings and colors with Node Inspector.
- Right click them in Script Canvas Graph pane and select "Create Preset From" option.
- Save the selected comment and a group as separate presets.
- Create a new comment and a group.
- Right click them in Script Canvas Graph pane and select "apply preset".
- Apply created presets and default presets to groups and comments.
- Open the Presets Editor tool.
- Switch between Node Group and Comment Construct Types.
- Set various presets as default.
- Remove various presets.
- Click the Reset Button.
|
- Presets can be made out of different comments and groups.
- Presets can be applied to comments and groups and retain their assigned values, fonts and colors.
- Presets can be viewed and removed in Presets Editor tool.
- Using the Reset option in Editor Tool, resets presets to default, removing newly created presets and readding removed default presets.
|
Use the Debugging tool to generate script logs |
- Create a simple graph with On Graph Start -> Delay -> Print nodes.
- Create an entity with Script Canvas component in the viewport and assign it with previously created graph.
- Open the Debbuger tool in Script Canvas Editor and select the created debug targets from dropdown.
- Enable and disable Auto Capture and Live Updates options.
- Run the Script Canvas Debugger with Capture button.
- Run the Script Canvas Debugger by entering Game Mode in the main Editor window.
- Examine captured data, expand and collapse lines with dedicated buttons.
| - Created entity appears in Entities tab of Debugging tool.
- Existing script files are displayed in Graphs tab of Debugging tool.
|
Use Interpreter tool to execute script |
- Create a simple graph with On Graph Start -> Delay (5s) -> Print nodes.
- Open the Interpreter tool in Script Canvas Editor and assign previously created script to it.
- Click Start button to execute the script.
- Click Stop button during script execution.
| - Interpreter tool can be assigned with scripts.
- Scripts can be executed with Interpreter tool.
- Execution of scripts by the Interpreter can be stopped.
|
Create a script to handle inputs |
- Create an Input Bindings file in Asset Editor tool and configure it as shown in the picture below.
 - Create a script with Input Handler node, set Event Name to match previously created input bindings file (Print).
 - Create an entity with Script Canvas and Input components, assign previously created Input Bindings file and script to corresponding components.
- Enter Game Mode and press space key to print message in console.
- Assign various keys in Input Bindings file.
| - Various inputs can be assigned to Input Handlers.
- Script Canvas receives and handles assigned inputs.
|
Create a script for Audio playback |
Prerequisites: | - Wwise project is setup.
- Wwise Audio Engine Gem is enabled.
- Create an entity with Script Canvas, Audio Trigger, and Audio Proxy components.
- In Audio Trigger component assign Play trigger.
- Create a script with Execute Trigger node that will execute after short delay and assign it to Script Canvas component.
 - Enter Game Mode.
- Audio triggers can be triggered by Script Canvas.
- Audio output can be heard when triggers are playing.
|
Using Command Line |
- Open the Command Line tool with tools menu and Ctrl+P shortcut.
- Type ? in the command line text bar.
- Select a command.
- Click the Enter key.
- Type in working command directly into a text bar and click the Enter key.
| - Command Line Tool can be opened and input can be written into its text bar.
- Commands can be searched for by typing ? into the text bar.
- Found commands can be entered and corresponding actions such as creating new nodes in Script Canvas graph are executed by the command.
- Commands can be manually typed into the text bar and executed.
|
|
|