UE 4.25: Certain engine functions not calling, referencing a drive location that doesn't exist.

I tried to make the subject descriptive enough that people would have a rough idea on first look. Here’s the breakdown.

Problem:

I have an action mapping for a Crouch functionality that, upon press, uses a flip flop to determine which function to call. The functions relating to Crouch and Uncrouch from Character Movement trigger appropriately when a breakpoint check is used to see what’s happening. In the game the character does not crouch (and by association nor uncrouch) however. Identifying that the code is calling the function but the function is doing nothing, I proceed to try and open the source code and I get this error:

“Could not find code file, D:\Build++UE4+License\Sync\Engine\Source\Runtime\Engine\Private\Character.cpp”

Interesting note: The similar Jump function from Character Movement works fine.

BP reference:

Environment:

Engine: 4.25
Install directory: C:\UE\UE_4.25\Engine
Very basic project (early phase) that I’m testing out movement on. It’s got a character, some static meshes with collision and then the input mappings that I have setup for the movement.
I have built the project as follows:

  • My own C++ classes that are based on the model parent of it’s functions (i.e. ACharacter, APlayerController, etc.)
  • Then I have a parent BP class that is made from the parent C++ class I made (for extensibility purposes)
  • For circumstances where there will be multiple other child classes (say UMG or something) this is where I’d make my class and build my code into the game. For the Character however, it is sitting in the parent BP since I’m only working with 1 character at the moment and I don’t see a use case where that will change yet (but if it does I just move all the code to a child BP of that parent)

Now in terms of what’s in the C++ files - strictly just some variable declaration and value setting - that’s it. No functions, no interaction with the player controller or character parent classes. I’m not migrating stuff from BP to C++ until we’ve confirmed the values we want and the feel we like for the character. It’s just faster to prototype and value set in BPs and not have to compile everything all the time.

I can build and compile, both in VS and UE, with no errors. The error generated will only show up if I attempt to view the source of the affected functions.

Very interesting note: My system doesn’t have a D: drive. I have two internal drives mapped as shares (but nothing is running from them, they are titled G: and R:). I only have the 1 operating drive, C:, so where the application is getting D: from is beyond me.

What I’ve tried:

I’ve scoured these forums and google via searching extensively but I haven’t found anyone referencing the problem exactly. The other types of issues I found and thought might have been associated, none of the solutions worked. That brings me here; I’ve tried:

  • Rebuilding the project
  • Deleting the .vs, intermediate, … etc. folders then regenerating the project files for VS
  • Setting the nmake option to include the following directory (this was to fix intellisense issues):
    C:\UE\UE_4.25\Engine\Intermediate\Build\Win64\UE4Editor\Inc\Engine
  • Deleted cached content from the C:\Users{username}\AppData\Local\UnrealEngine

I’m not sure what else I can do because technically the project builds and doesn’t see any issues but the functionality just isn’t there. I started to wonder if this is a 4.25 bug but I can’t find anyone able to recreate it and I didn’t see it on the release list of known issues. The latest thing to try I found was to update all the header files in this folder: C:\UE\UE_4.25\Engine\Intermediate\Build\Win64\UE4Editor\Inc\Engine to direct path reference the file path + header.h reference. I hesitate to do this though because:

  1. There’s a warning on each of the .generated.h files that state not to edit manually. I know, I know, I read warnings, shocker :open_mouth:
  2. I really don’t want to direct map includes from the engine side, that sounds like a recipe for disaster down the road.

Any help on ideas to resolve is greatly appreciated!

You’ll need to download the debug symbols from the Launcher (under options). They’re quite large which is why they aren’t downloaded by default.

This will allow you to put breakpoints in engine code. Note that as you are using a Launcher build you won’t be able to modify any of the engines source files anyway.