Community Tutorial: Updating Action RPG from UE4 to UE5

Edit Note, Ooops, I see now you only tested for 4.27 to 5.0 to 5.1 and not 4.27 to 5.1! I have edited the post to reflect this realization. I assumes this does mean you need to have Engines 5.0 to update to 5.1 or do I also need 4.27 as well?

Can you also clarify the following steps?:

“1. Create a new project and open it up.” This refers to the Action RPG sample project correct? Not a blank project of some other kind?

Additionally which way should I open it up? Double clicking the uproject file, opening it via the Unreal Engine 5.1 launcher under “Browse”, or by Generating Project files (Using 5.1?) and then compiling in VS? (I am using 2019 VS to be clear)

“2. Disable MDL and Slate Remote plugins”

I saw that you could disable Slate Remote by editing the uproject file, but I don’t seem to see which Plugin MDL refers to, do you have a screenshot?

Another edit:
Regarding the suggested change here:

Changes from: check(AbilitySystemComponent);

To: UAbilitySystemComponent* ASC = GetTargetASC();

    if (ASC)

Is this meant to be:

UAbilitySystemComponent* ASC = GetTargetASC();

if (ASC != nullptr) {
    OnAbilityCancelled();
}

Correct?

One last question for the following:

Line 11:

No changes, just "Cut and paste":  Super(ObjectInitializer)

I’m just a little confused, is this saying if “Super(ObjectInitializer)” wasn’t present then we should add it? Otherwise do nothing right?

Edit with Results:
Upgrading straight to 5.1 Seems to work just fine.

There was some initial weirdness with trying to open the project, the way I would re-phrase the steps to be slightly clearer is…

Steps to go from 4.27 to 5.1:

  1. Create a new ActionRPG Project in the Unreal Engine launcher.
  2. Edit the ActionRPG.uproject file and scroll down to “SlateRemote” and change it from “true” to “false” without quotes.
  3. Generate Project files using 5.1
  4. Open the ActionRPG.sln in your IDE of choice, presumably Visual Studio 2019 or 2022.
  5. Follow the suggested code changes as per your original article, although I would clarify that the line 180 suggestion regarding check(AbilitySystemComponent); probably is meant to have OnAbilityCancelled(); in the added if statement?

And that seems to work.

There is an addendum to make though that maybe I would add the following step:
6. Go to Project Settings and to Supported Platforms and re-check if they are correct for your use, such as adding Windows and removing the others if you just intend to Package for Windows.

1 Like