# How to Improve Drag and Drop
Have you ever implemented a drag-and-drop feature and felt it lacked fluidity or polish? If so, you’re not alone. A clunky drag-and-drop interaction can break immersion and frustrate players. In this post, we’ll look at a few simple but powerful techniques that can dramatically enhance the responsiveness and feel of your drag-and-drop system - making your game more enjoyable and professional.
## Drag and Drop System
For maximum control, I don’t use **Unity**’s built-in drag-and-drop system or any other pre-made solution. This allows me to fully customize how interactions behave. So rather than sharing **Unity**-specific code, this post offers high-level guidance you can apply to your own systems - regardless of engine or framework.
## Why User Experience Matters
As a rule of thumb, your UI (User Interface) should feel as responsive as possible. Players expect instant, fluid feedback. When interactions lag or behave awkwardly, it can lead to frustration - or worse, players abandoning your game entirely.
Responsiveness is more than a luxury - it’s a **core UX principle**.
## Real-World Improvements
### The Context
On my free time, I’ve been developing a small word game where players rearrange letters by dragging cards to form words. You’ll be able to try this for yourself soon at [https://doubleplay.com](https://doubleplay.com).
### Basic Dragging (What Not to Do)
Initially, dragging a letter worked - technically. But it looked rough. Each letter had the same rendering priority whether being dragged or not.
![[dnd-fig-001.gif]]
From a player’s point of view, this feels clunky and confusing. The lack of visual hierarchy makes it hard to track what’s happening. This alone can discourage continued play.
### Add Focus with Depth and Scale
To solve this, I increased the visual focus of the card being dragged. I did this by:
- Slightly **scaling up** the card
- Moving it **forward along the Z-axis** so it renders on top
![[dnd-fig-002.gif]]
The change is subtle, but it makes a big difference. Players instantly recognize which card is active, reducing cognitive load and confusion.
### Dropping on an Occupied Slot
Here’s where things get smarter: when a card is dropped on a slot that’s already occupied, the other cards **automatically shift** to make space. This removes unnecessary friction.
![[dnd-fig-003.gif]]
Instead of forcing players to manually shuffle cards, the system adapts for them. This aligns with how players **expect** drag-and-drop to work - it's intuitive, fast, and fun. And just when you think it can’t get any better, the next enhancement takes responsiveness to an entirely new level.
---
# Want more tips like this?
Sign up to get devlog updates, practical game dev advice, and early access to my games.
![[NewsletterSignUp]]
---
### Make It Even More Responsive
But why wait until a card is dropped to show how others react?
By continuously shifting the cards **in real-time** while dragging, the system becomes even more responsive and satisfying. Players can visually preview how their drop will affect the layout - **before they commit**.
![[dnd-fig-004.gif]]
This small touch massively improves perceived quality and polish.
### Conclusion
As you’ve seen, we didn’t overhaul the entire system - just refined it with subtle, thoughtful interactions. These small changes added up to a **significantly improved** drag-and-drop experience.
Game polish isn’t always about adding flashy features. Often, it’s about tightening the feel, eliminating friction, and aligning with player expectations.