Undertale background

The Pixel-Perfect Collision System



Have you had enough of Unitale's default rectangular collisions and having to use thousands of lines of if statements in OnHit just to get precise collisions? Then the Pixel-Perfect Collision System is for YOU!

You can use this system for your entire encounter with SetPPCollision(bool), or you can apply it just to a bullet with bullet.ppcollision. The bullet's ppcollision value will override the encounter's ppcollision value.

The Pixel-Perfect Collision System now supports bullets with scale! You can rotate and move bullets like always and collision will still work! (this is why it took me one week to make this feature)

One last tip: The Pixel-Perfect Collision System is more resource-intensive than the Normal Collision System. Don't use Pixel-Perfect for bullets that won't damage you, as that will just waste resources!




Note: PPCollision does NOT affect the hitboxes shown when pressing H with the debugger open.



SetPPCollision( bool) [E/M/W] Call this to set the encounter's default collision system.

Enter false for the regular "Unitale" system, or true for PPCollision.

* Calling this will force all bullets with Bullet.ppchanged as false to use the collision system you enter here (see above).

Bullet.ppchanged will remain false.


The initial value is false.


From Projectile management:


Bullet.ppcollision If this is true, the bullet will use the Pixel-Perfect Collision system.

By default, this is the encounter's default collision system.

* Manually setting this will set Bullet.ppchanged to true.


Bullet.ppchanged (read-only) Tells you if the bullet's collision system has been changed by manually changing Bullet.ppcollision.

* Bullets with Bullet.ppchanged set to true will NOT be affected by future calls of
SetPPCollision.


Will be false after you call Bullet.ResetCollisionSystem(), or if you haven't changed Bullet.ppcollision.


Bullet.ResetCollisionSystem() Resets the collision system of the bullet to the encounter's default collision system.

The default collision system is set by SetPPCollision.

* YOU WON!
* You earned 0 EXP and 0 gold.
* also the nav menu is broken now


Undertale fake button
Undertale fake button
Undertale fake button
Undertale fake button