Micro modular design (blueprints)

This idea has been growing on me for a long time now.
I want to put everything into tiny components for modularity on the micro level.
One thing could be walk speed component. Add that and all you have to do is select the walk speed from an enum input on a function in that component.
It can also be seen as a float values component.

I imagine components with components.

Why?
I love blueprints that have very few things in them. My character movement stuff for WASD used to be just one function with the execution line and the green pin going in and a bool for F/B true or false.

Function and macro libraries are something I use extensively as well.

1 Like

End of discussion. :sparkling_heart:


One thing could be walk speed component. Add that and all you have to do is select the walk speed from an enum input on a function in that component.

Why bother with a function? Make it smaller / tighter and expose just a variable.

1 Like

not so fast :slight_smile: blueprints that are clean and simple.

I think I need to just do this and show and tell. I attempted to make my own cad system using geometry script. The functions library became massive. Functions inside functions in the same library.

you mean on the component itself?

Judging by this statement, not sure whether having everything compartmentalised sparked joy. Seems like you were overwhelmed with overly granular modularity. Am I reading it right? Or do you mean you want to transition from libraries towards micro components? Could work but you’ll end up with a lot of, ehm, micro management. Again. :innocent:

Shouldn’t it be about striking balance?

you mean on the component itself?

Yes, mimicking the regular behaviour of the native engine components:

image

1 Like

Yes, exactly that. I only brought up the movement stuff because it is straight forward. I mean for EVERYTHING :slight_smile:
I made this macro for selecting weapons with the scroll wheel, 1-5 and when it reached the end, it kept going, i.e from 5 to 1 or from 1 to 5.
That thing is useful for any sort of scroll wheel selections. If my memory is correct, I had an integer range input, so you could essentially scroll through 100 things if need be.

Macro because I put a short delay between scrolls to make it intuitive in steps.

That macro would, according to this idea, be put on f.x. a weapons selection “component.”

Not sure what kind of system I’d need to work with to justify wrapping a single function in an entire component - is that the suggestion? The overhead and added complexity does not seem to add up in my books. With components supporting inheritance, I’d rather use that instead.

A base comp with core functionality and then extend it. Add those highly specialised children to any entity. I’d definitely group the functionality in some logical way, depends on what’s at hand, ofc. You could use it in tandem with a library, too.

But you do you, of course. You might be reinventing or over-engineering the wheel, or making something that works better for your scenario.

This is still difficult to explain. I can see this visually in my head, or “sense” it.

I got stuck on creating a manufacturing line demonstration a while ago, for an invention and it required these tiny parts to do their thing and then the level above that, was also a part of another grouping and so forth. It has to be interactive and not just an animation to calculate power usage vs. output and more. Logistics is a messy topic.

That is another discussion, but until I proceed with that, I need to figure out a way to make these micro modular systems and connect them. Some of the parts use the same things, but they don’t all use all of the same things.