hexagon-plusHow to add new Drop

This guide explains how to add a new drop to the game.

1. Importing Assets

Your drop should have a prefab with visuals - such as a 3D model, sprite, or particle effect. Import these assets into the appropriate subfolders inside Assets/The Archer/ (for example: Models, Sprites, or Particles).

2. Adding a new Drop Type

  1. Open DropType.cs located at Assets/The Archer/Scripts/Drop/Data/

  2. Add a new entry to the DropType enum with a descriptive name for your new drop.

public enum DropType
{
    Heal,
    RageStar,
    InvincibilityStar,
    XPGem,
    Item,
    YourNewDrop  // ← Add your new drop here
}

3. Creating Drop Behavior Script

  1. Open the folder Assets/The Archer/Scripts/Drop/Behaviors/

  2. Create a new script and name it [Name]DropBehavior.cs.

  3. Open the script and inherit from DropBehavior. Override the OnPickedUp() method to define what happens when the drop is collected.

circle-info

Tip: Check other drop behavior scripts in this folder for reference and implementation examples.

4. Creating Drop Prefab.

  1. Open Assets/The Archer/Prefabs/Drop/

  2. Right-click -> Create -> Prefab, then rename and open it.

  3. Add your visual elements (models, particles, etc.) as children of the prefab root.

  4. On the root GameObject:

    • Add your Drop Behavior component created in the previous step.

    • Add a Sphere Collider, enable Is Trigger, and assign it to the Trigger field.

  5. Fill out the Drop Behavior component fields:

  • Pick Up Particle - Optional particle prefab to play when picked up. (Reference to another prefab, not a particle inside this one.)

  • Pick Up Sound - Optional AudioData played when picked up.

  • Spawn Sound - Optional AudioData played when spawned.

  • Trigger - The trigger collider you created.

  • Trail - Optional TrailRenderer reference. Used to reset trail visuals when re-spawned.

  • Lifetime - Time (in seconds) before the drop despawns. Set to 0 to never despawn.

  • Spawn Animation parameters - Settings that control the drop’s spawn animation. Copy values from an existing drop prefab and tweak as desired.

5. Registering Drop Data

  1. Open Assets/The Archer/Scriptables/Drop Database.asset

  2. Add a new item to the Drop List and fill in its fields:

  • Drop Type - The enum value you created in Step 2.

  • Prefab - The prefab created in Step 4.

  • Initial Pool Size - Number of drops pre-instantiated at stage start.

  • Can Pick Up Manually - If true, the player can collect this drop by walking near it.

  • Wave End Automatic Pick Up - If true, the drop flies to the player at the end of the wave.

  • Room End Automatic Pick Up - If true, the drop flies to the player at the end of the room.

6. Testing

  1. Open the Stage Creator by pressing Shift + S or via Tools → October → Stage Creator.

  2. Open the first stage and select the first wave of the first room.

  3. Select any enemy in the scene. In its Inspector, locate the Enemy Overrides Behavior component.

  4. Add your new drop to the Additional Drop List.

  5. Press Test Wave.

  6. When you defeat that enemy, your new drop should appear and function as expected.

Last updated