Hello TechLord,
I didn’t use a separate collision for wall-running, the geometry the wall-running system traced on is the same one used for world collision.
The reason I used single collision is just to simplify asset import/export pipeline; the downside of my approach is that if the geometry of the asset is too extreme, I have no way to fake the wall-running result - which may put a lot of heavy lifting work on the calculation side of my wall-running code.
Take the thin-wall test for example, in order to “smooth out” the hard edges of the geometry, I made an update function to interpolate the wall normal traced every tick, just so the rotation of the player character wouldn’t become too abrupt and causes the protagonist to accidentally exit wall-running when encountering sharp corners.
That being said, your approach is perfectly valid, I would even consider choosing the separate collision approach for my second game if there is one. XD
Take care and have a productive weekday! =)