See "microstepping controllers" where they're presenting a digital control (steps) to varying levels of holding current in the actual motor. AFAIK its the trick that enabled 3d printing without position sensing.
Microstepping is adding virtual half-steps (or even further) to stepper motors. It "merely" enhances resolution and vibration characteristics of the motor. Microstepping itself is not strictly necessary for 3D printing without position feedback