List of UE4 Commands?


#1

Hello,

I’ve recently implemented SkookumScript into my workflow, and am really enjoying it. I’m understanding all of the syntax and principles behind it so far, however I’m having trouble just knowing the commands. Some of them are pretty straightforward and can be figured out pretty easily, but others I’m having trouble with.

For example, I can’t seem to find a way to perform a raycast. Most of the UE4 commands in Skookum are just using UE4’s names for them, so I could just look at the blueprint node equivalent of the command I wanted to use, and figure it out from there. However, I’m finding this increasingly difficult as I attempt to do more complicated tasks (not that raycasts are particularly complicated, I was just giving an example).

Is there a way to list or look up UE4 Skookum commands? I couldn’t find anything in the documentation, and it’s giving me quite a bit of trouble.


#2

Most of the functionality you’ll be looking for is going to exist under the BlueprintFunctionLibraries. Most common ones are GameLib, SystemLib, MathLib.

The difficulty in the learning curve is that you kind of need to discover what the Blueprint base C++ functions are named, because that’s what the :sk: functions will be named. Often the C+ differs from the blueprint node name by quite a bit due to friendly names. However, searching for keywords in the member window will get you where you want. For instance, if you search for trace in the member filter you’ll find the line trace methods.

Here’s an example of a sphere trace against the Visibility channel:

!hit : HitResult!
      
if SystemLib.sphere_trace_single(@@world, 
  start,
  end,
  10, // radius
  ETraceTypeQuery.@@trace_type_query_1, // ECC_Visibility
  out_hit: hit)
[
  println("Got a hit: ", hit.@actor)
]

Oh, and welcome :smile:


#3

And to give a little background on @error454’s answer, for many different methods and data members there are SkookumScript names, C++ names and Blueprint names though as mentioned you can use the Members widget to look any of them up. This works because each member has the alternate names referenced with &aka annotations.

So for example, the Actor.receive_hit() method in SkookumScript also has the following annotations:

&aka("ReceiveHit") UE4 C++ name
&aka("Hit") Blueprint name

So if you search in the Members widget for receive_hit, ReceiveHit, or Hit it will match the method Actor.receive_hit().

We also plan to hook up the &aka mechanism to autocomplete which should help even more.

Glad you are liking things so far. Keep us posted on your SkookumScript journey!


Blueprint to SK translator?
#4

Thanks for the quick responses!

I had no idea about the ability to look up functions in the members tab, that’s exactly what I was looking for. Additionally, the &aka mechanism seems really handy, and it would be very helpful as part of the autocomplete feature.

The one problem is, I can’t seem to figure out how to search for functions in the members window. Forgive my newbieness, but I thought the members window could only be used to search members for a specific class. Could you walk me through how one would search for functions without this being the case? Help would be much appreciated.


#5

The search results should list matches for the currently selected class first and then matches in other classes in a slightly different color.

The docs pages are still evolving though they might give some additional clarity - http://skookumscript.com/docs/v3.0/ide/members/#search-members-box

If it doesn’t seem to be working correctly or not in the way that you expect, just let us know.


#6

It didn’t show results from other classes at first, but a quick IDE restart resolved the issue. Thanks for all of your help.


#7

“Members” search is probably the best feature in SK IDE. I really love it. ^^
As a newbie myself, it’s bit confusing and inconvenient haivng C++ names translated to SK namings. I wish we just stick with C++ names to its original names and keep SK naming covention to just SK functions.

Cheers!