[FREE] Project Elementus - Custom Third-Person Project w/ Extra Features

Started working on Modular Features - Extra Actions update by adding new options to manage ability bindings and also created a new settings page.

Still a work in progress, but has an open progress in these branches:

  1. Project Elementus: v0.6.2a (github.com)
  2. Plugin Repository: v1.2.0 (github.com)

Seems like the plugins are going to get more love from epic themself. We should tell them we love the modular gamefeatures and gameplay!

https://portal.productboard.com/epicgames/1-unreal-engine-public-roadmap/c/869-gameplay-framework-updates

1 Like

Project Elementus v0.6.2a

Release: Project Elementus v0.6.2a (github.com)
Repository: UEProject_Elementus (github.com)

Features

  • 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. :confounded:


Modular Features Extra Actions v1.2.0

Link to Post
Content:

Modular Features Extra Actions v1.2.0

Release: lucoiso/UEModularFeatures_ExtraActions
Marketplace: Modular Features - Extra Actions

Features:

  • New settings page
  • Fix issue: Bindings not working on pawns
  • Move shared options to plugin settings
  • Add new option: Override binding owner
  • Add new ability binding options
  • […]

New Settings Page

Updated Example Project

Repository: lucoiso/MFA_ExampleProject

Project Elementus Updated

Repository: lucoiso/UEProject_Elementus

Project Elementus v0.6.3a

Release: Project Elementus v0.6.3a Latest (github.com)

Pull request: v0.6.3a by @lucoiso in v0.6.3a by lucoiso ¡ Pull Request #36 ¡ lucoiso/UEProject_Elementus ¡ GitHub

What’s Changed

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.

Full Changelog: Comparing v0.6.2a...v0.6.3a ¡ lucoiso/UEProject_Elementus ¡ GitHub


Project Elementus v0.6.4a

Release: Project Elementus v0.6.4a
Pull request: v0.6.4a by lucoiso ¡ Pull Request #37 ¡ lucoiso/UEProject_Elementus ¡ GitHub

Changes

  • UE5.1 Adjustments
  • Set elevator final platform as game object
  • Fix explosive actor compiling on shipping builds
  • Include metasounds directories to register
  • Remove unnecessary configs
  • Set Bink Audio as default audio compressor

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. :confounded:
Disabling MetaSounds and re-creating the sound sources to replace UMetaSoundSources will sadly fix this.

Project Elementus v0.6.5a

Release: Project Elementus v0.6.5a (github.com)
Pull request: v0.6.5a by lucoiso ¡ Pull Request #38 ¡ lucoiso/UEProject_Elementus ¡ GitHub

Changes

  • 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. :confounded:
Disabling MetaSounds and re-creating the sound sources to replace UMetaSoundSources will sadly fix this.

1 Like

Some upcoming changes

They’re already in the development branch.

Pull request: #44

UMG ViewModel

New feature that came with UE5.1: UMG Viewmodel | Unreal Engine 5.1 Documentation

The project’s HUD is already using ViewModels to update the attributes:

Note: Also created this conversion function: To Current/Max Text (Float).

Specific Project Settings

Moved and added some options to Project Settings:

MetaSound removal

Unfortunately MetaSound was causing problems. : (

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.

But you can always see how the things are going: UEProject_Elementus (github.com)

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’ve sent a bug report to Epic’ team and they confirmed the issue. You can track the status here: Unreal Engine Issues and Bug Tracker (UE-170838)


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. : )

Project Elementus v0.7.0a pre-release 1

Features

UMG ViewModel

New feature that came with UE5.1: UMG Viewmodel | Unreal Engine 5.1 Documentation

The project’s HUD is already using ViewModels to update the attributes:

Note: Also created this conversion function: To Current/Max Text (Float).

Specific Project Settings

Moved and added some options to Project Settings:

MetaSound removal

Unfortunately MetaSound was causing problems. : (

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.

What’s Changed

  • Add GAS Attribute ViewModels to HUD
  • Add Specific settings
  • Add Loading Screen
  • Remove MetaSounds
  • Adjust EOS functions
  • Optimize includes

Full Changelog: Comparing v0.6.5a...v0.7.0a ¡ lucoiso/UEProject_Elementus ¡ GitHub

1 Like

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???

Hello! : )

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:
image

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

  • If you’re downloading the .zip, use this link: Releases ¡ lucoiso/UEProject_Elementus (github.com)


About the C#: Unreal use it for the Build Tool system. To build this project you’ll only need Visual Studio w/ Game development with C++ module.

Note: The engine also requires .NET but is not specific of this project.


If the problem still persists, let me know!

Project Elementus v0.7.0a

Features

UMG ViewModel

New feature that came with UE5.1: UMG Viewmodel | Unreal Engine 5.1 Documentation

The project’s HUD is already using ViewModels to update the attributes:

Note: Also created this conversion function: To Current/Max Text (Float).

Specific Project Settings

Moved and added some options to Project Settings:

MetaSound removal

Unfortunately MetaSound was causing problems. : (

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]

Bug report: Unreal Engine Issues and Bug Tracker (UE-170838)

What’s Changed

  • Add GAS Attribute ViewModels to HUD
  • Add Specific settings
  • Add Loading Screen (using test loading screen)
  • Remove MetaSounds
  • Adjust EOS functions
  • Optimize & Adjust includes
  • Adjust hook force application
  • Add new hook property and set default values
  • Add TitleProperty to grouped effect data assigned properties

Full Changelog: Comparing v0.6.5a...v0.7.0a ¡ lucoiso/UEProject_Elementus ¡ GitHub


Post Commits

Updated description with post commit:

1 Like

Created a new post for EOS SDK Handler! : )

1 Like

Planning for upcoming updates

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. : )

Issue: Issue #46 ¡ lucoiso/UEProject_Elementus (github.com)
Project Board: Project Elementus - Project Board (github.com)


I’m also currently focusing in some updates to the plugins:

  1. Modular Features Extra Actions
    1.1. Check the viability and implement a new editor tools to view and manage the existing Modular Features
    1.2. Return to the development of the auto-bind abilities option
  2. Elementus Inventory
    2.1. Add an option to enable empty slots in the inventory container
    2.2. I’m finally working on the Documentation! xD

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:

  1. Use the new Macro: UE_INLINE_GENERATED_CPP_BY_NAME
  2. Adjust and clear the logs (Add new categories to improve the filtering)
  3. Adjust and clear the checks/ensures
  4. Add more developer settings
  5. Add custom async loading screens (currently using the Test Widget from Unreal’s API)
  6. Fix EOS Function: Cancel Find Sessions (currently crashing)
  7. […]

In the meantime, maybe implement new features too! : )

1 Like

Updates

Already turned Project Elementus into a plugin that contains separated modules! : )

These changes are already in the development branch.

Other changes includes:

  • Push Model based replication
  • View Model fixes
  • IRIS replication enabled
  • New & Better Project Settings
  • Some classes were cleaned and separated
  • New classes created
  • Organized folders
  • Etc.

Now I’m working in some fixes/adjustments!

Some of them are:

And finally: Create the documentation


Screenshots

Updates!

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.

Created a new post for Elementus Modules

Unreal Engine Plugin: Elementus Modules

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.

Links

Included Plugins


Support me: Sponsor @lucoiso on GitHub Sponsors :heart:

Hi,

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?

1 Like

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:

It crashes here from casts.h, but it does not give any info which is causing the problem.

1 Like