Download

Why can't I call Write Achievement Progress from a function?

I’m building a Blueprint project, for Android (and Windows for testing.)

The Write Achievement Progress function/node is available in the level blueprint “Event Begin Play” event handler. However, I want to factor out the achievement code from this handler to another function. In that function, the Write Achievement Progress node isn’t available, even if I uncheck the “Context Sensitive” checkbox.
What’s special about Event Begin Play, or the Event Graph, and why can I write achievements there, but not in a function in the level blueprint?

Hey, no pushing! Don’t everybody try to answer at once now!

Is it possible that my install/engine is broken? Can someone else find the “Write Achievement Progress” node when building a function on the level blueprint that is not on the event graph?

Hi jwatte,

I’m able to find that node by right clicking in the blueprints and typing ‘write’; this is with ‘context sensitive’ box marked. Are you seeing something different than this?

Thanks for the screen shot.

You are finding it in the event graph. I am doing that too, as I said above.

When I try to find it from the within the context of defining a function, it is no longer available.
Is it available for you if you create a function, and then try to use it from within there?

Functions can only have one entry point. This is an async node so it cannot be placed in the function. What you can do if you are trying to organize it better is add another event graph (click the + to the right of Graphs) and call it with an event.

Oh, I see. So this is like the kind of co-routines that can only live at the top of the stack, rather than the more evolved kind that can fork the stack?

You should take a look at the Tappy Chicken example.