ActionRPG sample upgraded to UE5.3 (5.4 & 5.5)

Action RPG Sample is an excellent resource for learning the Gameplay Ability System. I upgraded it to Unreal 5.3 and replaced the legacy input with the Enhanced Input system.

Here is the Github link:
ActionRPG Unreal 5.3

5 Likes

Awesome, thank you!

To upgrade it to 5.4 You just need to change DefaultBuildSettings = BuildSettingsVersion.V2; to DefaultBuildSettings = BuildSettingsVersion.V5; in the ActionRPGEditor.Target.cs and it will compile!

Yeah, Thank you, I just updated to 5.4

1 Like

Is anyone experienced in getting new enemies to function? Duplicated enemy blueprints don’t seem to work once updated…

This page has some information about it in the comments, but everyone seems to be stuck on the issue: https://www.youtube.com/@TCMabe/videos

1 Like

hey guys, i packaging in ue5.5 and have issue with game in android after start level it’s stop screen! any solve?

Do you have any errors/warning messages in the build output log? I’ve got this:

1>D:\Projects\550_Projects_4090\ActionRPG55\Source\ActionRPGLoadingScreen\Private\ActionRPGLoadingScreen.cpp(22): warning C4996: ā€˜FReferenceCollector::AddReferencedObject’: WARNING: Your program will randomly crash if this function is called when incremental gc is enabled. Pass TObjectPtr<…> instead of UObject* to AddReferencedObject(s) API’s. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.

Have you disabled the original ActionRPG Loading Screen module? It’s necessary for 5.4+, so first delete all blueprint references in the BP_Game Instance (only two blueprint library functions), than delete the module folder and all its references found in ActionRPG.Build.cs, RPGBlueprintLibrary.h, RPGBlueprintLibrary.cpp, and your *.uproject file. Then, build again. Check my tutorial in the learning section.

showing Missing action rpg module and action rpg loading screen

It is functioning correctly without any issues in UE5.4 and 5.5. If you are using 5.3, you need to switch to 5.3 branch

Thank you, I just fixed the API issue, also there isn’t any issue with the Loading Screen module, and it works really well.

1 Like

I managed to duplicate an enemy, actually, I made a blueprint child from the base Goblin class, and it works properly

I just downloaded the latest versions from GitHub for 5.4 and 5.5, but both of them throw an error when launching in the corresponding engine versions =(((

Please click ā€œYesā€ to proceed with building the project!

I figured out what the problem was! I had a version of the compiler for Visual Studio that was too new, which is why I couldn’t rebuild. So, the project is fine, thank you, and sorry for the trouble!

thank you mate you rock! this is an awesome project

1 Like

Thanks, I reviewed your code and you fixed the issue. I’m updating my procedure with a link to this thread.

ActionRPGLoadingScreen.cpp:

Line 12:
From: struct FRPGLoadingScreenBrush : public FSlateDynamicImageBrush, public FGCObject

To: struct FRPGLoadingScreenBrush : public FSlateDynamicImageBrush//, public FGCObject

By-the-way, do you know how to implement a variable in a slate widget? I am trying to pass in a random game hint to be displayed at the native loading screen, but I can’t find slate widget examples other than hard coded texts blocks. It seems I’ll need to create custom game settings for that.


Do you mean to make an argument for the SRPGLoadingScreen?
You need to put your argument here: between SLATE_BEGIN_ARGS and SLATE_END_ARGS

SLATE_BEGIN_ARGS(SRPGLoadingScreen) {}
	SLATE_END_ARGS()

For a reference, you can check how TextBlock handles argumants

1 Like

Correct, I am trying to modify the native code just for the sake of learning, but I’m getting trouble finding the correct syntax. I am following a tutorial playlist about creating a custom async loading screen that might help anyone interested in this topic.

Asynchronous Loading Screen With C++ - YouTube

The free plugin Async Loading Screen has input variables too, and more customization options than the native ARPG Loading Screen module, but its code is a bit more complex to follow and reproduce. I’ll use the free plugin because it provides more options.