Are plugins able to append to/overwrite engine source code?

This might sound like an incredibly stupid question but I have barely any experience with Unreal plugins (I have just used Blueprints and normal C++ scripting).

I have an idea for creating a system as a C++ plugin. However, this system would require modifications and additions to the existing engine source code in order to function properly. Are plugins able to add functionality (and modify functionality) to the engine source code or can you only do normal gameplay scripting with plugins? The modifications/additions in question are quite deep. I need to modify and add stuff to the existing rendering pipeline in order for my system to work (like adding custom frustum culling, custom per-object clip planes, modify the rendering of the SceneCapture component etc.).

Is this even possible to do? Am I reaching too far? Is it even legal to sell plugins that require engine source code modifications to function?

Sorry, if this is a dumb question but I have literally no idea about how plugins function or what their limitations are.

Thanks!

You can create your own classes deriving from existing classes in your Plugin. And this allows to extend functionality (add your own functions) and override those functions, that are available for override. The standard C++ inheritance rules apply.

Plugin code is not able to change existing engine source itself - for this, you need to change the code and make your custom engine.

1 Like