Ryan.DowlingSoka

Technical Art Engineer @ Odyssey Interactive

2023-07-12

@hq oh interesting! my current workflow is to do the build then discard the binaries to ensure it builds for each platform. Ie: after making a change i use the package plugin option the editor provides but for each engine version i support 5.0, 5.1, 5.2 and done 'strictly' so i dont get errors from no pch etc. I guess here if i did redistributable first then did marketplace that would be about the same result.

2023-07-12

@hq neat! can you have it do both at once avoiding an extra rebuild?

2023-07-12

@RYStorm nahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

2023-07-12

@hq this looks super sweet. Can you trigger plugin builds for redistributable and marketplace?

For some plugins i like to make a redistributable version for github storage and a marketplace version for submitting.

2023-07-12

@sbseltzer whats the temp variable look like? I havent encountered that. Functions can have local variables, and macros can assign variables like how these cache macros work. I am computerless atm, but couldnt find anything about the Temp Variable nodes on google.

2023-07-12

@sbseltzer might be equivalent. I wasnt aware of the temp var, so these might predate those.

Ryan.DowlingSoka boosted:
2023-07-12

@sbseltzer for ref there are some good blogs about the pitfalls of pure (usually loop related) that are always worth re-reading occasionally.

raharuu.github.io/unreal/bluep

A bit more technical, since the specifics of how pure nodes are evaluated is actually tied to impure nodes, not output connections exactly.
medium.com/advanced-blueprint-

And my favorite, which is purely focused on the pitfalls:
celdevs.com/unreal-engine-and-

2023-07-12

@sbseltzer for ref there are some good blogs about the pitfalls of pure (usually loop related) that are always worth re-reading occasionally.

raharuu.github.io/unreal/bluep

A bit more technical, since the specifics of how pure nodes are evaluated is actually tied to impure nodes, not output connections exactly.
medium.com/advanced-blueprint-

And my favorite, which is purely focused on the pitfalls:
celdevs.com/unreal-engine-and-

Ryan.DowlingSoka boosted:
Sam Seltzer-Johnstonsbseltzer@peoplemaking.games
2023-07-12

#UnrealTips: Toggle Node Purity! Gets and Casts have both pure and impure forms. Right click the node and you'll see an option for it.

Stop using IsValid where possible. Convert get nodes to impure get nodes if you need to branch on their validity.

Need to check if something can be casted as a bool? Or maybe you don't care if the cast fails? Convert it to a pure cast node!

Performance Note: Impure nodes get re-evaluated for each exec node input pin that depends upon them, so if the outputs of the pure node are relatively expensive (such as casting or non-trivial functions) and getting reused a lot in the same execution chain, consider using a macro to explicitly cache it (I've added an image), or just stick with the impure cast.

I'm not saying you should always change node purity, but doing so can make your graphs a lot more readable!

(and don't forget to boost if you want others to see this!)

#GameDev #UnrealDev #Blueprint #UE #UnrealEngine #UE4 #UE5 #UnrealEngine4 #UnrealEngine5

Drop down menu on a cast node highlighting the "Convert to pure cast" optionDrop down menu for a get node highlighting the "Convert to Validated Get" option.Screenshot of an impure get node and a pure cast nodeA useful macro for caching a local temp variable if you need to optimize the use of a pure node.
2023-07-12

@sbseltzer i think your not covers it all and it's a good tip in general, especially the validated get. :)

2023-07-12

@sbseltzer for sure. I'm not of the opinion casts are that bad outside of the hard ref to their dependencies, but the pure nodes in general are the stickler. Especially when loops get involved, it's less that it is an issue and more that a user may not expect what is going on.

I do see lots of examples where a person will pull off a pure nodes to be used in multiple checks, where a cached one would be better.

2023-07-12

@RYStorm i'd also accept Diamond

2023-07-12

@nitrobrew my other favorite is simlish or pyre style. Fantasy made up language.

2023-07-12

@sinbad you might be able to have your startup blutility set the run under one process by using one of the editor subsystems, but checking the api i couldn't find one. Vaguely sure you can. Definitely could with python by writing the config file. Also definitely could with a bit if cpp, either in the editor engine startup, or with a bp function library you call from your blutility.

2023-07-12

@sbseltzer
The pure cast one is good, but as a reminder pure nodes are evaluated for each output connection. While the results of impure nodes are cached automatically and only evaluate once. So if you use that bool in a lot of places you are doing a lot of unnecesary work. Better to use the impure version or cache the result most of the time.

It's an easy gotcha, but as long as you are aware of it there isn't anything wrong with the pure cast.

Ryan.DowlingSoka boosted:
Alexander Cobleighcblgh@merveilles.town
2023-07-12

I'm SUPER excited to announce the launch of Rad Reader! 🤩

A calm tool (OSX, Linux & Windows; 6MB & Electron-free!) for reading and following RSS feeds. I've been working on this for the past months during spare time and it's my first journey in making something polished enough to sell!

To celebrate its launch the price is reduced to 4.95 USD (34% off) for the rest of the week! If that feels like a lot, please try the free demo!!

Boosts very much appreciated!

📚 👉 cblgh.itch.io/rad-reader

screenshot shows the application Rad Reader in two of its 10+ themes. the left pane has a darker theme with gold highlights. the right pane has a lighter theme featuring a wheat-coloured background, red-tinted links, and purple titles. the panes are set on a background drawn by swedish artist kilian eng
2023-07-12

@TomF @ataylor ue suffers from the precision problem too, but dynamically varied speed in shaders is a constantly fallen into trap by inexperienced (and experienced tbh) tech artists. It's just so easy to make an material with an exposed speed slider that looks good at a bunch of different speeds and then wonder why when you try to blend them it turns to chaos.

2023-07-12

@ataylor fun story, i encounter this kind of bug constantly in wind animation, in fact just recently in the ue5 pcg demo. The megascans simple wind function suffers from this exact issue. It isn't super noticeable, but the wiggle animation the leaves do has a varying gust noise which is piped into a wiggle speed.

Luckily for them the animation distance is quite small so it almost ends up working. As wind speed changes the grass jitters very fast which acts a bit like how it does in real life.

2023-07-10

Jesus Christ, the intro to Friends at The Table Palisade 10: The Wheels Turning Pt. 1 is absolutely amazing, love a dj host like character mocking a galactic empire in prose. Mixed with the soundtrack i got chills. #friendsatthetable

pca.st/episode/0ee94717-e169-4

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst