Game Mode & Character

Learn how to make your existing character and GameMode work with FMM.

Game Mode

How does FMM handle GameModes, and how can you add your existing one to work with FMM?

🕹️ FMM Game Mode

This GameMode is located in the Blueprints folder inside the Full_Modern_Menu directory and is responsible for sound volume, background music, and main menu handling.

By default this Game Mode is assigned to the MainMenu_Level Level located in Levels Folder.

🔌 Setup Component

1 Setup HUD Inside GameLevelLoaded Component

The menu by default has a HUD to show some hardware info and stats related to in-menu upscalling techniques.

If Your Game Has No HUD Just Delete The Whole Thing Commented In Red And Head To Second Step !

Go to the GameLevelLoaded component’s Event Graph and update the HUD Widget in the Hide and Show Widget HUD section to use your own HUD Widget.

2 Setup Required Custom Event Inside Your Character

Inside your character (the one linked to your GameMode), create a custom event called RegatherSettings.

The custom event you should create inside your character

Your game project must have a GameMode that manages gameplay and defines all related rules. Adapting it to FMM gives you access to features like opening the pause menu and loading levels from the main menu.

1 Open your GameMode and press Add button.

In this example, I’m using a GameMode called Normal_GameMode as my default GameMode.

2 Select GameLevelLoaded component.

3 Inside the event graph of your GameMode, Find Event Begin Play And Connect it with Initialize FMM (you can get Initialize FMM from the Game Level Loaded Component)


Player Character

We will help you set up your existing character, linked to your existing GameMode, to work with FMM smoothly and without issues.

🚹 Setup Pause Menu

To open the pause menu, you need to link the Pause Menu event to your player character’s Pause Game Input Action, which we’ve already set up this input action along with other input actions on 🖱️ Input Actions .

If your game has no HUD, don’t add the Remove HUD from Viewport node, as it’s already removed.

⚙️ Setup Gather Settings Event

Bellow the same commented section is a section commented in yellow, inside it replace the cast to with cast to your own character and call the event that we created at Game Mode & Character

🎦 Setup Character Sensibility Settings

This section is optional, you can remove the sensibility options from the menu or replace them by desired options because this depend on your game, a racing game would not have for exemple sensibility options !

First of all, you should create the required variables inside you character listed in the table below.

Mouse Sensibility
Invert Mouse
Controller Sensibility
Invert Controller

Float

Integer

Float

Integer

Picture showcasing how the final result should look.

Copy the Gather Input Settings Section from ThirdPersonCharacter And Replace Regather Settings Custom Event with the one we created it the beginning at 2 Setup Required Custom Event Inside Your Character

This is how it looks in the example I made with ThirdPersonCharacter.

This should be located after the Event Begin Play inside your player character

After that, you will have variables for each control setting in your character. Now you can experiment and adapt them to your input system, or follow the method I used in the ThirdPersonCharacter. Now head to Save & Load System To Understand How Save Works !

Last updated