Exposing instance_data to the gui of unreal


How would one expose data members to the designers in unreal? Is this supposed to be done through blueprints?
(I am new to unreal and skookum so I am sorry if my questions are annoying =))

[RESOLVED] Editing Blueprint Instance Variables from SkookumScript

Blueprint variables are automatically exposed to SkookumScript. So if your designers like to work with Blueprints you can create variables in Blueprints that they can tweak, and use their values in SkookumScript. Check out the butterfly demo (project Blueprints_Sk, Blueprint/:sk: class BP_Butterfly_Sk) for an example how this is done (download here).

And, please keep asking questions!



Is there a way to expose the variables to the unreal gui like one does with UProperty instead of through blueprints?


There is currently no automatic way of exposing SkookumScript variables to the UE4 GUI besides Blueprint variables.

Of course, if your project is a C++ project, you can create your own reflected classes using the UCLASS, UPROPERTY etc. macros and expose those to SkookumScript (see here on how to do that). You can then also expose those to the UE4 GUI (e.g. if they are part of a component). By being exposed to both the UE4 GUI and SkookumScript at the same time, you can edit SkookumScript variables via the UE4 GUI.


If you want to access SkookumScript variables without using Blueprints, that leaves SkookumScript and C++.

Not too surprisingly, the easiest way to access SkookumScript variables is through SkookumScript. This is best done through the SkookumIDE which isn’t technically the UE4 editor, though it is designed to work with the UE4 editor.

You can also access SkookumScript variables through the C++ API.