Darksaint Games

Swap Core

UE 5.7+ · Server-Authoritative · FAB Marketplace
Formerly Universal Foliage Swap V2
Released v2.1 HISMISMSMCPCGFoliage

Swap Core is a server-authoritative mesh-swap, harvest, and regrow framework. Drop it into any project to 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 — all multiplayer-ready from day one.

EngineUE 5.7+
StudioDarksaint Games
NetworkMultiplayer + World Partition
FABAvailable Now
Swap Core — marketplace thumbnail
🌿
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.
🌐
Server-Authoritative Multiplayer
All swap, harvest, and regrow logic is driven by the server with predictive client feedback. Works with dedicated servers, listen servers, and World Partition streaming.
🌍
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 Swap Core

Available now on FAB Marketplace. Full multiplayer support with World Partition and level streaming. Complete technical reference in the docs.