Project Integration
On this page, we’ll learn how to import the FMM files and set them up correctly.
Plugins
The FMM Core Plugin includes all the menu assets and code needed. It's easy to install, especially if you purchased FMM from the FAB marketplace.
🛒 Install FMM From FAB Marketplace
Open Epic Games Launcher & Head Library TAB and search for Full Modern Menu System Then Press Install to Engine

Select the target engine version and hit Install

After the plugin installation is done, open windows file explorer and head to this direction
\UE_Root_Folder\Engine\Plugins\Marketplace
& Copy a folder called FullModeddf056c1df12V20
To your project Plugins folder.
If your unreal project has no folder called Plugins simply create it because you need it.
Finally enable the plugin from plugins manager inside the unreal editor.

🌐 Install FMM From Third-Party Sources.
If you obtained FMM from Gumroad or from illegal sources XD, simply place the FMM_CorePlugin
folder inside the Plugins
folder in the root of your project folder.
Do not use a plugin built for a different engine version than the one you're using—even if it compiles—because engine versions differ in code, features, and even Blueprint behavior.

🖥️ Adding Upscalling Plugins To The Project
The DLSS, NIS, FSR, Streamline, and XESS plugins are required for the FMM plugin to work correctly.
To install these plugins, I’ve provided links to precompiled versions for each engine version supported by the FMM System. You can download them from the links below.
DLSS - FSR - XeSS 2
5.6.0
Coming Soon
Your Plugins Folder Should look like this (FMM_CorePlugin should have different name if you get the asset from FAB).

Please verify that these plugins are enabled in your project, as some of them are not enabled by default.
This is how your plugins folder should look like :

Do not change settings that require a restart while in the editor or standalone game, as they only work properly in a packaged build! Using upscaling methods in the editor may cause issues, so avoid them. If you need to use them to maintain reasonable performance during development, toggle them via Project Settings or use console commands.
This may be enabled by default after installing the FMM Plugin, but make sure the Common UI Plugin is enabled—if not, enable it manually.

Pre-Setup Project Settings
At this step, we will set up our project settings to be compatible with FMM.
💹 Basic Project Settings
You should enable DirectX 12, DirectX 11, and Vulkan support as these are required for RHI settings to work properly.

Enable Ray Tracing & Setup lumen to work with Ray tracing for Lumen / RT Settings to take effect.

Don't forget to change your Game Viewport Client class to CommonGameViewportClient
.

Disable Gamepad support for Common UI, as FMM uses its own gamepad navigation system, which is different from both the Common UI and the engine's native system.

🖥️ Window Mode Compatibility
When the player puts the game in maximized window mode, it can cause compatibility issues with window mode and resolution handling, potentially breaking functionality. To prevent this, simply disable manual maximizing by turning off Allow Maximize & Allow Window Resize in the project settings.

⚙️ Show Plugin Content
Hit Settings in the content of your unreal engine and activate Show Plugin Content.

The plugin content folder should appear in the right of the folders navigation menu in the right with name of FMM Core Content

🖱️ Input Actions
Firstly, make sure your input component class is set to EnhancedInputComponent
& Default player input class to EnhancedPlayerInput
to use the new Unreal enhanced input.

Inside the project settings, enable the Enhanced Input UserSettings

Inside the engine, navigate to /Plugins/FMM_CorePlugin/Full_Modern_Menu
and open Settings_Configuration
to configure your Input Mapping Context.

In the Global Settings section, set the Default IMC to the Input Mapping Context that should be used when the game loads. Then, add all IMCs—including the default one—to the 'IMCs for Key Mapping' section. (This array supports multiple values.)

Adding your custom keys to the key binding menu is covered in Keyboard Key Mapping so keep it for later and focus on the project integration.
🎚️ Setup default level
The default level is the one that should open when the player clicks the 'New Game' button. It serves as the main starting level of the game.
All Levels in your project should be placed inside a folder called Levels, Create this folder in the content folder of your project or just use the one in the plugin content folder.
You can set up this level inside Settings_Configuration
(the same one used for Input IMCs) by simply entering the level name with the .umap
extension in the 'New Game Level' field.

🈶 Localization Info
The entire menu is localized; however, because the localization is handled within the plugin, Unreal Engine won't save your language settings unless your project has its own localization setup. If your project already includes localization, you can skip this step. Otherwise, follow the instructions below to set it up.
1 - Setup Localization In Localization Dashboard
Open the localization Dashboard from Tools/Localization Dashboard in the menu bar, and select english as native language :

2- Add all supported Languages
Press the Add New Culture button to add languages listed bellow.
Chinese
ZH
French
FR
German
DE
Portuguese
PT
Russian
RU
Spanish
ES
Ukrainian
UK

3- Gather And Compile Text.
Press The Gather text button, wait until it ends then hit Ok, press Compile text button then test the localization in Standalone Game.

4- Setup localization packaging.
Open you project settings, navigate to packaging and expand it to show Localization to package option.
Select All Languages in the table of supported languages, select main languages not subcultures meaning select English Not English (world) or English (Europe) and same apply for other languages.

Finalize Project Settings
Final preparations before content setup.
🎮 Game Default Map
Game Default Map is where the main menu is displayed. It is an empty black level with no in-game content and serves as a streamed level while the main menu widgets are active.
FMM includes a level named MainMenu_Level specifically for this purpose. To set it as the default level in your project:
Open your Project Settings.
Navigate to Maps & Modes.
Set MainMenu_Level as the default map under the Game Default Map section.

MainMenu_Level is located inside the Levels folder, note that you should put all your levels there or the loading system would not work on them. The System is smart, it search for Levels folder in both the plugin & your project, so if you don't want to place your levels inside Levels folder in the plugin, just create a folder in the content folder of your project called Levels and place your levels inside it.
If your game has a main menu level with 3D assets and scene and you want to use it as a background of the main menu, delete the MainMenu_Level
inside the Levels folder ,place your level insde the Levels folder (in plugin or content folder of your project) and rename it to MainMenu_Level
. Assign the Full_Modern_Menu_GameMode
to your level and put this level in the Game Default Map inside project settings like explained before.
🕹️ Game Instance
Set Modern_Menu_Instance as your game instance class inside project settings.

At this point the menu should work inside your game with no errors and no problems now head to the next page to learn how to set-up your Game Mode and character.
Last updated