Plugin Development Workflows - Hot Reload/Editor Startup Times?


We’re trying to develop and share core functionality between multiple projects, and so far plugins look like a good option for that.

I’m curious what workflows others use for developing Plugins.

I’m using the manual “Recompile” button from the Window/Developer Tools/Modules window. (I’m aware that automatic Hot Reloading doesn’t happen with plugins, but figured I should put it in the title for searchability.)

I’ve already noticed some issues with manual reloading this way when working with plugins. If I have made any schema (UPROPERTY) changes to a C++ class that serves as a Blueprint base class, it seems like all defaults for all properties are wiped until the asset in question is reloaded, either manually (right-click->Asset Actions/Reload) or by restarting Unreal.

It sounds like this issue existed generally in 4.21, but was fixed in some cases. (Unreal Engine Issues and Bug Tracker (UE-52220))

So, for now, my workflow is:

  1. Save all assets.
  2. Make code changes.
  3. Press Compile button next to the plugin in the Window->Developer->Modules window.
  4. If I have made any schema (UPROPERTY) changes to a C++ class that serves as a Blueprint base class, and I want to see changes reflected, I’ll reimport any assets I’m working with - either using “Asset Actions/Reload” or by restarting the editor. (If I’m jumping into PIE mode, I’ll probably restart just to ensure everything gets reloaded.)

Right now restarts of Unreal are fairly quick, so restarting isn’t a major issue, but I imagine it could get very cumbersome if it takes anymore than a few seconds down the line.

Does anyone have any suggestions to streamline this workflow, or a workflow worth sharing?

Also, I’m assuming start up times for the editor will increase as a project grows in size - anyone have any potential pitfalls to avoid?

Thank you!