Hello 3.0.5466! 4.18 support, new Find dialog for IDE and more


Here’s yet another skookum release of your favorite scripting language!

What’s new?

In a nutshell

  • Unreal Engine 4.18 now officially supported! (we currently support all UE4 versions from 4.13 up to 4.18)
  • new Find feature in the SkookumIDE lets you search an editor widget for a given string
  • lots of enhancements and bug fixes!

Detailed release notes


  • Find in file: Find bar can be summoned from editor window via Ctrl+F
    • allows selection of case sensitivity and whole word match
    • find next (F3) / prev (Shift+F3) selects the currently active result
    • highlights all matches
  • added Shift+Del as Editor Cut command to conform with IBM Common User Access which is a MS Windows standard
  • autocomplete now also suggests &aka aliases
  • detect when additional overlays are added while IDE is running and gracefully ask to restart
  • disabled Nagle algorithm on TCP/IP so that packets are sent immediately rather than coalesced into larger packets
  • added computer name to localhost string conversion
  • implemented Sk specific word breaking
  • fixed bug where autocomplete would not change the case of the stub when it differed from the selected suggestion (i.e. you type str and it suggests String, it will now properly insert the uppercase String)
  • fixed issue where the save button and save menu item did not work properly

Skookum UE4 Plugin

  • 4.18 now supported
  • changed script file encoding to UTF8 across the board
  • changed all line endings of in-memory generated code to be consistently LF (not CRLF)
  • refactored loading and saving code to convert from/to platform-specific line endings
  • prevented script file generation for temporary/deleted/default classes
  • disabled Nagle algorithm on TCP/IP
  • made all exposed UFunctions const so they can be called from const Blueprint functions
  • fixed a number of issues with 4.17 standalone mode
  • fixed crash bug when calling class member methods from a Blueprint
  • fixed nullptr crash in assert message parameter
  • improved error handling in SkookumScriptConstructionComponent
  • fixed bug in Blueprint function reflection code
  • fixed case expression so that it can run class method version of = operator that is used by classes
  • fixed bug where some BP->Sk reflected functions could not be called because of name skookification
  • fixed bug where, after clicking the “Show In IDE” button, IDE would not focus on a class if its name starts with a lower case letter
  • cleaned up UI command registration sequence


  • fixed parser bug where raw access flag was not properly handled when parsing prefix operators
  • added check for common error in a create temporary variable expression where a = is used instead of a : to provide an initial binding to the variable. Now gives a nice descriptive error message including the correct syntax for it and related expressions.
  • give more info about mismatched type for an argument so that it now includes whether a conversion method to the desired type is known to be available
    Sk Core
  • allowed List indexing {} and {}: to use negative indexing that counts from last item -1 to second to last item -2, etc. like Python and some other langauges
  • fixed issues when invoking an instance method on a class instance
  • fixed case parsing so that it properly deals with generic classes such as ThisClass_ and gives more detailed error messages.
  • ensured that error message about binary operator properly translates generic types
  • minor parser error message improvements
  • fixed Integer.do_reverse() which was iterating from 1 to n instead of 0 to n-1.
  • minor optimization to Integer@do(), Integer@do_reverse() and List@do_idx


  • added List closure matching methods: get(), moves_to(), pop(). remove?()
  • added alternate Random.coin_toss? that has quesion mark as per naming standard. Left the version without question mark until we have deprecate tag in place to warn of replacement
  • added check for common error in a create temporary variable expression where a := is used instead of a : to provide an initial binding to the variable.
  • added List!map()
  • removed class version of String() and made instance version work for both class and instance objects
  • added Enum methods: at(), index(), first(), last(), length() and do()
  • added Actor@instances_from() and List@fuse()
  • added a _path_to_location coroutine that takes a vector (a la _path_to_actor)

Get the new plugin from the Unreal Marketplace (as of 2017-11-20 for Unreal Engine versions 4.17 and 4.18) or from our GitHub repository or as a good old precompiled zip file for Epic Games Launcher users.

As usual, don’t hesitate to ask us for help if you encounter any issues!



The version 3.0.5466 update is now available on the Unreal Marketplace (as of 2017-11-20) for Unreal Engine versions 4.17 and 4.18.


3 posts were split to a new topic: [Resolved] UE4.18 Marketplace update was removed from the Marketplace for a time