Struct DefaultVariantSystemBase.Rule
When defining default variants for a type, you must denote whether or not this variant will be applied to both parents and children.
Syntax
public readonly struct Rule
Fields
VariantForChildren
The variant to use for all child entities.
Declaration
public readonly Type VariantForChildren
Field Value
VariantForParents
The variant to use for all top-level (i.e. root/parent level) entities.
Declaration
public readonly Type VariantForParents
Field Value
Methods
Equals(DefaultVariantSystemBase.Rule)
Compare two rules ana check if their parent and child types are identical.
Declaration
public readonly bool Equals(DefaultVariantSystemBase.Rule other)
Parameters
Returns
ForAll(Type)
This rule will add the same variant to all entities with this component type (i.e. both parent and children a.k.a. regardless of hierarchy).
Note: It is not recommended to serialize child entities as it is relatively slow to serialize them!
Declaration
public static DefaultVariantSystemBase.Rule ForAll(Type variantForBoth)
Parameters
Type |
Name |
Description |
Type |
variantForBoth |
|
Returns
GetHashCode()
Unique HashCode if Variant fields are set.
Declaration
public override readonly int GetHashCode()
Returns
Overrides
OnlyChildren(Type)
This rule will only add this variant to child entities with this component.
The parent entities with this component will use the default serializer.
Note: It is not recommended to serialize child entities as it is relatively slow to serialize them!
Declaration
public static DefaultVariantSystemBase.Rule OnlyChildren(Type variantForChildrenOnly)
Parameters
Type |
Name |
Description |
Type |
variantForChildrenOnly |
|
Returns
OnlyParents(Type)
This rule will only add the variant to parent entities with this component type.
Children with this component will remain DontSerializeVariant (which is the default for children).
This is the recommended approach.
Declaration
public static DefaultVariantSystemBase.Rule OnlyParents(Type variantForParentOnly)
Parameters
Type |
Name |
Description |
Type |
variantForParentOnly |
|
Returns
Unique(Type, Type)
This rule will add one variant for parents, and another variant for children, by default.
Note: It is not recommended to serialize child entities as it is relatively slow to serialize them!
Declaration
public static DefaultVariantSystemBase.Rule Unique(Type variantForParents, Type variantForChildren)
Parameters
Type |
Name |
Description |
Type |
variantForParents |
|
Type |
variantForChildren |
|
Returns
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.