Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[UE 5.1] The following modules are missing or built with a different engine version #341

Open
weepingforest opened this issue Apr 2, 2024 · 7 comments

Comments

@weepingforest
Copy link

weepingforest commented Apr 2, 2024

I'm trying to get Steam Audio to work with Unreal Engine 5. The problem is that whenever I go to Plugins section in Unreal Engine 5 and enable Steam Audio, it requires me to restart UE5, and when I do it always gives me this error:
"The following modules are missing or built with a different engine version:
Steam Audio
SteamAudioEditor
Engine modules cannot be compiled at runtime. Please build through your IDE."

And the only option available is 'OK' which does nothing.

First time I saw this error was in Unreal Engine 5.3.2, so I guessed it was because of lack of compatibility. So now I tried it with UE 5.1.0, but I still get the same error. I downloaded the plugin directly and didn't build it myself with IDE. Needless to say, I also deleted the default Steam Audio plugin from Plugins/Runtime/Steam folder.
I tried it with Steam Audio 4.5.3 and 4.1.3. I get the same error with both.
Thanks in advance.

@lakulish
Copy link
Collaborator

lakulish commented Apr 8, 2024

@weepingforest Are you installing the SteamAudio plugin into the Plugins subdirectory of your project, or into the Engine/Plugins subdirectory of your Unreal Engine installation directory? UE5 should be able to recompile the plugin if it's installed into the project-specific plugins subdirectory.

@FraBad98
Copy link

@weepingforest I don't have the solution, unfortunately. I'm here because I'm having the exact same issue. Did you manage to fix it? If so, what was the procedure?

Thanks in advance!

@LinusLindblad
Copy link

@FraBad98 In-case you or anyone else that stumbles on this thread has the same issue, this is caused by placing the steamaudio plugin into the plugin folder of your engine directory [UE5 Root]/Engine/Plugins/[Plugin Name]. Instead of the per-project plugin folder located at [Project Root]/Plugins/.

If there is no "plugins" folder inside your project root you can add one.

Unreal will report the same error on initial startup, but will actually be able to compile the modules now.

(If this doesn't work for you or there are issues stopping the project from opening, you can edit the .uproject file in notepad to stop the plugin from loading externally.)

Hope this helps!

@wolfsprite
Copy link

@FraBad98 In-case you or anyone else that stumbles on this thread has the same issue, this is caused by placing the steamaudio plugin into the plugin folder of your engine directory [UE5 Root]/Engine/Plugins/[Plugin Name]. Instead of the per-project plugin folder located at [Project Root]/Plugins/.

I actually just tried this, including deleting the Engine's SteamAudio plugin (as the readme included with the SDK recommends), but I'm also running into the issue. :(

@wolfsprite
Copy link

wolfsprite commented Jul 19, 2024

[using UE 5.4.2]
Made some progress by adding the folder to a C++ project's Plugins folder while the Engine was open and manually telling it to recompile, though I also had to change a nested if statement in SteamAudioSourceComponent.cpp due to the compiler erroring out on its indentation:
image

But I'm now running into an error about a missing library I can't find, and I'm not yet sure how to resolve:

image

ld.lld: error: unable to find library -lUnrealEditor-SteamAudio

@noidedxyz
Copy link

noidedxyz commented Aug 14, 2024

Adding brackets for some reason fixed this issue for me. I don't know why it's throwing a fuss about this, tbh.
unreal/SteamAudio/Source/SteamAudio/Private/SteamAudioSourceComponent.cpp

    if ((InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(USteamAudioSourceComponent, OcclusionType)))
    {
        return bParentVal && bSimulateOcclusion;
    }
    if ((InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(USteamAudioSourceComponent, OcclusionRadius)))
    {
        return bParentVal && bSimulateOcclusion && (OcclusionType == EOcclusionType::VOLUMETRIC);
    }
    if ((InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(USteamAudioSourceComponent, OcclusionSamples)))
    {
        return bParentVal && bSimulateOcclusion && (OcclusionType == EOcclusionType::VOLUMETRIC);
    }
    if ((InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(USteamAudioSourceComponent, OcclusionValue)))
    {
        return bParentVal && !bSimulateOcclusion;
    }
    if ((InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(USteamAudioSourceComponent, bSimulateTransmission)))
    {
        return bParentVal && bSimulateOcclusion;
    }
    if ((InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(USteamAudioSourceComponent, TransmissionLowValue)))
    {
        return bParentVal && !bSimulateTransmission;
    }
    if ((InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(USteamAudioSourceComponent, TransmissionMidValue)))
    {
        return bParentVal && !bSimulateTransmission;
    }
    if ((InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(USteamAudioSourceComponent, TransmissionHighValue)))
    {
        return bParentVal && !bSimulateTransmission;
    }
	if ((InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(USteamAudioSourceComponent, ReflectionsType)))
    {
		return bParentVal && bSimulateReflections;
    }
	if ((InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(USteamAudioSourceComponent, CurrentBakedSource)))
    {
		return bParentVal && bSimulateReflections && (ReflectionsType == EReflectionSimulationType::BAKED_STATIC_SOURCE);
    }
	if ((InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(USteamAudioSourceComponent, PathingProbeBatch)))
    {
		return bParentVal && bSimulatePathing;
    }
	if ((InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(USteamAudioSourceComponent, bPathValidation)))
    {
		return bParentVal && bSimulatePathing;
    }
	if ((InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(USteamAudioSourceComponent, bFindAlternatePaths)))
    {
		return bParentVal && bSimulatePathing;
    }

@wolfsprite
Copy link

Adding brackets for some reason fixed this issue for me. I don't know why it's throwing a fuss about this, tbh.

Yeah.. I had to do that too.. Which fixed one issue, but I'm still running into this unfortunately:
ld.lld: error: unable to find library -lUnrealEditor-SteamAudio

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants