|
Data Shard Plugin
|
| CDataShardIDDelegatePair | Pairs a shard ID with a C++ delegate for change notifications. Used by the DataShardSubsystem to track registered callbacks for data changes |
| CDataShardKey | A key that uniquely identifies and provides access to data shards in the DataShard system. DataShardKey combines an object reference (owner) and a string name to form a unique identifier, that can be used to access and manage data within the DataShardSubsystem |
| CDataShardKeyDelegatePair | Pairs a DataShardKey with a Blueprint delegate for change notifications. Used by the DataShardSubsystem to track registered callbacks for data changes |
| ▼CUBlueprintFunctionLibrary | |
| CDataShardUtils_BP | Blueprint function library providing utility functions for working with DataShards. Exposes DataShard functionality for use in Blueprints |
| ▼CUDeveloperSettings | |
| CDataShardSettings | |
| ▼CUGameInstanceSubsystem | |
| CDataShardSubsystem | DataShardSubsystem manages the creation, access, and lifecycle of DataShards. DataShards are a flexible data-sharing system that allows game objects to store and access type-safe data throughout the game |
| ▼CUObject | |
| CDataShardObject | DataShardObject is the core container class for data in the DataShard system. This class provides a flexible data storage mechanism that can hold any Unreal property type. It uses a type-erased byte buffer approach with a property reference to correctly interpret the stored data. The system maintains these objects in a pool (DataShardPool) for efficient reuse. Key capabilities: |
| CDataShardPool | DataShardPool manages a pool of DataShardObject for efficient memory usage. It pre-allocates shards and reuses them instead of creating/destroying them. This reduces memory fragmentation and improves performance by avoiding frequent allocations. The pool is initialized with a configurable size and can grow dynamically if needed. When shards are no longer needed, they are returned to the pool instead of being destroyed |