Adding machines to prefabs
Note |
For versions 2019/2020 LTS, download the visual scripting solution from the Unity Asset Store. |
There is full prefab support for every type of graph except for embed graph prefab instances created in the editor.
Prefab Instance |
Macro |
Embed |
Created in editor |
 |
 |
Instantiated at runtime |
 |
 |
If you use a machine with an embed graph as a prefab, the edits made on the prefab definition are automatically propagated to the prefab instances. Visual scripting displays warning messages in the inspector and in the graph window when this is attempted.

Note: When adding a machine to a prefab, use a graph instead of an embed.
Prefab Overrides
Visual scripting uses a custom serialization engine, FullSerializer, rather than Unity's default serialization to satisfy it's requirements on nesting, extensibility and coverage.
Note: When bolding inspector labels and values, the prefab indicates differentiation rather than override. For example, an inspector field on a prefab instance is never be bolded if it has the same value as the prefab definition, even if it has overridden this value.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.