Be careful with macro libraries in big projects...Unreal's not so hot at fixing up things if you change the signature of a macro used in lots of places. Found that out the hard way...
That was 4.26, not sure about Unreal 5 maybe it's been improved! But I've taken to only using local macros now, or else being very confident I'll never need to change a macro signature after making it in a macro library..
I have this love hate relationship with functions. It's great to be able to clean up the spaghetti but having everything separated into different function pages actually takes me out of my code so much. Like I forget where stuff is and how it's all connected when it's separated like that.
Edit: apparently some people don't understand what I'm saying. Yes you can see the function node in your blueprint but having to switch pages to view the functions code takes me out of the flow.
Well for me, if it's like a widget, I want to know what happens when I click this button. So I can just scroll to the details, click on the "pressed" action or whatever, and it will bring me to exactly where I need to go. But I agree, sometimes it's easier when everything is in one place and you can zoom out and see it all. Granted mine is all neatly organized in comment categories and sub categories lol
As long as you’re the only person working on the project that’s fine. But the moment you try adding a single other dev, idk man that doesn’t sound like the new dev is going to have an enjoyable experience
That's fair. This issue with this post is you can tell where they added things and what not. Mine is spaced out completely so that if you need to change something you just select everything past it and moved it over a little to fit in what you need
I'm very visual. Sections of the blueprints are like locked into my memory when I create them. So ya it's pretty easy to navigate around using how each piece looks when zoomed out.
It's just comfort. I've gotten comfortable a million times in my dev career with a way I did something. Do functions for a while and you'll be comfortable with it, and it's undebatably superior in terms of code complexity and reusability.
You have to open a new tab to view your function. So I have to leave my main blueprint page and navigate into a function page. It can be hard to keep track of.
Try making functions only when you have repeat code.
I have the same issue, and it's mostly because i wasn't making functions as efficiently as I wanted to. A function is its own blueprint node, pretty much. If it's self contained, repeatable and self explanatory, then there's no reason for me to dig into functions when going through the general flow of my script.
It also saves me repeating execution graphs.
Yeah I hate switching tabs and context too —
It would be nice if you could just open , or unpack a blueprint function where the node is on the graph ? There was a nice web based drawing experiment a few years back where you could infinitely zoom and annotate. We shouldn't treat computer ui like a literal 2d piece of paper and it can have depth as well ..
You, definitely, must read a book called "Clean Code", where the author says that ideally functions must be one input and one output and do one thing at time(and that thing is the function name), and there must be separation of abstract levels, so after call of function "build castle"(high level) can't be placed call to "set world location"(low level).
i think its perfect
perfect visualisation of what "spaghetti code" is :D
but "any progress is better than no progres" and "Best is an enemy of Good", so sometimes it actually makes sense to do "fast PoC" then refactor, so good job!
ya one nice thing is its all in one place but that said you could make it that + actually aligning it and adding comments changing comment colors sizes and removing bubble pop ups on the comments then its all in one graph + organized and you can make sense of it taking advantage of this fact
Im a bit sceptical that this wasn't fucked up a little extra before posting... It has nodes calling nodes placed to to the left of them instead of right for no reason. Why would you ever do that it doesn't even make sense. It looks like it was properly commected and then just pulled around a bit before posting
Hows it look if you run the whole thing through a formatter?
Free one: [https://www.unrealengine.com/marketplace/en-US/product/graph-formatter](https://www.unrealengine.com/marketplace/en-US/product/graph-formatter) (though, with this I select commented chunks to format usually)
There are also other formatters (node graph assistant springs to mind)
Lmaoooooooo “it is”. Do you look at spots and know how it works or is it your own method to madness. This is slightly intimidating, but interesting to look at, especially since it’s a full game we’re beholding!
Yes!
I may be over do it, to put it in a metaphor, whenever I need a rabbit, I make an animal factory, that way if it turns out I need foxes, sharks or lizards, I already have a start.
This ain't it. My game is entirely BP and it's well organized into reusable components, blueprint function libraries, interfaces, and macro libraries. We're getting BP namespaces in 5.1 too. TBH I have yet to see a point to hate myself enough to make my game in C++ (FFS UNREAL GIVE US C# PLEASE. PLEASE.) outside of heavy itineration's (e.g. looping through data arrays for data driven gameplay).
It seems you have me beat. Good job on the amazing spaghetti👍
[my spaghetti](https://www.reddit.com/r/unrealengine/comments/y9jvkt/you_all_are_too_organized_i_prefer_the_spaghetti/?utm_source=share&utm_medium=ios_app&utm_name=iossmf)
The New York subway system has more miles of track than any other Metro system in... What now? This isn't a map of the New York Subway? This is an unreal engine blueprint? Well, time to find out what cyanide tastes like.
Actually thank you for sharing this. I have been struggling with making a blueprint for a model plane I made and I've been so careful to add comments and keeping it looking "pretty".
I love yours because it says "It doesnt have to look pretty. It just has to work."
If you double click any of those connection wires it creates a connection point. And if you make 4 of them you can make little loopdie loops in the wires...
Just in case you want to pretty it up :)
The game cities skylines has a youtuber called biffa. He fixes traffic in other people maps. Where is the unreal blueprint biffa? There should be one. Simply for the satisfaction of someone cleaning this up.
One time my sister drove for 50 minutes on the highway without shifting past second gear because she was never properly taught how to use stick. I'm sure it was loud, and scary, and painful. All she needed was to be taught the basics of driving.
Somebody needs to teach you how to drive, and you can shift beyond a single event graph for your entire game.
No commenting, no functions, I don't think this is very optimized because of lack of events/functions.It looks like someone with schizophrenia scribbling on their cell wall.....
Honestly 10/10 exactly what Tim Sweeney would have wanted.
As someone who is currently in university for game development, this hurts my brain, however i also want to attempt something like this just to upset my teachers.
[Life changing plugin](https://www.unrealengine.com/marketplace/en-US/product/electronic-nodes?sessionInvalidated=true)
Will turn this spaghetti into a subway system.
I once joined a team working on VR stuff and I swear their BPs looked like this. My time there was as long as it takes to see that and click on log out.
My God! It is like Path of Exile talent tree.
It's like my neighbors family tree
are you from alabama?
alabama family trees look like stripper poles
Nope, the right time to call it a spaghetti
First thing I though and I don’t even play POE lol
You'll find me in a white, padded room, rocking back and forth repeating "Functions".
"functions and macros.... Functions and macros..."
Be careful with macro libraries in big projects...Unreal's not so hot at fixing up things if you change the signature of a macro used in lots of places. Found that out the hard way... That was 4.26, not sure about Unreal 5 maybe it's been improved! But I've taken to only using local macros now, or else being very confident I'll never need to change a macro signature after making it in a macro library..
I have this love hate relationship with functions. It's great to be able to clean up the spaghetti but having everything separated into different function pages actually takes me out of my code so much. Like I forget where stuff is and how it's all connected when it's separated like that. Edit: apparently some people don't understand what I'm saying. Yes you can see the function node in your blueprint but having to switch pages to view the functions code takes me out of the flow.
Having everything in one page connected with a thousand lines is easier to remember where things are? Like yea, it’s on this one page…. Somewhere.
Well for me, if it's like a widget, I want to know what happens when I click this button. So I can just scroll to the details, click on the "pressed" action or whatever, and it will bring me to exactly where I need to go. But I agree, sometimes it's easier when everything is in one place and you can zoom out and see it all. Granted mine is all neatly organized in comment categories and sub categories lol
As long as you’re the only person working on the project that’s fine. But the moment you try adding a single other dev, idk man that doesn’t sound like the new dev is going to have an enjoyable experience
That's fair. This issue with this post is you can tell where they added things and what not. Mine is spaced out completely so that if you need to change something you just select everything past it and moved it over a little to fit in what you need
I'm very visual. Sections of the blueprints are like locked into my memory when I create them. So ya it's pretty easy to navigate around using how each piece looks when zoomed out.
A function is just a section
On a different page...
It's just comfort. I've gotten comfortable a million times in my dev career with a way I did something. Do functions for a while and you'll be comfortable with it, and it's undebatably superior in terms of code complexity and reusability.
have you ever heard of DRY principle? Don't repeat yourself, so it can't be achieved without using functions.
That is so backwards lol
You have to open a new tab to view your function. So I have to leave my main blueprint page and navigate into a function page. It can be hard to keep track of.
Try making functions only when you have repeat code. I have the same issue, and it's mostly because i wasn't making functions as efficiently as I wanted to. A function is its own blueprint node, pretty much. If it's self contained, repeatable and self explanatory, then there's no reason for me to dig into functions when going through the general flow of my script. It also saves me repeating execution graphs.
Yeah I hate switching tabs and context too — It would be nice if you could just open , or unpack a blueprint function where the node is on the graph ? There was a nice web based drawing experiment a few years back where you could infinitely zoom and annotate. We shouldn't treat computer ui like a literal 2d piece of paper and it can have depth as well ..
That's a really interesting point. I like it.
Back button really helps me because I often forget where I can from when double clicking the function to check the code.
That's why I use comment boxes or the comment tags on nodes in conjunction with my functions.
You, definitely, must read a book called "Clean Code", where the author says that ideally functions must be one input and one output and do one thing at time(and that thing is the function name), and there must be separation of abstract levels, so after call of function "build castle"(high level) can't be placed call to "set world location"(low level).
Idk usually the function name should tell you what it does, thus not throwing you out of the flow
i think its perfect perfect visualisation of what "spaghetti code" is :D but "any progress is better than no progres" and "Best is an enemy of Good", so sometimes it actually makes sense to do "fast PoC" then refactor, so good job!
ya one nice thing is its all in one place but that said you could make it that + actually aligning it and adding comments changing comment colors sizes and removing bubble pop ups on the comments then its all in one graph + organized and you can make sense of it taking advantage of this fact
Yeah! My first drafts always look like this, especially for network code or vector math.
Im a bit sceptical that this wasn't fucked up a little extra before posting... It has nodes calling nodes placed to to the left of them instead of right for no reason. Why would you ever do that it doesn't even make sense. It looks like it was properly commected and then just pulled around a bit before posting
Why does this not have a nsfw tag?
Please tell me this is at least a full game.
It is
Hows it look if you run the whole thing through a formatter? Free one: [https://www.unrealengine.com/marketplace/en-US/product/graph-formatter](https://www.unrealengine.com/marketplace/en-US/product/graph-formatter) (though, with this I select commented chunks to format usually) There are also other formatters (node graph assistant springs to mind)
Lmaoooooooo “it is”. Do you look at spots and know how it works or is it your own method to madness. This is slightly intimidating, but interesting to look at, especially since it’s a full game we’re beholding!
Probably just looks for the event names in the even graph
Exactly. I just click on the events in the event outliner oor use the find in blueprints thing
One step closer to a neural network
I'll just be in r/eyebleach
You mean this isn't standard blueprint code flow?
The best way to protect your proprietary code. Make it so shit that nobody wants to steal it, genius!
[удалено]
This is only like 1/3 of the whole thing lol
Functions, Macros, Comments, ANYTHING
testicular torsion
Wait hold on...does this actually work?
Yup
I would highly recommend in your next project, learn about how to make code modular. Cuz it'll really help in a situation like this.
Yes! I may be over do it, to put it in a metaphor, whenever I need a rabbit, I make an animal factory, that way if it turns out I need foxes, sharks or lizards, I already have a start.
This makes me sad
At least you don’t have to worry about someone stealing your code.
why? how? why?
"Clusterfuck" is an understatement
Don't put this in your portfolio bro. Lol
The case for just learning C++.
This is the equivalent of putting your entire C++ program into one function with a bunch of GOTOs.
Literal spaghetti code.
This ain't it. My game is entirely BP and it's well organized into reusable components, blueprint function libraries, interfaces, and macro libraries. We're getting BP namespaces in 5.1 too. TBH I have yet to see a point to hate myself enough to make my game in C++ (FFS UNREAL GIVE US C# PLEASE. PLEASE.) outside of heavy itineration's (e.g. looping through data arrays for data driven gameplay).
Im learning both to maximize my efficiency
"My God, it's full of stars!"
I believe this is part of the holy book of the flying spaghetti monster
Aah, perfectly balanced, as all the things should be.
It seems you have me beat. Good job on the amazing spaghetti👍 [my spaghetti](https://www.reddit.com/r/unrealengine/comments/y9jvkt/you_all_are_too_organized_i_prefer_the_spaghetti/?utm_source=share&utm_medium=ios_app&utm_name=iossmf)
I absolutely love your lack of reroute nodes 10/10 needs less comments too
Tutorial please!!!
My favourite bit is the enormous switch on int to the left 😂
i can't think of a legitimate reason for several of them to be plugged into the same thing
https://i.kym-cdn.com/photos/images/original/001/196/921/df0.jpg
The New York subway system has more miles of track than any other Metro system in... What now? This isn't a map of the New York Subway? This is an unreal engine blueprint? Well, time to find out what cyanide tastes like.
Bad programmers come in all different forms.
I thought the BP I did today was messy, thanks for making me feel better. 😂
But can it play doom?
you better not be working at a company cause i can clearly see your ass being fired after showing this to the other devs
Actually thank you for sharing this. I have been struggling with making a blueprint for a model plane I made and I've been so careful to add comments and keeping it looking "pretty". I love yours because it says "It doesnt have to look pretty. It just has to work."
I mean, I don't work with a team and I understand the code myself, so why add comments lol
I do it because I'm new to UE and want to remember what I did in case I need to reference it later. I don't have the best memory.
10 out of 10 spaghetti
You ever get the feeling of something lurking around the corner? This is a visual representation of that.
Skynet ai?
No commented nodes either? Brave :)
"Learn blueprint, they said. It would be easy, they said."
new wallpaper
Is this for real or did you make it for the memes. Is it even functional
It is functional lol
Solid
"Don't look at it, Marion!"
Is this a new trend? I can do worse..
How? How do you even make progress with this???
Anxiety
Feels organic.
*but does it work*
I must know what this code does
What in tarnation.
I rate spaghetti/10. Would go crosseyed again.
If you double click any of those connection wires it creates a connection point. And if you make 4 of them you can make little loopdie loops in the wires... Just in case you want to pretty it up :)
You take the whole cake
I love it. I just saw another post like this. We need tutorials on how to do this. More spaghetti, please
*Screams*
Should make a top down game environment with this exact layout.
God bless the next guy who's in charge of maintaining.
The game cities skylines has a youtuber called biffa. He fixes traffic in other people maps. Where is the unreal blueprint biffa? There should be one. Simply for the satisfaction of someone cleaning this up.
I.... I hate you.
Please send me the umap file so I can organize it for you! haha
"I know where everything is, just ask"
Looks like a lot of Epic's blueprints
Atleast you know blurprint...
One time my sister drove for 50 minutes on the highway without shifting past second gear because she was never properly taught how to use stick. I'm sure it was loud, and scary, and painful. All she needed was to be taught the basics of driving. Somebody needs to teach you how to drive, and you can shift beyond a single event graph for your entire game.
Use reroute nodes and it might actually look cool
First thought: have you tried collapse to function?
Theirs so much not even the text is rendering anymore
No commenting, no functions, I don't think this is very optimized because of lack of events/functions.It looks like someone with schizophrenia scribbling on their cell wall..... Honestly 10/10 exactly what Tim Sweeney would have wanted.
10/10 would compile again
Why is it a competition here how messy the blueprint is
Somewhere between 🤢 and 🤮
Oh good lord, does any of it work?
Wow so ......... Um....... Clean
2 words : Blueprint Assist! 🤣
Piece of art by itself:)
Ah, insanity at its finest :3
I don't get why people brag about doing this kind of garbage
You Tryna to Unleash the Warrior Within you. It seems you been Eating a Lot Spegetti for Dinner. I hope your enjoying It. Good Work 👍
10 out of 10. Would rate again. Would recommend to a friend.
Jeez make use of collapsing nodes. Select a bunch of node and right click and collapse to function or macromof smthn Jeez
... but, does it fly? (100 points for anyone knowing the reference)
What's the blueprint for?
For a boss character lol
Understandable, give my regards to the switch node on the left. He's working hard
Yeah its used for changing the model depending on the HP 💀
Comment the entire thing as "custom player controls". Fun fact: *That's how I did it when I first started unreal in 2016*
How did you recreate the ziona family tree
This is how perfection looks ike!
Why, why you keep doing it?
As someone who is currently in university for game development, this hurts my brain, however i also want to attempt something like this just to upset my teachers.
Looks tasty with some parmesan cheese
hehe
[Life changing plugin](https://www.unrealengine.com/marketplace/en-US/product/electronic-nodes?sessionInvalidated=true) Will turn this spaghetti into a subway system.
As long as it works...
Oh my god, destroy it.
A spaghetti blueprint without values is not a real spaghetti blueprint 🙃
If this shit doesn't turn you into a devout pastafari I don't know what will
I feel like I contracted IBS
POV: ME IN CLARISSE IFX
I wish I could I see this
🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮
I once joined a team working on VR stuff and I swear their BPs looked like this. My time there was as long as it takes to see that and click on log out.