Darksaint Games

Universal Foliage Swap V2

UE 5.7+ · Environment · FAB Marketplace
Released FoliageEnvironmentPCGGAS

Universal Foliage Swap is a complete foliage harvesting, respawn, and biome population system. Drop it into any project and immediately get proximity-based HISM/ISM/SMC/PCG foliage detection, a universal harvest damage pipeline compatible with native UE damage, GAS, or any custom system, and procedural biome spawning with seasonal support.

EngineUE 5.7+
StudioDarksaint Games
NetworkMultiplayer + World Partition
FABAvailable Now
Universal Foliage Swap V2
🌿
Harvesting System
🌲
Universal Foliage Detection
Proximity-based detection for HISM, ISM, SMC, and PCG foliage. Automatically swaps mesh instances to harvestable actors on approach.
Universal Damage Pipeline
Works with native UE damage (ApplyDamage, ApplyPointDamage, ApplyRadialDamage), GAS Gameplay Effect Executions, or fully custom damage systems via direct notification.
🪵
Multi-Stage Harvesting
Configurable harvest stages with loot table rolls at each stage, remnant/stump placement after depletion, and per-node respawn timing.
🎒
Loot Tables (No Item Dependency)
The plugin rolls loot and fires events with a payload array — it never handles items directly. Integrate with any inventory system via Blueprint events or delegate binding.
💾
Save / Load
Full harvested node state persistence via UHarvestSaveSubsystem. Save slot management, async save/load, and node restoration with configurable counts.
🌍
Biome System
🗺
Procedural Biome Spawning
Place ABiomeVolumeActor, assign a UBiomeDefinition data asset, press Play. Instances spawn procedurally based on density, slope, and noise rules — immediately harvestable.
🚫
Exclusion Volumes
Block biome spawning in specific areas — roads, buildings, water, and hand-placed trees. Supports Box or Sphere shapes with per-biome or global exclusion.
Seasonal Biomes
Season mask per biome definition (Spring/Summer/Autumn/Winter). Call SetSeason() on UBiomeSeasonManager to trigger automatic biome clear and respawn with transition effects.
Ambient VFX & Audio
Per-biome Niagara VFX, looping audio, and Wind Material Parameter Collection integration for fully atmospheric biome environments.
Damage Pipeline Modes
ModeUse When
NativeAllDamageStandard UE projects using any of the ApplyDamage variants
NativeAnyDamageProjects using only UGameplayStatics::ApplyDamage
GASCall NotifyGASDamage() from your Gameplay Effect Execution class
CustomCall NotifyHarvestDamageEvent() directly from any custom system
NoneScripted depletion only via ForceHarvest() — no automatic pipeline
🔧
Core Classes & API Reference
Class / AssetPurpose
AWCHarvestableActorBase harvestable actor. Swap target — HISM/ISM/SMC/PCG instances become this on player approach. Handles stage progression, loot rolls, and depletion.
UHarvestSaveSubsystemWorld subsystem for harvest state persistence. Async save/load per slot. Restores depleted and staged node states on load.
UHarvestDetectionComponentLives on the player pawn. Proximity detection, swap triggering, range configuration.
UHarvestNodeDefinitionData asset per foliage type. Health, stages, loot table reference, remnant mesh, respawn time, VFX/audio per stage.
ABiomeVolumeActorPlace in level, assign a UBiomeDefinition. Procedurally spawns harvestable foliage instances at runtime based on density and slope rules.
UBiomeDefinitionData asset: node types, density, slope range, season mask, exclusion layer, Niagara VFX, looping audio, wind MPC.
UBiomeSeasonManagerWorld subsystem. Call SetSeason() to trigger biome clear and seasonal respawn with transition effects.
ABiomeExclusionVolumeBlock biome spawning within a Box or Sphere volume. Supports per-biome or global exclusion.

Get Universal Foliage Swap V2

Available now on FAB Marketplace. Full multiplayer support with World Partition and level streaming.