# Logic Script Generator window

This window is for generating scripts that perform simple processing such as method calls and property input/output.

## How to open

You can open it using one of the following methods.

- Select Window > Logic Toolkit > Logic Script Generator from the menu.
- Click the “⋮” button on the toolbar of Logic Editor and select Logic Script Generator from the menu.

## Method of operation

### Add assembly

- Click the assembly selection dropdown in the left pane and select Create New Assembly from the menu.
  If no assembly has been created in the project, click the “Create New Assembly” button in the center of the right frame.
- Enter the name of the assembly in the pop-up window that appears.
- Click the “Create” button.

### Assembly selection

- Click the assembly selection dropdown in the left pane.
- Select Assembly from the menu.

### Delete assembly

- Delete Assets/Logic Toolkit/Generated Scripts/assembly name folder from the Project window.

### Add script

- Click the “+” button on the toolbar.
- Select the script to add from the menu. *Click the “Add” button in the footer.

### Script settings

- Select script from list.
- Set in details field

### Delete script

- Uncheck the scripts you want to remove from the list.

### Applying the script

Additions, settings, and deletions will be reflected in the generated results by applying them.

- Click the “Apply” button in the footer.

### Revert settings

- Click the “Revert” button in the footer.

## Script type

### Get properties/fields

Generates an ActionComponent script that retrieves C# type properties and fields and outputs them to the DataPort.

#### Setting

Setting items | Description
--- | ---
Dont Use Compute | Applies an attribute that should not be used on a Compute node.
Recompute Mode Settings | Specify how to set the recompute mode when you want to use it with the Compute node. Auto If it is a value type, fix it to Dirty.If it is a GameObject or Component, set the initial value to Frame. Default Set the initial value when creating the Compute node. Fixed Set fixed recalculation mode
Recompute Mode | If `Recompute Mode Settings` is Default or Fixed, specify the `Recompute Mode` to be set. Dirty Recalculate when the data received by the input port has been updated Frame Previously calculated frame and current frame Recalculate if different Node Recalculate if the destination node of the output port is different Component Output port Recalculate when the connected node component is different Always Always recalculate

### Setting properties/fields

Generates an ActionComponent script that sets the value received from InputField to a C# type property or field. If the type is a value type, outputs the result of the setting word to the DataPort.

#### Setting

Items are displayed only if the type is a value type.

Setting items | Description
--- | ---
Dont Use Compute | Applies an attribute that should not be used on a Compute node.
Recompute Mode Settings | Specify how to set the recompute mode when you want to use it with the Compute node. Auto If it is a value type, fix it to Dirty.If it is a GameObject or Component, set the initial value to Frame. Default Set the initial value when creating the Compute node. Fixed Set fixed recalculation mode
Recompute Mode | If `Recompute Mode Settings` is Default or Fixed, specify the `Recompute Mode` to be set. Dirty Recalculate when the data received by the input port has been updated Frame Previously calculated frame and current frame Recalculate if different Node Recalculate if the destination node of the output port is different Component Output port Recalculate when the connected node component is different Always Always recalculate

### Invoke methods

Generates an ActionComponent script that calls a C# type method. If there is a return value, out, or ref argument, output the value to the DataPort after the call.

#### Setting

The item is only visible if there is an output DataPort.

Setting items | Description
--- | ---
Dont Use Compute | Applies an attribute that should not be used on a Compute node.
Recompute Mode Settings | Specify how to set the recompute mode when you want to use it with the Compute node. Auto If it is a value type, fix it to Dirty.If it is a GameObject or Component, set the initial value to Frame. Default Set the initial value when creating the Compute node. Fixed Set fixed recalculation mode
Recompute Mode | If `Recompute Mode Settings` is Default or Fixed, specify the `Recompute Mode` to be set. Dirty Recalculate when the data received by the input port has been updated Frame Previously calculated frame and current frame Recalculate if different Node Recalculate if the destination node of the output port is different Component Output port Recalculate when the connected node component is different Always Always recalculate

### Waiting for events

Set fields and events of delegate type, and generate an EventComponent script that handles the event when called.

### Tween

Generates a TweenComponent script that gradually changes the properties and fields of a class.