I’m using Print String node really a lot and it’s quite messy to connect and disconect it hundreds of times. Is it possible to add a Print String node to any variable in blueprint? Just a small check box on variable itself,
or in default properties window. Something like this:
It’s not a big issue, but will save some time and will make a bit cleaner blueprint code.
Thanks.
I don’t see how a macro would help with this in anyway tbh. However, maybe you are not aware, but you can right click on variable pins and select “watch value” to display their current value.
aWinter is also correct in that using “Watch This Value” in the right-click menu should also work for getting debugging information in a similar manner. Let us know if that doesn’t work for you.
May I ask how so? I mean instead of the print string node you have to wire up the macro, isn’t that just as cumbersome? The print string nodes also have checkboxes to enable or disable Printing. Yes, you have to expand that one time per node, but that seems faster to me then having a print macro for every kind of variable. Don’t get me wrong, I have my own advanced print string function I use over the regular one, as it’s easier to setup and displays much more info then a regular print string, but it doesn’t solve the cumbersomeness of wiring them up in the first place.
All your points are true, but the original concept of “print set” and “print get” is just stupid feature to have, because its useless for debugging any real project.
Thank you for the feedback. I have entered a feature request for adding a checkbox to Blueprint variables so they will print to the screen if the checkbox is check (true). You can follow its progress here:
Do not add checkbox to each variable node… That will cause pollution.
Add a checkbox to Blueprint Graph’s class default options to print all its public variables instead; a property iterator in blueprint class would do it.
I think a checkbox to print all public variables might be overkill in many situations, however I agree that there shouldn’t be a checkbox on each variable by default.
Having it on Rightclick just as you add Breakpoints/watch values would be best I think.
The biggest issues are that you only can see it if you have the Instance of that Blueprint in the debugger, also many times the value is not accessible (out of scope).
My take on it using wildcards vars instead of predetermined type
It’s safe, because as soon as you put input into “Variable” it will transform second pin into same type of variable - it’s impossible to put something of another type into it. Also no branching - I will use simple Set node if I don’t want any debug data
Edit: Still want ability to convert any node into “any node + print” like right mouse click - “disable node”. Probably 10-20% of work with blueprints is debugging stuff with prints and “add node -> connect multiple nodes-> remove node -> reconnect multiple nodes” is very time consuming.
If workflow goes smoothly, there is no need in debugging info at all. But then something goes wrong, well, i can spend 100% of time to find the problem. As a sound designer, i’m not very strong in programming and to find a bug it’s good to have all the helping tools available.
I’m sorry but I can’t agree with this, as stated above we don’t need the added clutter or ‘pollution’ o.O
But if you consider how many nodes an actual game made in BPs may have, then imagine trying to find which of these nodes isn’t unchecked within possibly thousands makes me want to say 100% NO!
(even now with commenting Huge Notes on where Print Strings are they can still be hard to find at times to remove or delete)
It won’t be any harder to disable than the current print strings, and nobody would stop you from just not using the new feature and keep relying on the standard Print nodes. However I had thought about this Issue aswell, and the best solution in my Opinion would be an option to disable all Nodeprints at once. My custom Print function has a simple Bool with which I can control this.
Guys, there is an option in settings that allows you to right click on any node and exclude current node from execution without any harm to your code or flow. If printing will be added the same way then there will be exactly zero cluttering. This printing won’t be visible or possible until you explicitly convert the node