|
@@ -5,9 +5,9 @@ Testing in this area should focus on the functionality of Script Canvas editor.
|
|
## Common Issues to Watch For
|
|
## Common Issues to Watch For
|
|
|
|
|
|
Test guidance will sometimes note specific issues to watch for. The common issues below should be watched for through all testing, even if unrelated to the current workflow being tested.
|
|
Test guidance will sometimes note specific issues to watch for. The common issues below should be watched for through all testing, even if unrelated to the current workflow being tested.
|
|
-1. Asset processor errors when loading/saving graph files
|
|
|
|
-2. Warnings or assets that appear in the graph validation log
|
|
|
|
-3. Unresponsive UI elements
|
|
|
|
|
|
+1. Asset processor errors when loading/saving graph files.
|
|
|
|
+2. Warnings or assets that appear in the graph validation log.
|
|
|
|
+3. Unresponsive UI elements.
|
|
|
|
|
|
### Platforms:
|
|
### Platforms:
|
|
- Windows
|
|
- Windows
|
|
@@ -19,11 +19,11 @@ Test guidance will sometimes note specific issues to watch for. The common issue
|
|
[O3DE Documentation: User Functions](https://www.o3de.org/docs/user-guide/scripting/script-canvas/editor-reference/functions/) <br>
|
|
[O3DE Documentation: User Functions](https://www.o3de.org/docs/user-guide/scripting/script-canvas/editor-reference/functions/) <br>
|
|
|
|
|
|
|
|
|
|
-<b>Script Canvas (SC) Editor</b>: Editing tool separate from O3DE's Editor used to create and modify script canvas graph files
|
|
|
|
|
|
+<b>Script Canvas (SC) Editor</b>: Editing tool separate from O3DE's Editor used to create and modify script canvas graph files.
|
|
|
|
|
|
<b>SC Graph</b>: A collection of node objects that can be modified and saved to a file.
|
|
<b>SC Graph</b>: A collection of node objects that can be modified and saved to a file.
|
|
|
|
|
|
-<b>SC Editor Basic Tools</b>: The 5 default tools opened and anchored to the main SC editor window; Node Palette, Variable Manager, Node Inspector, Minimap, Graph Validation
|
|
|
|
|
|
+<b>SC Editor Basic Tools</b>: The 5 default tools opened and anchored to the main SC editor window; Node Palette, Variable Manager, Node Inspector, Minimap, Graph Validation.
|
|
|
|
|
|
<b>SC Component</b>: A component that can be searched and attached to an entity in O3DE editor.
|
|
<b>SC Component</b>: A component that can be searched and attached to an entity in O3DE editor.
|
|
|
|
|
|
@@ -43,10 +43,10 @@ Visible and responsive Script Canvas editor.
|
|
|
|
|
|
| Workflow | Requests | Things to Watch For |
|
|
| Workflow | Requests | Things to Watch For |
|
|
|---------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
|---------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
-| Launch and configure script canvas editor | * Check different methods of entry to SC editor (tools menu, SC component, keyboard shortcut)<br>* Verify default SC editor panes render and resize. panes can undock, dock back onto SC editor.<br> * Verify no rendering issues when panes are altered. | * Script Canvas editor launch method does not work or does not launch quickly. <br> * Script Canvas Editor not retaining configuration settings on close/relaunch |
|
|
|
|
-| Verify main Script Canvas window pane renders a script canvas graph | * The main script canvas editor window should render a script canvas graph when a new or existing file is opened, or if a node is dragged from the node palette into an empty editor<br>* creating or opening multiple files should generate multiple tabs in the main window<br> * Creating or opening several files should not impact script canvas editor's performance<br> * Modifying an existing file places am asterix in the graph's tab<br> * A drop down menu for file selection appears when enough script canvas files are opened | * An asterix appears on the tab only if a change is made to the file<br>* You are always prompted to save a modified file when closing the tab |
|
|
|
|
-| Verify __SC Basic Editor Tools__ | * Verify SC editor launches with the __SC Editor Basic Tools__ <br>* Verify UI elements in each of the tools respond when clicked or dragged | * Script Canvas tools do not render properly<br>* Tools become unresponsive after configuring them |
|
|
|
|
-| Use basic Script Canvas graph controls | * Open or create a new script canvas graph file and make sure the basic script canvas graph controls function when clicked or keyboard shortcut is used.<br>* Check if a helpful tooltip is generated and rendered properly for each control.<br> * Tooltip does not go away prematurely<br> * Pan/Zoom on the script canvas graph and make sure graph renders properly | * Control does not respond or responds too slowly when used<br> * Controls gray out under appropriate circumstances<br>* Cannot interact with grayed out controls |
|
|
|
|
|
|
+| Launch and configure script canvas editor | * Check different methods of entry to SC editor (tools menu, SC component, keyboard shortcut).<br>* Verify default SC editor panes render and resize. panes can undock, dock back onto SC editor.<br> * Verify no rendering issues when panes are altered. | * Script Canvas editor launch method does not work or does not launch quickly. <br> * Script Canvas Editor not retaining configuration settings on close/relaunch. |
|
|
|
|
+| Verify main Script Canvas window pane renders a script canvas graph | * The main script canvas editor window should render a script canvas graph when a new or existing file is opened, or if a node is dragged from the node palette into an empty editor.<br>* creating or opening multiple files should generate multiple tabs in the main window.<br> * Creating or opening several files should not impact script canvas editor's performance.<br> * Modifying an existing file places an asterisk in the graph's tab.<br> * A drop down menu for file selection appears when enough script canvas files are opened | * An asterisk appears on the tab only if a change is made to the file.<br>* You are always prompted to save a modified file when closing the tab. |
|
|
|
|
+| Verify __SC Basic Editor Tools__ | * Verify SC editor launches with the __SC Editor Basic Tools__.<br>* Verify UI elements in each of the tools respond when clicked or dragged. | * Script Canvas tools do not render properly.<br>* Tools become unresponsive after configuring them. |
|
|
|
|
+| Use basic Script Canvas graph controls | * Open or create a new script canvas graph file and make sure the basic script canvas graph controls function when clicked or keyboard shortcut is used.<br>* Check if a helpful tooltip is generated and rendered properly for each control.<br> * Tooltip does not go away prematurely.<br> * Pan/Zoom on the script canvas graph and make sure graph renders properly. | * Control does not respond or responds too slowly when used.<br> * Controls gray out under appropriate circumstances.<br>* Cannot interact with grayed out controls. |
|
|
|
|
|
|
|
|
|
|
## Area: Default Script Canvas Editor tools
|
|
## Area: Default Script Canvas Editor tools
|
|
@@ -62,21 +62,21 @@ Responsive Script Canvas editor with all 5 basic tools enabled. No Asset Process
|
|
|
|
|
|
| Workflow | Requests | Things to Watch For |
|
|
| Workflow | Requests | Things to Watch For |
|
|
|---------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
|---------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
-| Use and observe minimap behavior | * Open or create a graph with multiple nodes<br>* Dragging the minimap will pan the main script canvas graph view<br> * Switching between multiple files will update the minimap | * The minimap does not render or update properly<br>* Panning around the minimap does not cause the effect in in main editor window and vice-versa |
|
|
|
|
-| Create a variable node with Variable Manager | * Use Variable Manager to create a variable of any type.<br> * Modify the properties of the variable.<br> * Drop the variable off the variable manager list onto a graph.<br> * Drag the variable off the variable manager list onto a node's input/ouput field (same type). <br> * Convert a node's input/ouput field to a reference and drag/select variables from the variable manager onto it. | * Variable properties do not update when modified.<br> * Variable manager list refreshes and updates properly when variables are created, deleted or modified.<br> * Node Inspector updates when variables are selected in the Variable Manager |
|
|
|
|
|
|
+| Use and observe minimap behavior | * Open or create a graph with multiple nodes.<br>* Dragging the minimap will pan the main script canvas graph view.<br> * Switching between multiple files will update the minimap. | * The minimap does not render or update properly.<br>* Panning around the minimap does not cause the effect in main editor window and vice-versa. |
|
|
|
|
+| Create a variable node with Variable Manager | * Use Variable Manager to create a variable of any type.<br> * Modify the properties of the variable.<br> * Drop the variable off the Variable Manager list onto a graph.<br> * Drag the variable off the variable manager list onto a node's input/ouput field (same type). <br> * Convert a node's input/ouput field to a reference and drag/select variables from the variable manager onto it. | * Variable properties do not update when modified.<br> * Variable manager list refreshes and updates properly when variables are created, deleted or modified.<br> * 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 and verify its fields and values are displayed in the Node Inspector.<br> * Verify that the values can be modified through Node Inspector.<br> Verify Node Inspector updates when different nodes or variables are selected. <br> * Select multiple nodes at once and see how they are reflected in Node Inspector. | * Fields are properly labeled in Node Inspector. <br> * Changes made through Node Inspector are reflected on the node and vice-versa. |
|
|
| View and Modify a node with Node Inspector | * Click a node on the graph and verify its fields and values are displayed in the Node Inspector.<br> * Verify that the values can be modified through Node Inspector.<br> Verify Node Inspector updates when different nodes or variables are selected. <br> * Select multiple nodes at once and see how they are reflected in Node Inspector. | * Fields are properly labeled in Node Inspector. <br> * Changes made through Node Inspector are reflected on the node and vice-versa. |
|
|
| Create a graph validation error and warning | * Drag several nodes onto a fresh SC graph. Run validation on the graph to verify warnings are generated and nodes are highlighted. <br> * Connect nodes and run validation to verify that warnings are no longer generated.<br> | * Highlighting & Dimming of failing nodes not updated.<br> * Warnings and errors not removed when issue is resolved.<br> * Conditions that produce an invalid graph do not trigger a warning or error. |
|
|
| Create a graph validation error and warning | * Drag several nodes onto a fresh SC graph. Run validation on the graph to verify warnings are generated and nodes are highlighted. <br> * Connect nodes and run validation to verify that warnings are no longer generated.<br> | * Highlighting & Dimming of failing nodes not updated.<br> * Warnings and errors not removed when issue is resolved.<br> * 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.<br> * Use the scrolling view controls to browse nodes.<br> * Drag a node off the palette onto a new SC graph.<br> * Use right click context menu on a SC graph to search & browse for nodes. <br> * Mouse over a node in the palette to display a tooltip | * Node palette renders properly when entering/deleting text in search field.<br> * Node categories can be expanded and collapsed. |
|
|
|
|
|
|
+| Use the Node Palette to find node types | * Search the Node Palette for a specific node type.<br> * Use the scrolling view controls to browse nodes.<br> * Drag a node off the palette onto a new SC graph.<br> * Use right click context menu on a SC graph to search & browse for nodes. <br> * Mouse over a node in the palette to display a tooltip. | * Node palette renders properly when entering/deleting text in search field.<br> * Node categories can be expanded and collapsed. |
|
|
|
|
|
|
|
|
|
|
## Area: Basic Script Canvas graph tests
|
|
## 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.
|
|
Testing in this area verify basic functionality of script canvas graphs and more in-depth functionality of the default editor tools.
|
|
|
|
|
|
### Project Requirements
|
|
### Project Requirements
|
|
-Any project with a new level. SC editor with the __SC Basic Editor Tools__ enabled
|
|
|
|
|
|
+Any project with a new level. SC editor with the __SC Basic Editor Tools__ enabled.
|
|
|
|
|
|
### References
|
|
### References
|
|
-Default Script Canvas editor layout with the default tools enabled and highlighted
|
|
|
|
|
|
+Default Script Canvas editor layout with the default tools enabled and highlighted.
|
|

|
|

|
|
|
|
|
|
**Product:**
|
|
**Product:**
|
|
@@ -87,17 +87,17 @@ Script canvas graph files with basic input and output when run through game mode
|
|
|
|
|
|
| Workflow | Requests | Things to Watch For |
|
|
| 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.<br> * Use the node palette or right click context menu to add and connect multiple nodes.<br> * Create a logic sequence that will occur on graph start or on the activation of an entity<br> * 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<br> * Click on a variable you created and use the Node Inspector to modify it. Change the name, default value and scope.<br> * Save the graph file and verify it functions as expected by attaching it to an entity and running the game or loading the graph in the Interpreter | * Saving the file causes asset processor errors or warnings<br>* Repeatedly running the game causes the graph to produce no results or inconsistent results<br>* Console warnings or errors regarding Lua |
|
|
|
|
-| 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.<br> * Add a new event to the script event asset. Give it a unique and recognizable name<br> * Add input parameters to the event and save the asset. Verify the file appears on disk<br> * Search the Script Canvas editor's node inspector for the new event asset. Verify that you can add a send/receive signal to a graph.<br>  <br> * Configure two or more script canvas files to send and receive signals from each other. Verify the communication with debug output or with more complex logic and game behavior <br><br><b> Examples: </b><br> * Attach a send signal to a timer node so every other second the receiving script changes a light's color. <br>* Send multiple different script events and a script canvas file that has different logic predecated on receiving each of the different signals | * Tool display issues/unusable portions of tool<br>* Interactivity issues |
|
|
|
|
|
|
+| Create and save a new script canvas graph with basic input and output | * Use any method to create a blank script canvas file.<br> * Use the node palette or right click context menu to add and connect multiple nodes.<br> * Create a logic sequence that will occur on graph start or on the activation of an entity.<br> * 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.<br> * Click on a variable you created and use the Node Inspector to modify it. Change the name, default value and scope.<br> * Save the graph file and verify it functions as expected by attaching it to an entity and running the game or loading the graph in the Interpreter. | * Saving the file causes asset processor errors or warnings.<br>* Repeatedly running the game causes the graph to produce no results or inconsistent results.<br>* Console warnings or errors regarding Lua. |
|
|
|
|
+| 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.<br> * Add a new event to the script event asset. Give it a unique and recognizable name.<br> * Add input parameters to the event and save the asset. Verify the file appears on disk.<br> * Search the Script Canvas editor's node inspector for the new event asset. Verify that you can add a send/receive signal to a graph.<br>  <br> * Configure two or more script canvas files to send and receive signals from each other. Verify the communication with debug output or with more complex logic and game behavior. <br><br><b> Examples: </b><br> * Attach a send signal to a timer node so every other second the receiving script changes a light's color. <br>* Send multiple different script events and a script canvas file that has different logic predecated on receiving each of the different signals. | * Tool display issues/unusable portions of tool.<br>* Interactivity issues. |
|
|
|
|
|
|
## Area: Advanced Script Canvas graph Tests
|
|
## Area: Advanced Script Canvas graph Tests
|
|
Tests in this verify more advanced core features of script canvas.
|
|
Tests in this verify more advanced core features of script canvas.
|
|
|
|
|
|
### Project Requirements
|
|
### Project Requirements
|
|
-Any project with a new level. SC editor with the 5 basic tools enabled
|
|
|
|
|
|
+Any project with a new level. SC editor with the 5 basic tools enabled.
|
|
|
|
|
|
### References
|
|
### References
|
|
-Main Script Canvas editor view with advanced control buttons highlighted<br>
|
|
|
|
|
|
+Main Script Canvas editor view with advanced control buttons highlighted.<br>
|
|
<br>
|
|
<br>
|
|
|
|
|
|
**Product:**
|
|
**Product:**
|
|
@@ -108,6 +108,6 @@ Organized and annotated Script canvas graph files that produce verifiable output
|
|
|
|
|
|
| Workflow | Requests | Things to Watch For |
|
|
| Workflow | Requests | Things to Watch For |
|
|
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
-| Create a user function and verify its input/output when called from another graph<br>  | * Use Script Canvas editor to create a graph file with enter/exit nodelings<br> * Place complex logic or entity behavior between the enter/exit nodelings. <br> * Give the graph file a unique recognizable name and save it<br> * Call the user function from another graph by finding it in the node palette or right click context menu <br> <br> <b>Example Functions: </b><br> Two color parameters and returns a blended color<br> Entity parameter and returns the number of child entities <br> No parameters or output but triggers behavior. | * Recursive functions are <b>NOT</b> supported at the moment<br> * Modifications to the user function file should require scripts calling the function to also be modified. |
|
|
|
|
-| Generate and modify translation data | * Generate translation data for nodes.<br> * Modify the translation data and verify that the modifications are reflected in Script Canvas editor.<br> | * Generating translation data does not cause performance dips.<br> *Non-english characters render properly in SC graph. <br> * |
|
|
|
|
|
|
+| Create a user function and verify its input/output when called from another graph<br>  | * Use Script Canvas editor to create a graph file with enter/exit nodelings.<br> * Place complex logic or entity behavior between the enter/exit nodelings. <br> * Give the graph file a unique recognizable name and save it.<br> * Call the user function from another graph by finding it in the node palette or right click context menu. <br> <br> <b>Example Functions: </b><br>* Two color parameters and returns a blended color.<br>* Entity parameter and returns the number of child entities. <br>* No parameters or output but triggers behavior. | * Recursive functions are <b>NOT</b> supported at the moment.<br> * Modifications to the user function file should require scripts calling the function to also be modified. |
|
|
|
|
+| Generate and modify translation data | * Generate translation data for nodes.<br> * Modify the translation data and verify that the modifications are reflected in Script Canvas editor.<br> | * Generating translation data does not cause performance dips.<br> *Non-english characters render properly in SC graph. <br> |
|
|
| Use groupings and annotations to organize a graph. | * Place groupings on a graph.<br> * Add and remove nodes to the groupings. <br> * Place annotations on the graph. <br> * Change the size and positions of groupings and annotations. <br> * Use Node Inspector to modify the test and format of groupings and annotations. | * Groupings and annotations not rendering when placed on the graph. <br> * Nodes not "Sticking" to a grouping when size or position is changed. <br> * Modifications to groups and annotations not maintained when graph is saved/loaded. |
|
|
| Use groupings and annotations to organize a graph. | * Place groupings on a graph.<br> * Add and remove nodes to the groupings. <br> * Place annotations on the graph. <br> * Change the size and positions of groupings and annotations. <br> * Use Node Inspector to modify the test and format of groupings and annotations. | * Groupings and annotations not rendering when placed on the graph. <br> * Nodes not "Sticking" to a grouping when size or position is changed. <br> * Modifications to groups and annotations not maintained when graph is saved/loaded. |
|