Welcome to the Decorating Toolkit
The Decorating Toolkit is a flexible, modular system for Unity designed to help you build intuitive object placement and interior design mechanics. Whether you're making a cozy room builder or a complex base-building game, this toolkit provides the foundation for picking up, dragging, and snapping objects into place.
TODO: Add a short (5-10 second) showcase video here showing physics dragging, grid snapping, and placement validation in action.
How it works
At its core, the toolkit is built around a few key ideas that work together to handle the "heavy lifting" of object interaction:
- The Controller: Think of this as the brain. It listens for your input (like mouse clicks or touch) and manages the state of whatever you're currently dragging.
- Profiles: These are ScriptableObjects where you define the "rules" of your game. You can have different profiles for different types of items—one for heavy furniture that uses physics, and another for small decorations that snap to a grid.
- Motors: This is the logic that actually moves the object. A physics motor might use forces to pull an object toward your cursor, while a grid motor ensures it stays perfectly aligned.
- Validators: These are the "referees." They check if a placement is legal—for example, making sure a chair isn't floating in mid-air or overlapping with a wall.
Features at a glance
- Smooth Physics-based Dragging: Objects feel like they have weight and respond naturally to collisions.
- Smart Grid Snapping: Easily align objects to a custom grid on any or all axes.
- Fully Modular: Don't like how the default dragging works? Swap it out with your own implementation without breaking the rest of the system.
- Robust Validation: Built-in rules to prevent clipping and ensure realistic placement.
Ready to get started? Head over to the Quick Start Guide!