Skip to main content
Start with the included item closest to what you want to make. A knife, lighter, and rifle share the same equipment system, but each handles use differently. Before you begin, run the demo and create a copy of BP_Survival_Character for your project. If you use a different character mesh, finish Character setup first.

Choose a starting item

Open Survival_FPS_Pack/Blueprints/Items in the Content Browser.

Copy the item and its animation setup

  1. Duplicate the item Blueprint into your own folder and name it, for example, BP_ProjectItem.
  2. Find its view in Blueprints/Items/Views and duplicate it as AC_ProjectItemView.
  3. Duplicate the matching DA_ asset from Blueprints/Items/Settings and assign the copy to Animation Settings on your view.
  4. Replace the original view component on BP_ProjectItem with your copied view. Reconnect any event graph references to the new component.
  5. Update the item’s view getter. Items such as the knife and pot implement GetItemView; the DL700 and HX2 implement GetWeaponView. Return your new view component.
  6. Compile and save both Blueprints.
For example, the knife copies are BP_Knife, AC_KnifeView, and DA_Knife. The rifle copies are BP_DL700, AC_DL700View, and DA_DL700.
Survival item view Blueprints for weapons, tools, and consumables

Views in Blueprints/Items/Views hold the actions and animation assignments for each item.

Keep the original animations assigned for the first test. Add BP_ProjectItem to Item Classes on your character copy and check that you can equip, use, and put it away. Add food or medicine to Consumable Classes instead.

Replace the mesh and animations

Select the component that displays the model in your copied item Blueprint. Animated models use ItemMesh; items such as the knife and spear also have a StaticItemMesh, while food uses ConsumableMesh. For a Skeletal Mesh, assign an Animation Blueprint compatible with its Skeleton. Copy the closest item Animation Blueprint from Animations/Items if you need to replace its idle pose or action playback. On the view, configure EquipMontage, UnEquipMontage, and the item’s use montages. Each F_CharacterItemMontage entry has a character montage and an item montage. Use the character side for the hands and the item side for moving parts such as a lid, bolt, or bowstring. Open your copied DA_ asset and set the holding pose, overlay class, and procedural class. Adjust Weapon Offset to frame the item, then check both hand offsets. That field keeps its Unreal name even when you are adjusting a tool or consumable. See Animation settings for the fields. Test the actions after changing the idle pose; an aligned resting grip does not guarantee that the hands follow the model during use.

Create a melee weapon

Knife attacks

Use BP_Knife and AC_KnifeView for a weapon with discrete strikes.
  1. Set your attack montage pairs in the view’s SlashMontages array. The included character montages are AM_FP_Knife_Slash_Left and AM_FP_Knife_Slash_Right.
  2. Keep the item’s UseItem event connected to the view’s OnUseItem.
  3. Keep the HasActiveAction check before starting another attack.
  4. Pass the animation length returned by OnUseItem to AC_GameplayAnimation.StartAction. This marks the attack active while it plays.
  5. Add your hit detection and damage logic to the item. Time the hit check to the contact portion of the strike.
AC_KnifeView.OnUseItem selects a slash montage pair and plays it through PlayCharacterItemMontage. The example BP_Knife.UseItem starts the animation and its action state; add your combat behavior there or through a notify for the hit window.

Axe blocking and spear attacks

For blocking, start with the axe and keep ABP_Overlay_Survival_Axe assigned in the copied settings. The overlay reads IsAiming and moves through its block animation as the secondary action starts and ends. Replace the block animation in that overlay when adapting the pose. Implement damage reduction in your combat logic. For high and low spear strikes, keep HighAttackMontage and LowAttackMontage on AC_SpearView. Its OnSpearAttack selects the attack pair, while ThrowMontage handles release when throwing. See Weapons for the overlay graphs and included actions.

Create a ranged weapon

Firearms

Start with BP_DL700, which derives from BP_Shooter_Weapon, and its AC_DL700View.
  1. Replace the rifle mesh and assign its matching item Animation Blueprint.
  2. On the copied view, set FireMontage and the draw and holster pairs. Assign the firing sound and muzzle effect through BaseFireSound and BaseMuzzleFlash.
  3. On the copied settings asset, configure the idle pose, sight alignment, aiming FOV, sway, and Recoil Data.
  4. In the item’s Class Defaults, set Fire Rate, Max Ammo, and Active Ammo for your firearm.
  5. Check GetAimPoint after replacing the scope or sights. The DL700 uses a scope actor, so its original alignment may not match your model.
AC_WeaponView TryInitialize calling its parent and finding recoil and IK motion components on the owning character

The shared weapon view initializes the character's recoil and IK motion components after the base item setup.

The DL700 reload inserts rounds in stages. Assign ReloadStartMontage, ReloadLoopMontage, and ReloadEndMontage on the view, and keep the matching reload events in the item Blueprint. Preserve Reload Weapon at the ammunition insertion moment on the item animation. If your firearm uses a single magazine reload, replace the DL700’s staged reload logic as well as its montages. Assigning one magazine animation to the loop does not change how the item adds ammunition. See Reload Weapon and Weapons.

Projectile items

Use BP_HX2 for a bow or BP_Spear for a throwable. Both implement BPI_Survival_Ranged and use AC_Survival_RangedWeapon to select a projectile mesh.
  1. Keep BPI_Survival_Ranged on the copied item.
  2. Fill ProjectileMeshes on AC_Survival_RangedWeapon with the models your item can launch.
  3. Adapt OnThrowItem to spawn your projectile actor and assign the selected mesh.
  4. Check the spawn transform and launch direction. The HX2 uses ArrowProjectileSocket and its right vector; the spear uses its item transform and right vector.
  5. Set speed, gravity, rotation, bounce, and life span on the LaunchProjectile call.
  6. Place Launch Projectile at the release moment on the character animation.
The notify calls OnThrowItem; the item performs the spawn and launch. Keep the held model’s visibility and next-item animation in step with that event. For the bow, also retain OnLoadNewArrow and the aiming overlay so the next arrow loads after release. Follow Launch Projectile for the notify graph and the spear and arrow launch values.

Create a consumable

Start with the closest child of BP_Survival_Consumable. Copy its view and settings, replace the model, and assign the use montage pair. Set MaxUseTimes on the consumable view to choose how many times it plays the use action. Add Use Consumable at the bite, sip, or healing moment. Implement your effect in the item’s UseConsumable event, keeping any inherited mesh or visibility changes you need. Add the item class to Consumable Classes on your character. The water bottle and pot use regular Item Classes, so use a food or medicine Blueprint when you want the temporary consumable sequence. See Consumables for timing and Use Consumable for the event flow.

Test the item

Press Play and check draw, movement, use, secondary actions, and holster. For melee weapons, check the hit window. For firearms, test partial and empty reloads. For projectile items, confirm one spawn per release and the correct launch direction. For consumables, check every use event and the return to the previous item.