Skip to content
Edit on GitHub

Enemy asset integration

This task sources presentation assets only. It does not add a live enemy spawner, attack controller, or prefab to Gameplay.unity.

Enemy presentation Mesh source Skin variants
Survivor zombie Assets/ThirdParty/Kenney_Animated_Characters_Survivors/Model/characterMedium.fbx zombieA, zombieC
Retro zombie Assets/ThirdParty/Kenney_Animated_Characters_Retro/Model/characterMedium.fbx zombieFemaleA, zombieMaleA

Both packs provide their own small idle/run clips. Their full license and provenance are recorded in ASSET_LEDGER.md.

Assets/ThirdParty/Universal_Animation_Library_Standard/Unity/UAL1_Standard.fbx is the non-root-motion variant of the user-provided Universal Animation Library. It contains 43 clips; the initial hostile set is:

  • Idle_Loop
  • Walk_Loop
  • Jog_Fwd_Loop
  • Punch_Jab or Punch_Cross
  • Hit_Chest
  • Death01

The library’s skeleton names (pelvis, spine_01, etc.) differ from the Kenney models’ (Hips, Spine, etc.). Unity must therefore import both as Humanoid and retarget the library clips through the selected Kenney model’s Avatar. Do not use Generic clips or assign them by raw transform name.

The non-root-motion FBX is intentional: the hostile controller should continue to own collision-safe movement, while clips supply visual motion only. The separate _RM library file remains outside the project so it cannot accidentally move an enemy twice.

Open Tools → Voxel Sandbox → Voxel Workshop → Enemy Lab and use Build / Replace Enemy Prefabs after Unity has imported the three source FBXs. The tool creates Resources/Prefabs/Enemies/Shambler and Ghoul, each with a project-owned HDRP material, capsule collider, and Humanoid animator controller. Its controller uses an idle/walk/jog blend tree plus attack, hit, and death states from the Standard library; root motion remains off. It may overwrite only those generated project-owned assets and never changes Gameplay.unity or vendor source binaries. If a source FBX is still Generic, the build changes its Unity import metadata to Humanoid before it generates the prefabs; that retargeting configuration is required for the two skeletons to share the animation library.

After the current editor capture releases the project, verify the Humanoid bone mapping and preview each selected clip on both bases. A review capture belongs to the hostile-runtime task, once a prefab exists; ENM-001 has no gameplay surface to capture yet.

The presentation candidates have two matching, persistent hostile archetypes in VoxelSandbox.World.Entities: the durable, slow Shambler (Survivors pack) and the quick, fragile Ghoul (Retro pack). HostileSpawnRules derives a surface-spawn weight from the existing daylight and weather-dimming signals. No runtime spawner is connected yet, so no models can appear until the prefab and controller pass is explicitly implemented.

HostileSpawnPlanner now supplies deterministic, seed-stable dry-land candidate positions around a player. It deliberately has no knowledge of loaded chunks, player-built shelters, line of sight, or collision; a runtime spawner must apply those live-world checks before it instantiates a model.

User-contributed notes

Corrections, clarifications, and practical tips for this page. Anonymous is fine — a name is optional. Basic Markdown works: **bold**, *italic*, `code`, and links.

Notes policy

Notes are lightly filtered for spam and may be edited or removed. Keep them about this page — no support requests, no personal data, nothing you would not publish. Links are limited and marked nofollow.

  1. Loading notes…