This shows you the differences between two versions of the page.
 
| Both sides previous revision Previous revision Next revision | Previous revision | 
| en:toolworks:docs:apparatus:subject [2021/12/05 12:02]  –  vladius | en:toolworks:docs:apparatus:subject [2021/12/06 19:36] (current)  –  vladius | 
|---|
| ====== Subjective Layer ====== | ====== Subjective Layer ====== | 
|  |  | 
| A Subject can have an additional higher-level dimension called [[en:toolworks:docs:apparatus:subjective|Subjective]]. Subjectives are UE-managed objects (UObjects) which contain the [[en:toolworks:docs:apparatus:detail|Details]]. Subjectives and Details are generally more flexible and have some additional features implemented as compared to the raw Subjects with Traits. This comes at a cost of being not as cache-efficient and potentially less performant. Please note however, that this additional layer is optional and you may implement your project entirely with Subjects if you want. | A Subject can have an additional higher-level dimension called [[en:toolworks:docs:apparatus:subjective|Subjective]]. Subjectives are UE-managed objects (UObjects) which may contain the high-level [[en:toolworks:docs:apparatus:detail|Details]] in their composition. Subjectives with Details are generally more flexible and have additional features implemented as compared to raw Subjects with Traits. This comes at a cost of being not as memory-/cache-efficient and potentially less performant. Please note however, that the Subjective layer is optional and you may establish your project's logic entirely on Subjects if you want. | 
| Subjects without the Subjective layer are called b//rebone. |  | 
|  | Subjects without the Subjective layer involved are called //barebone// Subjects. Both Subjective-based Subjects and barebone Subjects are commonly referred to as just //Subjects//. That's because every Subjective is actually a Subject internally and embeds it as an essential part. This is something like an inheritance, so every Subjective can also have Traits and Flags as part of its composition. | 
|  |  | 
| ====== Spawning ====== | ====== Spawning ====== | 
| </code> | </code> | 
| This would efficiently pre-allocate a Slot for the Subject in the correct Chunk and initialize it according to the Traits supplied as the arguments. | This would efficiently pre-allocate a Slot for the Subject in the correct Chunk and initialize it according to the Traits supplied as the arguments. | 
|  |  | 
|  | ===== Blueprint Workflow ===== | 
|  |  | 
|  | Spawning Subjects in Blueprints is done with a dedicated Spawn Subject node: | 
|  |  | 
|  | {{:en:toolworks:docs:apparatus:spawn-subject-node.png?nolink|Spawn Subject Node}} | 
|  |  | 
|  | You may also specify a starting set of [[en:toolworks:docs:apparatus:flagmark|flags]] via the corresponding pin argument. | 
|  |  | 
| ====== Despawning ====== | ====== Despawning ====== |