Soap Slice

Vira Games · Simulation · 2025

The scatter is scripted, not simulated.

Soap Slice screenshot
Soap Slice screenshot

Context

A cutting game: you slice a bar of soap and the pieces scatter. The producer had a precise reference for how that scatter should behave, and the inside of the bar carries a different texture from the outside.

The hard part was not the scatter — it was making a cut read as a cut

The cut

Soap Slice screenshot

The hardest part was not the scatter but the cut itself. The whole team spent a long time on how sliced soap should read on screen.

Three demands pulled against each other. The inner texture had to hold together: dozens of small cubes had to look like one continuous picture, not a mosaic. The geometry had to stay clean, with cubes even and roughly equal in size. And the number of cubes had to stay inside the frame budget.

Tuning the cutting algorithm was really the search for the point where all three agree. It was a negotiation between art, geometry and the frame, not an optimisation pass.

The knife slipped straight through the pieces

The scatter

Soap Slice screenshot

Real PhysX gave an unpredictable scatter and a poor feel, and a fast knife let pieces slip straight through the blade because the collision was never detected.

I replaced the scatter with a scripted impulse that decays, aimed from where the piece sat on the bar, which put the feel fully under control and on the producer reference.

The knife-to-piece collision became plain maths instead of a collider, which removed the tunnelling without touching the fixed timestep.

On the last layer a large heap of pieces still cost frames, so I tuned the decay until pieces fall asleep almost immediately and switch to kinematic while idle, so a newly arriving piece does not wake the whole pile.

Worth calling out

I built this one end to end — gameplay, menus, progression, shop, skins, tutorial, ads and store builds. These are the parts worth naming.

The cut
  • An editor tool that slices a designer mesh into cubes, so the game designer could re-cut a bar as many times as they wanted without a programmer.
  • The cutting parameters that hold the inner texture together while keeping the piece count affordable.
The feel
  • Scripted scatter tuned against the producer reference, replacing engine physics.
  • Knife-to-piece contact resolved mathematically, so a fast swipe never slips through.
  • A decay-to-idle-to-kinematic path that keeps a full heap of pieces cheap.

More from the game

Soap Slice screenshot 1 of 6
Soap Slice screenshot 2 of 6
Soap Slice screenshot 3 of 6
Soap Slice screenshot 4 of 6
Soap Slice screenshot 5 of 6
Soap Slice screenshot 6 of 6

Project facts

Year
2025
Role
Unity Developer
Team
Three-person pod — game designer, artist, me
Scope
Solo developer, concept to release
Studio
Vira Games
Engine
Unity, C#
Platform
Android · Google Play and Amazon Appstore
Target device
Amazon Fire 7 · 1 GB RAM
Cut
Cut ahead of play — the runtime slicer runs in a separate editor scene, about 600 pieces per bar
Where to see it
Amazon Appstore ↗

Tools & techniques

Mesh Slicer (Unity Asset Store)Editor cutting pipelineCustom impulse modelAnalytic collisionRigidbody sleeping
Davyd Sarnavskyi · Unity Developer Contact Updated August 2026
▶ PlayView CVContact