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.
ApplyDamage, ApplyPointDamage, ApplyRadialDamage), GAS Gameplay Effect Executions, or fully custom damage systems via direct notification.UHarvestSaveSubsystem. Save slot management, async save/load, and node restoration with configurable counts.ABiomeVolumeActor, assign a UBiomeDefinition data asset, press Play. Instances spawn procedurally based on density, slope, and noise rules — immediately harvestable.SetSeason() on UBiomeSeasonManager to trigger automatic biome clear and respawn with transition effects.| Mode | Use When |
|---|---|
| NativeAllDamage | Standard UE projects using any of the ApplyDamage variants |
| NativeAnyDamage | Projects using only UGameplayStatics::ApplyDamage |
| GAS | Call NotifyGASDamage() from your Gameplay Effect Execution class |
| Custom | Call NotifyHarvestDamageEvent() directly from any custom system |
| None | Scripted depletion only via ForceHarvest() — no automatic pipeline |
| Class / Asset | Purpose |
|---|---|
| AWCHarvestableActor | Base harvestable actor. Swap target — HISM/ISM/SMC/PCG instances become this on player approach. Handles stage progression, loot rolls, and depletion. |
| UHarvestSaveSubsystem | World subsystem for harvest state persistence. Async save/load per slot. Restores depleted and staged node states on load. |
| UHarvestDetectionComponent | Lives on the player pawn. Proximity detection, swap triggering, range configuration. |
| UHarvestNodeDefinition | Data asset per foliage type. Health, stages, loot table reference, remnant mesh, respawn time, VFX/audio per stage. |
| ABiomeVolumeActor | Place in level, assign a UBiomeDefinition. Procedurally spawns harvestable foliage instances at runtime based on density and slope rules. |
| UBiomeDefinition | Data asset: node types, density, slope range, season mask, exclusion layer, Niagara VFX, looping audio, wind MPC. |
| UBiomeSeasonManager | World subsystem. Call SetSeason() to trigger biome clear and seasonal respawn with transition effects. |
| ABiomeExclusionVolume | Block biome spawning within a Box or Sphere volume. Supports per-biome or global exclusion. |
Available now on FAB Marketplace. Full multiplayer support with World Partition and level streaming.