Plugin tutorials

[=Marionette;10275]
hehe no, i meant for some of these might be added/merged etc into the wiki for folks that might miss thread :wink:

as far as adding functionality, i agree, we have the source, however it’d be nice to know who’s working on what and how we want to implement it, if it is indeed up to us.

and i wasn’t trying to take potshots at the tutorial you made, i was simply thinking what i, and other nubs to the engine, are probably asking :wink:
[/]

I didn’t take it as pot shots. The issue I was referring to is that of the questions you asked, I had already addressed many of them.

[=Marionette;10275]
EDIT:
•Short discussion on the rendering pipeline and how, when and where it fits into the rendering pipeline. Preferrably with a simple visio type flowchart
•Your plugin does not exactly fit into the rendering pipeline. It is a module, and is treated like all other modules in the game. You can extend or modify the rendering pipeline using a plugin, but you would be sticking yourself into the pipeline at a determined spot.

exactly. do i get a render callback so that i can handle LOD calcs? is something i need to add or is it already in the works? if so, who do i ask? the UE devs?
[/]

You can if you so choose. LOD is already supported in the engine, but if you want to extend it, there shouldn’t be any hurdles related to plugins that you would need to address.

[=Marionette;10275]
the points above are simply things that need to be fleshed out a bit more, was all i was trying to point out. here’s another: once i’m done with a plugin, depending on the type, where does it show up in the editor? that kind of thing. right now, when i try to use the custom mesh component, i can’t add it to a BP, why not?
[/]

Plugins show up in the plugins and modules listings. Your classes will show up in the class listing, where you can select the types of actors you create. If you are adding further functionality to a custom mesh component and want it to show up in the UI, that is something you will need to research further, but is not related to plugin development.

[=Marionette;10275]
i wasn’t asking for you to answer each one as a shopping list. for example, the market place. sure we can sell things. any idea how? or licensing? or the plan for such things? there are bits of info all over the forums etc, some are conjecture some aren’t but As you have a wiki going i simply wanted to suggest a few things. even if we don’t know right now, we can use them as a place holder possibly.
[/]

The marketplace and its details are being worked out by Epic, which has been documented in more than a dozen posts on the forum and answer hub. There will be great fanfare, likely with trupets and bugels and more unity folk joining the ranks when they realize they can sell trivial things. All of the details for the marketplace are likely to be shared with us all when the developers, producers and managers at Epic have decided that it is ready.

How to sell your plugin is not exactly an introductory topic. As money is involved and likely distribution/publishing rights may need to be negotiated with Epic, for me to put that into a wiki would do none of us much good.

[=Marionette;10275]
.
[/]

Dude. I was not intending to be brash, but as I look back on it now… okay fair enough. I understand you and many others are excited about the future of UE4, and likely the future of you being able to make money extending the engine using the marketplace - as we all are. Just keep in mind that if you don’t see something in the documentation it is not likely ironed out. The tutorial is a first steps piece to get you moving and start building tools to help the community if you are interested in that. We all have questions, and as Captain Sweeny has said in a few places - no one has ever tried to do before, so lets hold on to our seats and keep good spirits about where it may lead.

=D

agreed.

however, these are not questions per se, they are things that i think can and will add value to your wiki and tutorial. that was the whole point. not for you to answer for me personally for each item :wink:

some things i felt you covered, some i felt you could go into more detail etc…

i know where the plugins show up in the plugin editor. i know where they go in the folders etc. after i found where the custom mesh component that wrote, was located in the editor, i created a new BP, then tried to add it as a component and the editor would not allow me to do so. so, do ALL plugins show up as components or can they be brushes as well? the point i’m making is that we might consider expanding the tutorials to include a complete walk through, from creation to actual usage in the editor/runtime, so that i can explain to an artist where in the editor he’s supposed to look to find the functionality that i’ve just created and how to add it to a BP etc. these aren’t just questions for me, these are things that should be in the wiki as well imo.

i’m not just looking to sell stuff. i’m also looking to do dynamic/procedural geometry for my own project. custom spherical terrain stuff based on noise etc. now, if the LOD implementation automagically knows how to handle my dynamically created geometry, sweet. if not, then i’ll need to handle it myself, and that requires some way to get that geometry into the editor to make adjustments etc, then it’ll need to render and calc LOD and apply shaders etc. i’d like to do all of without having to touch the engine code too much or at all. i figured since UE4 supported plugins that’s what i was assuming i had to do, write a plugin that handled geometry and LOD. do i have that wrong?

[=Marionette;10433]
i know where the plugins show up in the plugin editor. i know where they go in the folders etc. after i found where the custom mesh component that wrote, was located in the editor, i created a new BP, then tried to add it as a component and the editor would not allow me to do so. so, do ALL plugins show up as components or can they be brushes as well? the point i’m making is that we might consider expanding the tutorials to include a complete walk through, from creation to actual usage in the editor/runtime, so that i can explain to an artist where in the editor he’s supposed to look to find the functionality that i’ve just created and how to add it to a BP etc. these aren’t just questions for me, these are things that should be in the wiki as well imo.
[/]

I think the communication issue is about the nature of a plugin. A plugin does not hold any merit or clout over a standard module, it is only a package that delivers other functionality. From the above it sounds like you would like to have the ability to look at content or actors/objects created in a given package. is a great idea and I suggest you post a feature request on the answer hub so the developers at Epic can find it.

The points I attempted to make were

  1. Your plugin/module and its objects, actors and classes are all exposed via the class browser, and it is likely that content will come in the content browser.
  2. A tutorial, especially an introductory tutorial, should not be delving into all aspects of a given system. When I write tutorials I attempt to expose the most important aspects of a given system with the least amount of mess or confusion. Expanding it to include a section on how to do something that is not related to that original subject matter, or beyond the scope of the work at hand, breaks that goal.
  3. If you are looking for details regarding the rendering pipeline, LOD, Shaders, Procedural geometry or anything else that is a very different subject and not at all related to plugins.

I understand that you want more, that is great. That is what keeps us all moving forward. Deciding where to draw a line for a given tutorial is not easy, but there is already a place where you can post tutorial requests. Keeping tutorials to the point is key to all authorship.

[=Marionette;10433]
i’m not just looking to sell stuff. i’m also looking to do dynamic/procedural geometry for my own project. custom spherical terrain stuff based on noise etc. now, if the LOD implementation automagically knows how to handle my dynamically created geometry, sweet. if not, then i’ll need to handle it myself, and that requires some way to get that geometry into the editor to make adjustments etc, then it’ll need to render and calc LOD and apply shaders etc. i’d like to do all of without having to touch the engine code too much or at all. i figured since UE4 supported plugins that’s what i was assuming i had to do, write a plugin that handled geometry and LOD. do i have that wrong?
[/]

UE includes simplygon which can be used at development time, but i don’t know if that is a tool that can be used to generate lower poly meshes at runtime, nor do i know how feasible the implementation is for real time optimization of high poly meshes. You may want to write a plugin to handle your LOD, but if you arent planning on using it on multiple games/UE projects its not likely to be too beneficial. One option you have to avoid using a plugin is, if you have the noise and generated it at initialization time you can generate multiple meshes of different quality, averaging out patches of the noise for the terrain. is less elegant than a simple call to simplygon or one of its ilk, but it is likely to provide a similar result and doesn’t incur the cost of working on a plugin/module or a call to simplygon. depending on when you are generating your terrain it would likely be better to do it way, where you have an upfront cost to create all meshes you need to use and just swap them out while the game is running.