New :sk: IDE Feedback


#1

Hey folks. I had a chance to kick the tires for a few hours this morning. My first impression is that this is a fantastic start to really seamless :ue4: integration!

I tried loading up 2 projects in 4.14.1. The first was a BP only project. I couldn’t get this one to load, I got the below error message (which I’ve seen before but thought was fixed in a previous :sk: release).

Here’s a link to Skookum Invaders if you’d like to try and repro.

The second project I loaded up was a C++ one and everything worked fine. I spent awhile changing a bit of code and playing with the new compile feature and am super impressed at how solidly it picks up changes now. I know it’s still early days for this but it’s exciting to see a solid base in place. Below are list of issues and/or feature requests:

  • Edit->Preferences doesn’t open any window or text file
  • It’s unclear where the cool new Workspace tab lives on disk
  • Autocomplete only seems to suggest raw types that are boolean. It doesn’t suggest any of the coroutines in the class I’m working on. Also doesn’t show basic operators like instances when I type BP_ZipActor.
  • There’s no ability to go to a definition of a type/method/coroutine
  • No undo/redo in the code editor
  • The ability to have multiple files open at once would be useful so that you could refer to a definition without losing where you were working.

Nice looking About Screen :madsci:. Also the Errors Window is really great!


#2

Thanks for the feedback Zach!

The workspace issue is already fixed and checked into the licensee main branch for you to grab. The tutorial workspace now has its own file, tutorial-workspace.sk while the user workspace remains to be named workspace.sk and now gets properly saved after each session.

We’ll look into the other issues and get back to you!


#3

Ok so the first error you were seeing with Skookum Invaders happens because from 4.13 to 4.14 Epic made it so that both GameMode and GameState are no longer derived from Info but from GameModeBase and GameStateBase respectively (which are in turn derived from Info). However, the :sk: class hierarchy (which mirrors the UE4 class hierarchy) in the project still reflects the previous (4.13 and earlier) inheritance directly from Info. It does this in both the Project-Generated-BP overlay (where GameMode is still derived form Info) and in the Project overlay (where GameState is still derived from Info).

So I made a few changes to address this:

  1. When the Project-Generated-BP overlay is being generated, the plugin will now always look for duplicate (i.e. reparented) versions of each class and delete the duplicates when found
  2. The plugin is now more robust against failure to load the compiled binaries, and will continue loading the project, so the plugin gets a chance to generate all class scripts and thus rectify what can be automatically rectified.
  3. The IDE will no longer assert when it detects inconsistent parent classes, but instead report errors in the error list

This is checked into the licensee main branch for you to check out.

There is still one problem left to fix in the Skookum Invaders project which is manually fixing the class hierarchy in the Project overlay by inserting a GameStateBase directory between the Info and GameState directories.

After that the project should run fine! Like how the invaders do cool new stuff now :slight_smile:


#4

Awesome, going to pull down tonight and continue testing. I’ve been a bit busy the last few months, but finally finished moving and hoping to have a very :sk: filled holiday :santa:.


#5

I, randomly it seems, keep getting this error after a short time of programming:

I have gotten this error through various means, so it should be showing up with other people that are playing with the new IDE(maybe =))

###Error : Data array size must not shrink during update.

C++ Internal Info:
void __cdecl SkClass::append_coroutine(const void **,struct SkRoutineUpdateRecord *)
Private\SkookumScript\SkClass.cpp(1871) :
Test failed: invoked_data_array_size >= coroutine_p->get_invoked_data_array_size()


#6

Hmm does this happen when you live edit coroutines? Maybe when you remove a parameter or local variable?


#7

Fast response…

it happens whether live or not


#8

Right but does it happen after certain edits to a coroutine?


#9

Im not really sure yet, I would like to say yes, but since I am not 100% I will let you know when I see it again


#10

Our phones and computers ping whenever anyone posts on the forum. :madsci:

We try to answer as fast as we can though sometimes we are in the middle of things and cannot respond right away.


#11

Hey so I assume you are working with UE4 Editor right? Please try dropping these DLLs into your Engine\Plugins\SkookumScript\Binaries\Win64 folder and let me know if that fixes your issue!


[Resolved] Path for overlay `Project-Generate-C++` not found