"Call Unknown Function Crouch"

Searched for this but couldn’t find anything.

Upgraded a project from 4.21 to 4.27, suddenly the built in “Crouch” function is not working.

I get an error that says:

In use pin <Unnamed> no longer exists on node Crouch. Please refresh node or break links to remove pin.

doing this just turns the crouch node into a useless node with no pins.

“Uncrouch” works fine. No plug-ins, this is not a special custom crouch functionality that built, this is just the normal standard crouch function. If I make a new project (FPS template), crouch works there, but not in my project. If I make a new project and migrate my project into the new one, the error persists. I’ve tried copy/pasing a “healthy” Crouch function node into the cursed Blueprint but that didn’t work either. I’ve tried deleting the preference files.

Hey there @Xavier_B_Johnson! Welcome back to the community! When searching the context menu for the Crouch node in the character, can you find it? Does that version connect to the character movement appropriately?

crouchGif
no dice :confused:

That’s… wild. Because that’s a built in method from the character’s base class and that’s inside the engine files not the project, so this acting differently between a this migrated project and any other fresh project in this version point to a few possibilities.

Does your character override this function?

Nope. Not intentionally at least. Here’s a screenshot showing a brand new character BP, side-by-side, where the crouch seems to be working. Am I going to have to create a “prosthetic” custom crouch function to replace the broken one?

I can think of a handful of hacks like that, but this is a bigger issue in that this is an actual built in function of the character class that’s missing functionality but still existing.

The version on the right is from a freshly generated character derived BP but still in the same project correct?

Correct.

Alright, since that’s the case and the project can access the character component, and it’s just that character BP I have a couple of ideas.

Has your character ever compiled again since this occurred? If not, remove the crouch that’s failing compile, fully compile the script, save, then close the project and back it up. After reopening the project, try pulling a fresh crouch function and see if it has an execution.

If not, head over to the class settings, and see if you can change it’s parent class to something like pawn, (this will break many things, which is why I recommended to back the project up before) and then back to character (should fix many things) and compile, then see if the function will appear correctly.

Thanks so much for the help so far, unfortunately that didn’t work either.

Luckily this is all backed up to the moon and back so I’m not worrying about losing anything, it’s just frustrating to not be able to update to the most recent version of UE4 especially because a lot of the asset packs no longer support 4.21.

Okay, so I removed the crouch node and compiled, all good. Character moves normally, and even plays the crouch animation, but obviously the character movement logic is not firing so you can do things like sprint while crouching etc.

saved and closed the editor, reopened, tried to make a new Crouch node, no dice :frowning:

converted the character to a pawn, UE4 did not like that. As you said, everything broke, then I converted it back to a Character and everything was fixed (the fact that this is even possible is amazing to me) but still no crouch :frowning:

I did see this curious error while the character was a Pawn. I didn’t get this for Uncrouch. It appears that it is looking for the crouch function in the character BP instead of the Base Character BP.


Is there a way we can kind of, point it back in the right direction?

That’s what I was hoping would happen when resetting the parent class, as the character class has the correct reference the the crouch function in other child derived classes, but not this one… I honestly didn’t know migration could change how your class connects to it’s parent class without editing the parent class. Starting to think there’s something else at play.

Since everything’s backed up, let’s start breaking things a bit further shall we?

Head to the project folder, delete the Intermediate and Saved folders in their entirety and then launch the project. They will be repopulated and it may or may not cause any problems. Then try to recompile the character again. If that doesn’t work, we’ll just use a (not so fun) workaround.