How do I make a Plugin?

Hi everyone. My question is: How do I make a Plugin in Unreal Engine, I don’t want to make programmed functions in C++ and then be able to call them from blueprints… What I wan’t to do is more complex. I wan’t to make a window you can open, or a different file type, where you can create a character movement by playing with sliders and other tools to make the specific character movement you want (I’m trying to do a more complex character movement than the built in Character Parent class). So I can speedup the character movement developing of my videogames and to create multiple character movements pretty fast.
I know it’s possible. Take for example the Control Rig plugin, it’s a different tool in the Modes tab where you can open it and modify, and select parts of your IK animation, and also do other stuff with the rig.

So, the thing I would like to know, is what should I learn in order to do this plugin (of course learn to program in C++) and how should I start making this plugin, also I would like to know, if I will have to change the internal coding of Unreal in order to be able to create this “New Tab” I want to do.
Thanks :smiley:

This is a good place to start: A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums (read the red warning box near the start of the page though as the information may be out of date, but the general concepts still stand).

If this is your first time using C++ then I will warn you that plugin creation in Unreal is not that straight forward. I’d suggest you play around with C++ in Unreal first (not as a plugin, just gameplay code) so you get familiar with how UE4 works and it’s object structures etc. From there you can make a small plugin and build up on it.