Skip to content

Game.Prefabs.AssetPackElement

Assembly: (unspecified — part of the game's managed assemblies, e.g. the game's assembly that contains prefab types)
Namespace: Game.Prefabs

Type: struct

Base: Unity.Entities.IBufferElementData

Summary:
Represents a single element in a DynamicBuffer that references an asset pack Entity used by prefabs. This struct is a plain ECS buffer element (blittable) that stores an Entity handle (m_Pack) pointing to another entity that represents an asset pack. It is intended to be used with DynamicBuffer on entities that need to keep an ordered list of pack references (for example, a prefab that aggregates multiple asset packs).


Fields

  • public Unity.Entities.Entity m_Pack
    Holds the Entity reference to the asset pack. When used in a DynamicBuffer, each element's m_Pack points to one asset pack entity. Must be assigned an Entity value (for example, an entity created or referenced elsewhere). This is a value type field (Entity), so it is safe to use in jobs and native containers.

Properties

  • (none)

Constructors

  • public AssetPackElement()
    Struct has the default parameterless constructor provided by C#. Typically you create instances with an object initializer, e.g. new AssetPackElement { m_Pack = packEntity }.

Methods

  • (none)

Usage Example

// Example: add a pack reference to an entity's buffer
Entity packEntity = /* obtain or create the pack entity */;
Entity prefabEntity = /* entity that should reference packs */;

var buffer = EntityManager.GetBuffer<AssetPackElement>(prefabEntity);
buffer.Add(new AssetPackElement { m_Pack = packEntity });

// In a system using Entities.ForEach (ISystem/IJobEntity), use DynamicBuffer<T>:
Entities.ForEach((ref DynamicBuffer<AssetPackElement> packs, in SomeTag tag) =>
{
    // iterate pack references
    for (int i = 0; i < packs.Length; i++)
    {
        Entity referencedPack = packs[i].m_Pack;
        // use referencedPack as needed
    }
}).Schedule();