I’d say you’ve never seen real spaghetti code. I once had to clean up some that featured hardcoded values in many places instead of using variables. It’s even better when some of those hardcoded values belong to otherwise unrelated functionality. Even just a simple thing like that can quickly become horribly annoying to clean up. Let’s not even talk about how much of a lesson in futility it is to refactor bad code that someone else wrote. Whole books have been written about the subject, and you want to claim in all honesty that it’s harder to clean up a mess of blueprints? Dragging nodes around, trying to separate them and trying to not have crossed wires? Of course that’s easier, wires will keep connected to the same thing no matter where you drag them. It’s literally just an annoying puzzle game vs. the serious engineering effort that cleaning up code is.
But arguing about any of this is sill so I’ll stop here. I don’t even know why I’m defending blueprints in a thread called “Why C++ for Unreal”. And just for the record, I advocate using both, not one or the other.