docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct MigrationDescription<TVersion, TTarget>

    Describe migration steps to perform when upgrading from one version of an object to another.

    Inherited Members
    ValueType.Equals(object)
    ValueType.GetHashCode()
    ValueType.ToString()
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: UnityEngine.Rendering.HighDefinition
    Assembly: Unity.RenderPipelines.HighDefinition.Runtime.dll
    Syntax
    public struct MigrationDescription<TVersion, TTarget> where TVersion : struct, IConvertible where TTarget : class, IVersionable<TVersion>
    Type Parameters
    Name Description
    TVersion

    An enum identifying the version.

    TTarget

    The type to migrate.

    Constructors

    MigrationDescription(params MigrationStep<TVersion, TTarget>[])

    Build a migration description.

    Declaration
    public MigrationDescription(params MigrationStep<TVersion, TTarget>[] steps)
    Parameters
    Type Name Description
    MigrationStep<TVersion, TTarget>[] steps

    The step to follow between each version migration.

    Methods

    ExecuteStep(TTarget, TVersion)

    Execute a migration step.

    Declaration
    public void ExecuteStep(TTarget target, TVersion stepVersion)
    Parameters
    Type Name Description
    TTarget target

    Target.

    TVersion stepVersion

    Step version.

    Migrate(TTarget)

    Execute the migration on the provided instance.

    All steps with a version greater than the instance version will be executed in ascending order. Eg: for instance with version 2 and step version 1, 3, 5, and 6. It will execute steps 3 then 5 then 6.

    Declaration
    public bool Migrate(TTarget target)
    Parameters
    Type Name Description
    TTarget target

    The instance to migrate.

    Returns
    Type Description
    bool

    True if it has executed migration steps, false otherwise.

    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)