Hey!đź‘‹ ubyte.dev just recently launched. It's dedicated towards Unreal Engine 5.

Warning: Undefined array key "page" in /home/u831815985/domains/ubyte.dev/public_html/wp-content/plugins/code-snippets/php/snippet-ops.php(582) : eval()'d code on line 24
Portions of the materials used are trademarks and/or copyrighted works of Epic Games, Inc. All rights reserved by Epic. This material is not official and is not endorsed by Epic.
Unreal Engine 5.0

Unreal Engine 5.0

title placeholder


While this framework doesn’t necessarily mandate a certain implementation pattern, it’s still written with a strong preconceived philosophy of how things (pure virtual functions) should be dealt with internally. That’s separately included inside a section labeled 'Recommended'.

From a high-level perspective, IGenericCrowdActivityWorker is a native-only interface embodying a crowd controller, capable of beginning/ending Agent Activities on the agents it manipulates.

Each IGenericCrowdActivityWorker can begin/end an FCrowdActivity, which represent a high-level task only crowds can perform.


Crowd activities encapsulate a sequence of agent activities.

The logic it executes compliments its relative responsibility down the world-crowd-agent chain by solely being focused on how each crowd activity is carried out, without being aware of its higher strategic purpose.

IGenericWorldActivityWorker is responsible for each crowd activity, and may strategically spawn crowds for a certain purpose only it knows. It's seated in the most leveraged position.

IGenericWorldActivityWorker does not understand how each FCrowdActivity is carried out. Likewise, 
IGenericCrowdActivityWorker does not understand how each FAgentActivity is carried out.


Each IGenericCrowdActivityWorker has its own Scoped/Persistent CrowdActivityCognition tags, which are just GameplayTags mapped to the "AgentActivityCognition" base category.


ubyte.dev endorses creating GameplayConcepts extending CrowdActivityCognition that:

  1. Explicitly specify which problem they solve. Example: WorkerStrategyGameplayConcept (included by default) introduces a filtered variant of CrowdActivityCognition called CrowdActivityStrategy. This concept mandates that these tags always dynamically influence the underlying implementation of a CrowdActivity (as its name implies).
  2. Explicitly manage their blueprint exposure. Example: WorkerStrategyGameplayConcept introduces BlueprintCallable methods for adding/removing CrowdActivityStrategy tags. While this concept is pretty simple, any other concept might require additional encapsulation and/or properties before truly exposing itself to the blueprint surface.

Blueprints should never be able to add/remove unencapsulated CrowdActivityCognition tags. It's only permitted through blueprint-exposed concepts that extend CrowdActivityCognition (e.g. CrowdActivityStrategy).

cross linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram