[FREE] Elementus Modules - Project Elementus' Modules as a Plugin

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:

2 Likes

Is there a list of plugins I need to activate in my project for this?

Your UEFSR Module crashes UE5.1.1

Only the plugins inside the Dependencies directory. : )

Hi! @EddieChristian : )

What error did you get and if it happens again could you send me the logs?

Did you download the plugin from the releases page?
I re-uploaded the .zip in this release: Elementus Modules v0.1.0 (github.com) : )


If you’re downloading the .zip

  1. Navigate to the release page and download the .zip file of the most recent version.
  2. After the download complete, go to your project’s directory and check if there’s a folder named “Plugins”. Create if doesn’t exist.
  3. Inside the ‘Plugins’ directory, create a new folder ‘ElementusModules’.
  4. Unzip the (.zip) content inside the new directory ‘ElementusModules’.
  5. Go to your project’s root directory, right click the .uproject file and select: Generate Visual Studio Project Files.
  6. Open the generated .sln file and compile your project.
  7. Open your project and let’s dev! :slight_smile:

If you’re cloning the repository

Cloning: As submodule

As this repository containg only plugins, the ideal is to use as a submodule in your project.

Run these commands to add this plugin as a submodule:

git submodule add -b main https://github.com/lucoiso/UEElementusModules.git Plugins/UEElementusModules
git submodule update --init --recursive

Cloning: As repository

Run these commands inside your project’s Plugins directory

git clone https://github.com/lucoiso/UEElementusModules.git
cd UEElementusModules
git submodule update --init --recursive

I downloaded the Plugin version from the Release section of the Git. My system is running on a Nvidia card. At first I thought it was that I had DLSS in my project. So I tried it again on an empty project and it still crashed the editor. Finally I got it to open by removing the UEFSR folder. But then everything in the scene was really jaggie. I tried setting the Screen percentage to 100 but it keeps resetting itself to 56% when I open it. I would suggest that by default this plugin should be Deactivated.

1 Like

Sorry for the delay in responding. Unfortunately, I haven’t been able to give much attention to this project in the past few days, but I intend to make up for it as soon as possible. I agree to make the FSR optional and easier to disable. : )

I also plan to adjust a few things soon, including the settings class to prevent changes from being blocked.

Support for Unreal Engine 5.2

Links

I spent a good chunk of time investigating why I was getting ensures loading up a clean project. This doesn’t seem to be mentioned, but you need the gameplay tags in your new project.

Here was my process to get this running:

  1. Copy the ProjectElementus_UE51\Config\Tags folder from the elementus project into your new project.
  2. Copy the the DefaultGameplayTags.ini from the elementus project and overwrite your one in your clean project.
  3. Copy all the Elementus Plugin settings (in project settings) from the Elementus project to your new project
  4. Copy the extra Asset Manager - primary asset types to scan from the elementus project to your new project.
  5. I has to reassign the ABP_Manny to the BP_Character - the reference was broken.
  6. Lastly, I had to add the GameFeature for Default Mapping from the elementus project to my new project.

Hopefully that helps others here.

However, I am specifically trying to get this running in Quest2 VR, and am running into a number of compile issues. Any help here would be very very appreciated.

Edit: It looks like most of these might be related to the Model Viewer Plugin. That include would require an engine recompile though. Ugh. Any way to remove this as a dependency? The Model Viewer plugin is still beta.

QuestCompile.txt (26.8 KB)

I performed some surgery to remove the ViewModel references. Last errors are missing asset refs. This is directly to do with the Elementus Inventory and Asset Manager, but as best I can see I’ve set everything up correctly, and the DeathPotion isnt causing issues like the others. Super odd.

Aside from this it compiles to an APK (when the items are removed), so I think I may have this working.

LogPlayLevel: Error: UAT: LogInit: Display: LogAssetRegistry: Error: Cannot set ElementusInventory_ItemData:Item_1 to manage asset /ElementusModules/InventorySystem/Effects/GE_CommonHealth because /ElementusModules/InventorySystem/Effects/GE_CommonHealth does not exist!
LogPlayLevel: Error: UAT: LogInit: Display: LogAssetRegistry: Error: Cannot set ElementusInventory_ItemData:Item_1 to manage asset /ElementusModules/InventorySystem/Textures/TX_Potion_Health because /ElementusModules/InventorySystem/Textures/TX_Potion_Health does not exist!
LogPlayLevel: Error: UAT: LogInit: Display: LogAssetRegistry: Error: Cannot set ElementusInventory_ItemData:Item_3 to manage asset /ElementusModules/InventorySystem/Effects/GE_CommonStamina because /ElementusModules/InventorySystem/Effects/GE_CommonStamina does not exist!
LogPlayLevel: Error: UAT: LogInit: Display: LogAssetRegistry: Error: Cannot set ElementusInventory_ItemData:Item_3 to manage asset /ElementusModules/InventorySystem/Textures/TX_Potion_Stamina because /ElementusModules/InventorySystem/Textures/TX_Potion_Stamina does not exist!
LogPlayLevel: Error: UAT: LogInit: Display: LogAssetRegistry: Error: Cannot set ElementusInventory_ItemData:Item_5 to manage asset /ElementusModules/InventorySystem/Effects/GE_CommonJump because /ElementusModules/InventorySystem/Effects/GE_CommonJump does not exist!
LogPlayLevel: Error: UAT: LogInit: Display: LogAssetRegistry: Error: Cannot set ElementusInventory_ItemData:Item_5 to manage asset /ElementusModules/InventorySystem/Textures/TX_Potion_Jump because /ElementusModules/InventorySystem/Textures/TX_Potion_Jump does not exist!
LogPlayLevel: Error: UAT: LogInit: Display: LogAssetRegistry: Error: Cannot set ElementusInventory_ItemData:Item_4 to manage asset /ElementusModules/InventorySystem/Effects/GE_CommonSpeed because /ElementusModules/InventorySystem/Effects/GE_CommonSpeed does not exist!
LogPlayLevel: Error: UAT: LogInit: Display: LogAssetRegistry: Error: Cannot set ElementusInventory_ItemData:Item_4 to manage asset /ElementusModules/InventorySystem/Textures/TX_Potion_Speed because /ElementusModules/InventorySystem/Textures/TX_Potion_Speed does not exist!
LogPlayLevel: Error: UAT: LogInit: Display: LogAssetRegistry: Error: Cannot set ElementusInventory_ItemData:Item_2 to manage asset /ElementusModules/InventorySystem/Effects/GE_CommonMana because /ElementusModules/InventorySystem/Effects/GE_CommonMana does not exist!
LogPlayLevel: Error: UAT: LogInit: Display: LogAssetRegistry: Error: Cannot set ElementusInventory_ItemData:Item_2 to manage asset /ElementusModules/InventorySystem/Textures/TX_Potion_Mana because /ElementusModules/InventorySystem/Textures/TX_Potion_Mana does not exist!

I’m adding more info here, in the hopes it will help others avoid hours of digging to find out how to do basic things.

THIS, is how you add an item to an inventory dynamically in blueprints (as best I can tell). This should really be in an example, since its not always clear to people what a primary asset Id is.

Also, there seems to be an issue directly calling the Inventory component. So use the “Get Inventory Component” instead.

Can you make video tutorial how to use it? It has everything I want, but its really hard to understand. I added plugin to fresh topdown project and whats now? If i try create game feature plugin i got error.
error

I tried use simple example, cant open it with UE5, its ask to add MF extra action plugin(did it after), after its tell me rebuild and its fail without any errors.

I think this template great opportunity for new people.

Really interested in
How setup to fresh. Example for creating attribute set, adding ability and adding input to it.

I’m not in a position to do a video, that should really be the plugin author. I did want to chime in and say I really like the plugin.

Lyra is typically too complex, but demonstrates a lot of things everyone should be adapting into their projects. This is basically that.