41 lines
2.4 KiB
Markdown
41 lines
2.4 KiB
Markdown
# Refactor a C# script with Visual Scripting
|
|
|
|
Visual Scripting creates nodes from methods, fields, and properties from C# script in your project. Visual Scripting creates these nodes after you [regenerate your Node Library](vs-configuration.md) and [add any relevant types to your Type Options](vs-add-remove-type-options.md).
|
|
|
|
For example, Visual Scripting created the following Take Damage node from a custom C# script that defines the `Player` class.
|
|
|
|

|
|
|
|
Visual Scripting generated the node with the following code, which creates a `Player` class with a `TakeDamage` member.
|
|
|
|
``` C#
|
|
using UnityEngine;
|
|
|
|
public class Player : MonoBehaviour
|
|
{
|
|
public void TakeDamage(int damage)
|
|
{
|
|
//...
|
|
}
|
|
}
|
|
```
|
|
|
|
> [!TIP]
|
|
> You can [create your own custom node](vs-create-custom-node.md) or [create a custom event](vs-custom-events.md) to customize the ports and information displayed on your nodes.
|
|
|
|
If you change the name of the `TakeDamage` member in the C# script, Visual Scripting displays an error in Script Graphs that use the Take Damage node.
|
|
|
|

|
|
|
|
To rename a member, type, class, struct, enum, or other API element that a Visual Scripting node uses in a project, add the `[RenamedFrom]` attribute to the relevant API element in the script file. To avoid issues with Unity's serialization, the `[RenamedFrom]` attribute tells Visual Scripting that an API or one of its elements has been renamed.
|
|
|
|
For more information on how to add the `[RenamedFrom]` attribute to a C# script, see [Add the RenamedFrom attribute to a C# script](vs-refactor-add-attribute.md).
|
|
|
|
## Additional resources
|
|
|
|
- [Add the RenamedFrom attribute to a C# script](vs-refactor-add-attribute.md)
|
|
- [Configure project settings](vs-configuration.md)
|
|
- [Add or remove types from your Type Options](vs-add-remove-type-options.md)
|
|
- [Custom C# nodes](vs-create-custom-node.md)
|
|
- [Custom events](vs-custom-events.md)
|