docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Method SwapComponents

    SwapComponents(ArchetypeChunk, int, ArchetypeChunk, int)

    Swaps the components of two entities.

    Declaration
    public void SwapComponents(ArchetypeChunk leftChunk, int leftIndex, ArchetypeChunk rightChunk, int rightIndex)
    Parameters
    Type Name Description
    ArchetypeChunk leftChunk

    A chunk containing one of the entities to swap.

    int leftIndex

    The index within the leftChunk of the entity and components to swap. Must be in the range [0,leftChunk.Count).

    ArchetypeChunk rightChunk

    The chunk containing the other entity to swap. This chunk can be the same as the leftChunk. It also does not need to be in the same World as leftChunk.

    int rightIndex

    The index within the rightChunk of the entity and components to swap. Must be in the range [0,rightChunk.Count).

    Remarks

    The entities must have the same components. However, this function can swap the components of entities in different worlds, so they do not need to have identical archetype instances.

    Important: This method creates a sync point, which means that the EntityManager waits for all currently running jobs to complete before swapping the component. No additional jobs can start before the method is finished. A sync point can cause a drop in performance because the ECS framework might not be able to use the processing power of all available cores.

    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)