Pickup & Throw System

This project features a Pickup & Throw System built in Unreal Engine 5 for first-person shooters. It enables players to pick up items with a timed input, throw or drop them with physics-based force, and interact seamlessly with only the item they’re looking at through an outline highlight. The goal was to design an intuitive, flexible mechanic that adds immersion and depth to player, world interaction.

Game Engine

Unreal Engine 5

Programming Language

Programming Language

Unreal Engine Blueprint

Genre

Genre

Gameplay System

Role

Role

Solo Designer & Developer

Challenge

Many FPS prototypes allow basic pickups, but they lack polish, especially when multiple items are nearby. I wanted to solve the problem of clear, responsive item interaction by ensuring only the looked-at item is highlighted, pickup actions are deliberate (via hold-to-pick), and throws feel natural with physics.

Results

The final system is modular, designer-friendly, and easily adaptable to multiple item types (weapons, props, consumables). It provides players with visual clarity through dynamic prompts and outlines while maintaining smooth gameplay flow. I gained hands-on experience in UE5’s physics, line tracing, UI widgets, and modular system design.

Process

Mechanics Research & Planning: I analyzed common pickup and throw mechanics in modern games, identifying key usability factors such as interaction range, hold-to-pick timing, and intuitive throwing behavior. This helped define the foundation for building a smooth and player-friendly system.


Blueprint System Design: Created a modular Blueprint setup where each pickup item had its own root, trigger volume, mesh, and widget. The player character Blueprint handled interactions, ensuring clean separation between item logic and player controls.


Pickup & Hold Implementation: Developed a hold-to-pick mechanic requiring players to hold the pickup key for three seconds. Once completed, the item was smoothly attached to the character’s Item Hold Point, preventing abrupt or unrealistic snapping.


Throw & Physics Integration: Implemented a throw action by detaching the item from the character and applying impulse to the item’s mesh. This ensured realistic motion and physics-driven trajectories, making the throw feel responsive and natural.


UI Prompt & Feedback System: Added a world-space widget that always faces the player’s camera, displaying interaction prompts clearly. Integrated logic to hide prompts while holding or after throwing items to avoid overlapping or confusing feedback.


Item Selection & Highlighting: Designed a system where, if multiple pickup items are close together, the one the player is directly looking at is highlighted with a white border. This ensures clarity in interactions and reduces mis-clicks when choosing between nearby items.

Conclusion

This project strengthened my ability to design intuitive gameplay systems that combine technical scripting with player-focused usability. By blending physics, UI, and modularity, I created a feature that feels polished and professional, something I can now integrate into larger FPS prototypes or expand into more advanced inventory systems.