İçeriğe atla
Resource Gathering Minions ilanı için 1. medya

Açıklama

This plugin adds component-based resource-gathering behavior to your AI characters in Unreal Engine projects. Characters can be assigned tasks (gather wood, mine stone, etc.) through Gameplay Tags, locate the nearest matching resource using NavMesh-aware pathfinding, extract it on a configurable timer, carry it back to a designated home location using a skeletal socket attachment, and stack it into a pyramid pile — all driven by Behavior Trees you author per assignment.


Demo: https://www.youtube.com/watch?v=Xlkufn9yzjE

Documentation: https://docs.google.com/document/d/1okzeBvdEvxYSK7cAJ4mAk5PpEfBfu4T_2o6TiuZf20I/edit?usp=sharing

Discord: https://discord.gg/GSGQf79ahU

Important

  • Multiplayer functionality is implemented through server RPCs and replicated state, further testing is recommended to ensure full stability across networked gameplay.

  • This is a runtime C++ plugin - your project must support C++ compilation. A Blueprint-only project can be converted by adding any empty C++ class (`Tools → New C++ Class → None`).

  • While not required for addon setup, Behavior Tree and Gameplay Tag familiarity is recommended to understand how assignments are wired in the included `DA_Assignment_Definitions` data asset.

Core Features

  • Implements a tag-driven assignment system that decouples AI tasks from hardcoded logic

  • Supports NavMesh-aware resource discovery within a configurable search radius

  • Includes clean interruption handling - reassignment cancels in-progress extractions and drops carried resources in place

  • Handles multiplayer scenarios with a server-authoritative gather/extract/drop pipeline and proper client-side replication


Main Components

  • UGathererComponent: Attaches to the AI character and drives the gather → extract → carry → drop loop, exposing a replicated state enum (Idle / Extracting / Carrying) for animation blueprint use

  • UResourceComponent: Attaches to world actors (trees, rocks, ore) to mark them as extractable, with configurable extraction count and duration

  • UExtractedResourceComponent: Attaches to carryable actors (logs, ore chunks) to react when the gatherer drops them

  • UAssignmentDefinitionsDataAsset: Designer-facing container listing available assignments - each entry pairs an AssignmentTag, ResourceTag, Behavior Tree, carry actor class, attach socket, and optional home actor

  • UResourceStackingUtility: Helper that computes pyramid-pattern positions for stacking dropped resources at the home location


Key Functionality

  • Configurable resource search radius (default 2500 units)

  • Configurable per-resource extraction time (default 4 seconds) and extractions remaining (default 3)

  • Automatic Behavior Tree execution per assignment, with safe-stop reset when reassigned mid-task

  • Optional home-location override at assignment time, or runtime relocation via cursor pick (`UpdateAssignmentHome`)

  • Bundled sample content: Behavior Tree, Blackboard, five BTT tasks, example data asset, and component blueprints ready to drop into a project


Multiplayer Support

  • Server-authoritative assignment, extraction, and drop flow via reliable server RPCs

  • Replicated `ExtractionsRemaining` with client-side destroy when the resource is depleted

  • Replicated carry actor with replicated movement while attached to the character socket

  • Replicated `CurrentGatheringState` to keep client-side animation blueprints in sync

İçerdiği biçimler