No announcement yet.

Questions about the plugin tutorial.

  • Filter
  • Time
  • Show
Clear All
new posts

    Questions about the plugin tutorial.


    I am reading Bob_Gneu's plugin tutorial, which can be found here:
    As I read it, I get stumped every so often. I probably, admittedly, do not have enough background knowledge for it. I thought knowing most of C++ would be enough.

    I expect you to have, at the very least, a more than cursory level of knowledge about C++, and the UE4 Build System
    Yes, I saw that- so I looked over an introductory page to the UE4 build system. As with most things I read regarding programming, there was a lot more mindless absorption and re-reading than actually understanding- with terms like "generate dynamically" that I could only make pseudoscience-like inferences about.

    As I write this out, I'm really considering maybe going back and reading the more complex areas of the original C++ tutorial I started off at. Still, however, I figure it can't hurt to ask about the few misunderstandings I've had with the tutorial.


    Click image for larger version

Name:	eb2e61e840.png
Views:	1
Size:	39.0 KB
ID:	1186388
    The paragraph states that we should create a 'Classes' directory, and that there is no need for a Public one. But I see no Classes directory but instead a Public one. The explanation for why we don't need a public folder also jipped me: "there is no public API to your plugin to be providing". Does this mean, for example, that we'd include some kind of Unreal Engine API in the plugin? I just don't really understand what "public API to your plugin to be providing" means.



    Click image for larger version

Name:	7ce40711f8.png
Views:	1
Size:	5.5 KB
ID:	1186389
    What is this? What does Archive Manifest mean? Why are these things specifically in the list- is this trying to tell me something or..



    What is the difference between non-game module and standalone plugin? Here's the description for each:

    Non-Game Module - Extension or Creation of a set of code that exposes an interface to internal code, allowing other modules and game modules to depend upon its functionality.
    Stand Alone Plugin - Extension or Creation of a set of code that does not allow exterior modules to modify its contents.

    For a stand alone plugin- okay, I get it, you can't modify the contents of the module but couldn't you still use some of the defined methods? That is to say.. depend on it's functionality, just like with the non-game module?


    There are a few more things I have to learn about this but I'll handle those hopefully with some more C++ guides and visual studio practice in general.
    I know that this might look pitiful, maybe even laughable to some of the higher level devs, but yeah.
    Last edited by Sheeplie; 06-20-2016, 02:13 PM.

    The tutorial is very old. There's some good information in it, but a lot is outdated too.

    1. Just use Public/Private directories, the Classes directory is a legacy thing.
    The API thing is probably referring to the fact that plugins are generally supposed to implement an existing API rather than expose a new one. That's the usual meaning of the term anyway - that no other code should have a hard dependency on a plugin. See this awesome answer here.
    Having said that, UE4's idea of plugins seems to be a little less certain, and they don't prevent you using a UE4 'plugin' as a library.

    2. Dunno, but you need a .uplugin file, and you can optionally include a content directory and plugin icon along with your code.

    3. Sounds like what I was referring to in 1, but I'm not really sure what he's saying there. The terms 'Non-Game Module' and 'Stand Alone Plugin' do not refer to anything within the UE4 plugin system as far as I'm aware.

    To be honest I'd stay away from that tutorial if I was you. It was really helpful a couple of years back but now it's too outdated. There are heaps of example plugins to look at and learn from. These for example are mostly written by Epic devs.


      Alright, thanks so much!