# 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.