A 3D puzzle platformer featuring a Blob with a split mechanic.
Split, solve, merge - master the art of being in two places at once
Blob Divide draws heavy inspiration from Valve's iconic Portal 2 test chambers, reimagining the puzzle-solving experience with a unique split-merge mechanic. Instead of creating portals, you split yourself.
"What if the companion cube could split in two and solve puzzles independently?"
Key Inspirations:
- Portal 2 — Test chamber design, puzzle philosophy, environmental storytelling
- Brothers: A Tale of Two Sons — Dual-character control scheme
The heart of Blob Divide is the split-merge system:
Single Blob (E) → Split → BlobA (Green) + BlobB (Cyan)
↓ ↓
(Solve Puzzle) (Solve Puzzle)
↓ ↓
Move Close ← → Merge → Complete Level
| State | Control | BlobA (Green) | BlobB (Cyan) |
|---|---|---|---|
| Movement | 3D Movement | WASD | Arrow Keys |
| Jump | Jump | Space | Right Shift |
| Split | Split into two | E | — |
| Merge | Auto-merge | Proximity (3.0 units) | Proximity (3.0 units) |
| Camera | Switch view | Tab | Tab |
- Require weight to activate (blob or box)
- Control gates and doors
- Must be held down continuously
- Controlled by pressure buttons
- Block passage until activated
- Multiple gates can share buttons
- Can be pushed by walking into them
- Have weight and physics (mass: 50, gravity enabled)
- Fall off ledges realistically
- Only opens for merged blob
- Rejects split blobs with red flash
- Glows bright green on successful completion
- Triggers level complete sequence
- Split Timer: 30 seconds before forced merge
- Merge Distance: Blobs auto-merge within 3.0 units
- Completion: Must be merged to exit level
- Death: Fall off map = restart (planned)
- No Combat: Pure puzzle-solving experience
| Script | Purpose |
|---|---|
GameManager.cs |
Split/merge logic, level flow control |
BlobController.cs |
Character movement, input handling, animations |
CameraController.cs |
Dynamic camera following, view switching |
PushableStone.cs |
Physics-based pushable object behavior |
PressureButton.cs |
Button activation, gate control |
ExitDoor.cs |
Level completion detection, visual feedback |
BlobDivide/
├── Assets/
│ ├── Scenes/
│ │ └── TestChamber_01.unity
│ ├── Scripts/
│ │ ├── GameManager.cs
│ │ ├── BlobController.cs
│ │ ├── CameraController.cs
│ │ ├── PushableStone.cs
│ │ ├── PressureButton.cs
│ │ └── ExitDoor.cs
│ ├── Characters/
│ │ ├── Models/
│ │ ├── Materials/
│ │ ├── Textures/
│ │ └── Animations/
│ ├── Prefabs/
│ │ ├── Blob.prefab
│ │ ├── Stone.prefab
│ │ ├── PressureButton.prefab
│ │ └── Gate.prefab
│ ├── Materials/
│ │ ├── BlobMaterial.mat
│ │ ├── FloorMaterial.mat
│ │ └── GateMaterial.mat
│ └── Animations/
│ └── CharacterAnimator.controller
├── Documentation/
│ ├── setup-guide.md
│ ├── level-design-guide.md
│ └── troubleshooting.md
└── README.md
-
Clone the repository
git clone https://github.com/yourusername/blob.git cd blob -
Open in Unity
- Open Unity Hub
- Click "Add" → Select
blobfolder - Open project (Unity will import assets)
-
Open the test scene
- Navigate to
Assets/Scenes/ - Open
Main.unity
- Navigate to
-
Press Play!
- Test character movement with WASD
- Press E to split
- Solve the puzzle
- Merge and complete the level
Navigate through test chambers by splitting yourself into two blobs, solving puzzles that require presence in multiple locations, then merging to reach the exit.
- Start: Spawn as single merged blob
- Split (E): Divide into green and cyan blobs
- Control Both:
- Green blob with WASD + Space
- Cyan blob with Arrows + Right Shift
- Solve Puzzle: Use both blobs simultaneously
- Hold buttons
- Push stones
- Navigate gates
- Merge: Move blobs close together (auto-merge at 3 units)
- Exit: Enter the door as merged blob
Contributions are welcome! Whether it's:
- 🐛 Bug reports
- 💡 Feature suggestions
- 🎨 Art/model contributions
- 📚 Documentation improvements
- 🎮 Level designs
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License.
- Valve — Portal 2 for test chamber design inspiration
- Unity Community — Tutorials and assets
- OpenGameArt — Free assets and character models
Made with ❤️ and Unity