Tutorials for building modular BP components?

I’m having trouble finding any good starting ground for creating Actor/Scene-Components.

All I have found is this Unreal Engine youtube video with Zak quickly explaining what components are:

A system of modular BP components are exactly what I want to do, and how I want to structure everything I do (so I can easily build games).
But as I said, I have no idea how to start.

Some examples on top of my head:

  • Components that handles different camera angles (FirstPerson, ThirdPerson, TopDown, etc)
  • Components that handles movement configurations (FirstPerson, SideScroller, etc)
  • Components that handles different mouse/gamepad aiming configurations
  • Components that can draw different UI widgets
  • Components to handle Input actions, e.g: different components for how to handle Jump action

(I didn’t know where to post this, Mods: feel free to move this thread where it belongs)

All that you will want to do, you’ll have to create yourself, or hope someone out there (via Google) has done something close enough you can clone, and then improve upon.

I would suggest starting to read every documentation on anything you want from the official docs then move onto Youtube and the community.

Character Movement:
Aiming: That’s something you’ll want to make yourself, but this is a starting point:
UI Widgets:
Input actions:

All I did was Google the information and added UE4 to it, and the official docs came up, and plenty of Youtube videos.

Hope that helps.

Hi, I have basic knowledge of UE4, those you linked I have learned through EPIC’s examples (but always nice to read what things mean).

I’m more wondering how to make components know what they should do.

Movement example:
If a character (or pawn) moves forward on the X vector, how can I use the component to move the character?
Because in a Character BP you can get the MoveForward event and add movement inputs and such and the character moves forward that way.

Anyway, from the Character BP, do I hook up MoveForward event to the component directly and pass the scale value through some parameter or whatnot, and let the component do stuff with that scale value?
That’s the part I’m most confused about, how does the component something has fired (e.g: character move forward).

I’m gonna play around with components more when I get home later today. Thanks btw!

What gives the character class it’s ability to walk around easily with just a few functions is the character movement component. Since components can’t really know for sure that the class they are assigned to will always have a certain the component you are referencing. You would basically have to either pass a movement component reference to your “controls” component so that it can access its functions.

Doing things this way is a bit more frustrating due to the more limited scope of a component vs just doing it in the event graph. You will probably have a better time not fighting it and doing some things directly in your class.

I get the feeling you are trying to replicate unity’s system. In Unity it is more like an object owns the script, in ue4 it is more like the scripts owns the objects.

If you do find something on this very subject, please let us know where to find it.

I have thought about a system like this for quite awhile, using the Hover Component tutorial. While it seems like a great idea, and actually does work rather well, it was the communications between the components that was causing me issues.