Example Project Overview
The example project showcases a clean, production-minded implementation of the plugin. It isn’t meant to be a complete FPS game, but it is a strong knowledge base and reference—created by experienced first-person shooter industry professionals.
Folder Structure
The example project is split into three folders:
LevelPrototyping: Default Unreal project content.
Maps: Contains the example map.
ProceduralFPDemo: Contains the main demo systems and mechanics.

The ProceduralFPDemo folder is further split into several subfolders:
Audio: Contains weapon and footstep sounds.
Characters: Contains all Animation Blueprints, plus the Manny/Quinn meshes and materials. Also includes an example first-person animation set: Equip, Holster, Idle, Jump, JumpLoop, Land, Run, and Walk.
Core: Contains the main Character, PlayerController, and GameMode classes.
Data: Contains input-related data assets.
Equipments: Contains all equipment assets, including a flashlight and 7 ranged weapons, along with their meshes and animations.
Materials: Self-explanatory.
Widgets: Self-explanatory.

Characters:
The example project includes three character Blueprints inside the Core folder:
BP_Character_Base: Implements the core character mechanics, including equipment inventory, running, sprinting, aiming, and leaning.
BP_Character_DualMesh: Uses a dual-mesh first-person setup: the local player sees a dedicated first-person mesh (arms/legs), while other players see a separate third-person mesh. This also enables Unreal’s first-person rendering features and helps prevent equipment from clipping into walls.
BP_Character_TrueFP: Uses a “true first-person” setup, where all players see the same mesh.
Inventory:
The example project includes a demo InventoryComponent and a BaseEquipment, featuring equip/unequip animations and full replication support.
Equipment:
Equipments are actors that can be equipped in the player’s hands.
Each Equipment includes both a first-person mesh and a third-person mesh.
Each Equipment has its own custom idle pose. Procedural Motion is layered on top of that pose, keeping the hands correctly aligned while still providing high-quality movement—without requiring a dedicated animation set per equipment.
Each Equipment also includes a set of
ProceduralMotionComponentsthat communicate with the character to generate procedural motion. See Procedural for more info.Equipments are spawned/managed by the
InventoryComponent, which handles equipping, unequipping, and switching.
Weapons:
Weapons are a type of equipment. Their only additional functionality (compared to other equipments) is firing. We also plan to add reload animations to expand the demo even further in the future.
Weapons use a special
MetaSoundthat automatically blends one-shot and loop layers for more realistic firing audio. It doesn’t behave like a typical “play sound” call. Instead, it exists as a persistent component on the weapon, and the weapon notifies it when firing should start and stop.
Last updated