Overlays Question


#1

If I want to share code among any projects I create, I have to make sure the code is in:
SkookumScript/Scripts/MyAwesomeReusableCode

of course, it needs to have the correct folder directories as well… Object/… etc

Correct?


#2

Right - you keep the shared code in its own overlay named MyAwesomeReusableCode. Edit the Skookum-project.ini file to reflect the newly added overlay. If you re-use it across projects you probably want to place it right between Engine and Project-Generated-BP (so higher than engine functionality but lower than project functionality).

You can keep the files in just one project and link from other projects to it, or keep it in each project and set up a branch in your revision control that allows you to merge across.

You should not have to create files or folders in it, as the IDE will create those automagically once you add routines to that overlay.


#3

Here is some extra info on overlays in case you missed it:


#4

I’m having problems getting this to work.

I need a Overlay where i can put in all my old blueprint helpers/macros, those are still project specific. I just want a place where i can put all my global stuff. I also hope that in the future i can easily select this overlay to find my helpers via the IDE.

So i changed the Skookum-project.ini to this, expecting to-be able to place functions inside a Project\Utils folder.

Overlay8=Project|Project
Overlay9=Utils|Project\Utils

Now i get the error:

Path for overlay Utils not found (D:\Epic Games\UE_4.16\Engine\Plugins\Marketplace\SkookumScript\Scripts\Project\Utils\)!

Now i’m also confused why the overlay location is in the Plugins\Marketplace folder and not in the root folder of my project, similar to the Project\Object folder?

If i manually add a Project\Utils folder inside Plugins\Marketplace\SkookumScript than the IDE complains that Overlay9 does not match between Skookum-project.ini and Skookum-project-defaul.ini?

So now i’m confused how to add a project specific overlay at all?

thx
Andy

PS: As a bonus bug, if i try to copy the error message via right click from the Errors pane, it directly opens the explorer, without being able to select the “Copy” field. I also cant use ctrl-c to copy the message.


#5

When you specify Overlay9=Utils|Project\Utils, Sk looks for a folder Project\Utils relative to your Skookum-project.ini file. So that means, inside your project there would be a <your_project_folder>/Scripts/Project/Utils folder. Does this exist?

Two more recommendations here:

  • We would not recommend nesting one overlay inside another overlay, that is not supported and probably will cause trouble down the road. Instead, the Utils overlay folder should be a sibling folder of the Project overlay folder. So accordingly, the spec in the ini file should read Overlay9=Utils|Utils.
  • You also need to create a folder named Object inside your new overlay folder for things to work properly.

Let us know how it goes!


#6

Thx for the advice Overlay9=Utils|Utils worked.