Fix submodules (lost on LFS reset) by @lucoiso in #32
Update Modular Features Extra Actions and adapt the project
Optimize includes
Adjust settings
Known issue
Packaged game is currently not working. The executable freezes with a black screen and the last log call is:
[2022.10.30-19.04.21:268][ 0]LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source.OneShot v1.0]
[2022.10.30-19.04.21:271][ 0]LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source v1.1]
[2022.10.30-19.04.21:271][ 0]LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.OutputFormat.Stereo v1.0]
Iâm still investigating the problem, but maybe itâs an instability in UE 5.1 Preview related to MetaSounds.
Packaged game is currently not working. The executable freezes with a black screen and the last log call is:
[2022.10.30-19.04.21:268][ 0]LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source.OneShot v1.0]
[2022.10.30-19.04.21:271][ 0]LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source v1.1]
[2022.10.30-19.04.21:271][ 0]LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.OutputFormat.Stereo v1.0]
Iâm still investigating the problem, but maybe itâs an instability in UE 5.1 Preview related to MetaSounds.
Packaged game is currently not working. The executable freezes with a black screen and the last log call are:
[2022.10.30-19.04.21:268][ 0]LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source.OneShot v1.0]
[2022.10.30-19.04.21:271][ 0]LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source v1.1]
[2022.10.30-19.04.21:271][ 0]LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.OutputFormat.Stereo v1.0]
This problem is occurring since UE5.1 Preview 1. Iâm still investigating and sent a bug report to Unreal Engine. Disabling MetaSounds and re-creating the sound sources to replace UMetaSoundSources will sadly fix this.
Change WriteAchievements to IngestEOSStats, allowing multiple stats update at same time
Remove CPU access from Static Mesh
Change ability audio to reference an audio data structure
Move shared audio sources to game content
Remove metasounds requirement from modular plugins
Known issue
Packaged game is currently not working. The executable freezes with a black screen and the last log call are:
[2022.10.30-19.04.21:268][ 0]LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source.OneShot v1.0]
[2022.10.30-19.04.21:271][ 0]LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source v1.1]
[2022.10.30-19.04.21:271][ 0]LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.OutputFormat.Stereo v1.0]
This problem is occurring since UE5.1 Preview 1. Iâm still investigating and sent a bug report to Unreal Engine. Disabling MetaSounds and re-creating the sound sources to replace UMetaSoundSources will sadly fix this.
The packaged game wasnât initializing due to unregistered MetaSoundâs interfaces. Maybe itâs an incompatibility when referencing metasound sources in objects that are inside a Modular Game Feature. : /
LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source.OneShot v1.0]
LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source v1.1]
LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.OutputFormat.Stereo v1.0]
Already sent a bug report to epic games.
Before merging these changes into the main branch, Iâll look for some new features that could be added to this project and will adjust existing items that can be improved in this project.
About the issue that was occurring with MetaSounds (removed from the project in the development branch):
When referencing a MetaSound source in a blueprint that is in a Modular Game Feature with default state set to Active, the packaged game doesnât start. The game freezes with a black screen and the last log calls are:
LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source.OneShot v1.0]
LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source v1.1]
LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.OutputFormat.Stereo v1.0]
I was using MetaSound sources in some Gameplay Abilities to produce ability sound. The development branch is now using Sound Cues and have metasounds disabled to avoid this problem.
MetaSounds will be re-added to the project when Unrealâ team fix this. : )
The packaged game wasnât initializing due to unregistered MetaSoundâs interfaces. Maybe itâs an incompatibility when referencing metasound sources in objects that are inside a Modular Game Feature. : /
LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source.OneShot v1.0]
LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source v1.1]
LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.OutputFormat.Stereo v1.0]
I am really curious about this but the advance sample project wonât compile or open. First it seems to be looking for plugins that are missing. Second it has .DotSettings files in it. Are you using C# somehow???
Maybe itâs a download issue. GitHub isnât so friendly with unreal projects yet. : S
This button doesnât work in this context, this will download all assets as âcorruptedâ files with only 1kb size and the project will not work:
The same will occur if youâre cloning the repository without Git LFS installed.
If youâre cloning the repository, ensure that you have Git LFS installed and call this command inside the projectâs folder after the clone: git submodule update --init --recursive
The packaged game wasnât initializing due to unregistered MetaSoundâs interfaces. Maybe itâs an incompatibility when referencing metasound sources in objects that are inside a Modular Game Feature. : /
LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source.OneShot v1.0]
LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.Source v1.1]
LogMetaSound: Error: Target interface is not registered [InterfaceVersion:UE.OutputFormat.Stereo v1.0]
To facilitate the use of this projectâs content in other projects already under development, I will check the possibility of transforming this project into a plugin.
I have created a new issue and will resume the work on this project with this idea. : )
After these changes, Iâll finally start creating the documentation using the new Plugin âbodyâ, explaining how to use the content of Project Elementus in a new project or an existing one.
And of course, during the development, I will make some optimizations and fixes that are found along the way, such as:
Use the new Macro: UE_INLINE_GENERATED_CPP_BY_NAME
Adjust and clear the logs (Add new categories to improve the filtering)
Adjust and clear the checks/ensures
Add more developer settings
Add custom async loading screens (currently using the Test Widget from Unrealâs API)
Fix EOS Function: Cancel Find Sessions (currently crashing)
[âŚ]
In the meantime, maybe implement new features too! : )
Project Elementus was intended to be a third person template that can be used to start projects that will use some new features that come with Unreal Engine 5 as well as powerful existing features like the Gameplay Ability System and others.
And now, Project Elementus was turned into a sample project and all its content was moved to a new plugin! : )
As a plugin, it is easier to organize, update and insert the content into already existing projects, facilitating maintenance and usability.
This plugin has itâs own repository where you can check it for more details: Elementus Modules
Notes
The main branch wasnât changed yet, the new modules and moved content are currently only in the development branch.
An Unreal Engine plugin containing all modules and dependencies that were created for Project Elementus.
About
Project Elementus was intended to be a third person template that can be used to start projects that will use some new features that come with Unreal Engine 5 as well as powerful existing features like the Gameplay Ability System and others. And now, all its contents were turned into this plugin containing modules accordingly to itâs objective! : )
As a plugin, it is easier to organize, update and insert the content into already existing projects, facilitating maintenance and usability.
Features
Gameplay Ability System;
Modular Game Features plugins;
Epic Online Services;
Enhanced Input;
Networking/Replication/Multiplayer;
Inventory System;
Custom plugins;
Others.
Modules
Elementus Ability System: Adds custom classes, structures and functions related to Gameplay Ability System.
Elementus Actors: Adds custom actors to be used in other projects.
Elementus Common: Contains code that will be shared between the modules.
Elementus Core: Contains code related to the core of the game framework such as character, controllers, etc.
Elementus Epic Online Services: This module is focused in the integration of the Epic Online Services and contains some functions and a Game Instance class that provides EOS access directly via Unrealâs APIs.
Elementus Inventory System: Contains custom classes and interfaces to enable the use of an inventory system with multiplayer compatibility.
I got original project working well, but when I use this module version in any project, I get errors from UPEGameplayAbility constructor. Visual Studio does not say what is wrong with the code, but it breaks when AddTag or Add are called. (âA breakpoint instruction (__debugbreak() statement or a similar call) was executed in UnrealEditor.exe.â).
It also breaks at APEPlayerState-constructor from
AbilitySystemComponent->AddLooseGameplayTag(FGameplayTag::RequestGameplayTag(âData.Game.Playerâ)); with the same error.
Project launches, but if I try to use PECharacter as parent, it will crash. I tried using zip-version and also using git. Do you know what could cause this problem?
To add to this problem, I did not get any errors on build after I added all gameplay tags to project config, but I still get crash if I try to use PECharacter: