Character Blueprint Compile Issue

I’ve been following some guides to study and learn more about the engine,
so I’m learning on how to properly animate a character, and for the most
part it’s worked well, but I seem to have an issue with certain
transitions, for some reason when I try to compile the project it tells me;

“Node Result uses potentially thread-unsafe call Get Player Controller .
Disable threaded update or use a thread-safe call. Function may need
BlueprintThreadSafe metadata adding.”

Basically something is wrong with the Get Player Controller/Character
Movement calls that prevents the compile, even though I’ve followed the guides step by step. Could it
be a glitch, or has the engine been updated so I need a different method?

1 Like

Hi. Compilation is not failed, it’s just a warning about multithreading issues. Compiler disables multithreaded updates for your blueprint because you use nodes which can’t be executed in parallel maner safely. You can disable multithreading animation updates globally in your project settings or avoid to use these unsafe nodes. Turtorial was made for earlier versions of engine which wasn’t support multithreaded updates.

2 Likes

Ah, I see, that fixed it, it’s working as intended now, thanks.

Did you disable it?

here you can find it:

1 Like

I wanted to make an addendum to this, having also worked with the tutorial and solved an additional error besides the multithreading issue!

Working from v 4.16.2, when using Get Player Character, the animation system does seem to work, but returns an error at runtime stating “Accessed None trying to read property CallFunc_GetPlayerCharacter_ReturnValue from function…

Please view the image for the descriptive solution, but I’ll also leave a plaintext explanation below:

Instead of using Get Player Character in your Anim Graphs, create and use a reference variable to the owned pawn, which can draw out any of the pawn’s attributes and variables on its own! Using the original Try Get Pawn Owner node’s cast to the owned pawn, click and drag from the cast’s blue return pin, let go, then from the action menu that pops up, select “Promote to variable” to create the reference. Getting the reference variable and pulling pins from it can access anything it has, including the Character Movement component you may be using in this tutorial!

Hope this helps!

That did it! Thank you so much!

Glad I could help! I figured somebody else would come across the same concern eventually!

This gives me 54 Errors… instead of the two I am getting for using get “player character.”

Oof… in that case, Get Player Character may be well enough! Last I remember, everything technically still worked despite the errors, so you may be able to just ignore them (don’t tell anyone I said that, haha!).

If you post your BPs and other relevant info, someone more adept than me might be able to help! I’ve found that folks are pretty quick on the draw here!

Which Tutorial is this? Just Curious

I believe it might be this one here: https://docs.unrealengine.com/latest/INT/Gameplay/HowTo/CharacterMovement/Blueprints/index.html

I might be wrong, but at the least, this tutorial was helpful for me if you’re looking to dig into animation in Unreal! If I find later that it was a different tutorial, I’ll come back to this comment and post it!

You sir, are a beast. Thank you.

No problem at all!