Creating a Class System

Hey guys,

So, I’ve been bashing my head against a wall for the last few days trying to create the starting of a class system that allows players to pick a specialization like; hunter, tamer, or build. I started off hoping that the update to the dev kit would show the blueprint scripting behind the SpawnUI widget. Ideally, I’d just be adding a few buttons on the character creation screen to allow them to pick their class, but without the scripting for the SpawnUI widget, I’m not sure how to go about doing it that way.

My next attempt was to have the player pick a class when they hit level 10. I read every guide I could find about switching characters mid-game but most of them use a key input to cycle through a number of pawns as seen here: or

So, I’m starting to feel on the right track, but I want the pawn switch to happen through an UMG pop-up screen that appears when the player hits level 10. I found this post: which goes through the process nicely, but I got stuck with one spot. On the very last picture, my Cast to Player Controller looks different than the one in the picture, and I couldn’t figure out what the very last node (Set) is. Here’s my picture for reference: 1f816285c4be2eec8f04a06e3227278f8e9e8d5f.png

A few issues that I’m still stuck on:

  • This method doesn’t know if the pawn is female or male.
  • I’m not sure how to transfer the character customization and inventory to the new pawn.
  • I haven’t figured out to call a player’s level so that I can trigger the event when they hit level 10.
  • The array used in the Level blueprint creates the array by referencing the pawns that are placed in the Level. This won’t work for actual usage, but I’m not sure where/how to create the same array elsewhere.

At this point, I’m close to scrapping the project as it seems to be beyond me at the moment, but I thought I’d post here to get some discussion around this topic. When I started Ark, I felt it was a perfect game for specialization/classes which is why I was drawn to this mod idea.

About that there is a function called Get character level, but one thing missing would be an event “On level up”.

I’m also intersted in a class system so i’ll look at this blueprint and try something next week i think.

Your project is possible i’m sure, but some blueprint functions are missing to make it a little easier.

Hmm, could you do a tick event that checks if player is level 10? (dumb idea but I’m at a loss)

That function definitely makes me need to think about this more!

Aieron that would work as a timed event like hey guess what you hit 10 now choose a class but I think the harder part would be limiting certain things for people but if you teamed up with someone who could editing which engrams are available based on which title is picked.

That’s the only option at the moment honestly but as you can imagine it would take a lot of resource for such a little task.

Yeah, I decided to make it be a keybind trigger that can only be used once to act as Class Selection. The same keybind could be for a class perks menu after the first initial use!

I think I’ve solved my issue for determining if they are male or female using a boolean trigger to check what pawn type they are, but I haven’t tested my idea yet. If I recall correctly, the pawn blueprint have a boolean variable for “Is female” that’s viewable!

Now, my only concern is their inventory, but that should be doable, I think!