Ensure condition failed on project start

The previous answer was right, remove world context pins, but didn’t say how.
I figured that out today. If you need this, read on.

Solution:

According to searches around the net, these pins are always there but hidden.
Yet, these pins are unnecessary for functions in a “Blueprint Function library.”

When I copy a function and rename it ( to use as a base for another function,) the Pin becomes visible. This is likely because the copy function in UE4 doesn’t know the pin is supposed to be hidden and mark it accordingly.

If you delete this pin from the inputs list of the new function and then recompile any reference calls you should be okay. assuming your calls were all from within the same Blueprint Function Library.
If you have external calls to these functions, then the input pin on the node in the referencing function will not go away after you delete the input pin within the function itself. This is normal and okay to ignore.

Here is where things go wrong. Sometimes the editor will not show the input pin on the inside of the function for you to delete. Yet, it thinks it is required due to that external call. So how to solve this? if you are just starting out, just perform the below for any functions called from outside your blueprint function library. otherwise, perform on all functions in the library to be sure

  1. Duplicate your function in the
    library. - you will now see the
    input pin
  2. Delete the input pin in
    the copied function
  3. Update all
    references to the new function which
    has the pin removed
  4. Delete the
    original function
  5. Rename your
    function to your liking

Note: if you have lots of interconnected functions it will be easier for you to create a new blueprint function library and copy all functions to that new library, then delete all the input pins for world context. then update references from the old library to your new library. Lastly delete the old library.

12 Likes