godot-enemy-archetype

Design data-driven enemy archetypes for Godot 4.x using typed GDScript resources and behaviour nodes.

8|3|Updated Jun 12, 2026
One-click install
npx skills add https://github.com/arthur0n/xenodot-forge --skill godot-enemy-archetype
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: godot-enemy-archetype
Source: https://github.com/arthur0n/xenodot-forge/tree/main/plugin/skills/godot-enemy-archetype
Command: npx skills add https://github.com/arthur0n/xenodot-forge --skill godot-enemy-archetype

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you create reusable, data-driven enemy variants in Godot without turning every trait combination into a new subclass or duplicating combat logic.

Core Features & Use Cases

  • Archetype-driven enemies: Define an EnemyArchetype Resource that carries stats, tint, and an ordered list of behaviour scenes.
  • Stateful behaviour composition: Attach per-enemy EnemyBehaviour nodes for movement, attacks, magnets, dives, or other live gameplay logic.
  • Seam-safe integration: Keep the base enemy thin while delegating to behaviours through guarded method checks and fallback defaults.
  • Use cases: Create a tank that also shoots, a magnet enemy, or a runner variant as a new .tres file instead of editing the enemy script.

Quick Start

Ask for a Godot enemy-archetype implementation plan that turns a generic enemy scene into a data-driven resource plus behaviour-node composition system.

Frequently Asked Questions about godot-enemy-archetype

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create different enemy variants in Godot without making a new subclass for each combination?

Data-driven enemy archetypes in Godot let you define reusable variants as typed GDScript resources, mixing traits like stats and tint without subclassing and without duplicating combat logic.

What's the best way to separate reusable enemy stats from stateful behaviour logic in Godot 4.x?

Separating reusable enemy stats from stateful behaviour uses an EnemyArchetype Resource for data and attaches per-enemy EnemyBehaviour nodes to handle live gameplay logic like movement and attacks.

How do I load different enemy behaviours at spawn time using PackedScene lists in Godot?

Spawn-time archetype loading uses an ordered PackedScene behaviour list within the EnemyArchetype Resource, instantiating specific stateful behaviour nodes dynamically when the enemy spawns.

Can I add shooting or magnet traits to a generic enemy scene without rewriting its base script?

Trait-mixed enemy variants are added through composition by attaching new behaviour scenes to a generic enemy scene, delegating through guarded method checks to preserve the existing hit and death contract.

Does data-driven enemy composition in Godot require changing the base hit and death logic?

Data-driven enemy composition keeps the base enemy thin and preserves existing hit and death contracts by delegating to behaviours through guarded seam delegation with fallback defaults.

When should I avoid subclassing enemies in Godot and use composition instead?

Avoid subclassing enemies when you need to combine multiple traits like tank and shooter, which causes logic duplication, and instead use composition to mix behaviours via resource files.