Tala Esenlikler

0 %
Tala Esenlikler
Unreal Engine
Developer
About Me

I’m a systems-focused Unreal Engine developer with 7+ years of experience creating plugins, gameplay frameworks, and editor tools. I specialize in building modular, multiplayer-ready systems using Blueprint and C++, and I’ve released 10+ products on the Fab Marketplace — 4 of which were featured in sponsored promotions.

  • Residence:
    Türkiye
  • City:
    Ankara
Turkish
English
Unreal Engine 5
Blueprint Scripting
C++ Programming
Animation Tools
UI/UX Systems (UMG)
Material Integration
Custom Tools & Editors
Replication & Multiplayer
Visual & Art
Blender 3D
Photoshop / Affinity Designer
Development Practice
  • Git Knowledge
  • Documentation & Support
  • Debugging & Validation
  • Modular Design Standards

Project Setup & Integration

Before diving into the features, let’s get the Ultimate Menu System properly integrated into your project. This system is designed to be lightweight, modular, and fully adaptable — but it does require some setup to function as intended.

We’ll walk through how to migrate the assets, set up your GameInstance, and get your levels organized. No worries — this only takes a few minutes, and I’ll guide you through every step.

Migrating to Your Project

Let’s start by bringing the system into your project:

  1. Open the Content Browser in your existing project.
  2. Locate the UltimateMenu folder in the sample project.
  3. Right-click the folder and choose Migrate.
  4. When prompted, select your target project’s Content folder.
  5. After the migration is complete, open your project and confirm the folder is now visible.

Now that the assets are in place, let’s set up the GameInstance — which is the brain of how this system handles menu logic and level transitions.

Game Instance Setup

If you already have a custom GameInstance, don’t worry — you don’t have to replace it. Instead, you’ll just copy over what matters.

Here’s how to do that:

  1. Open your existing GameInstance Blueprint.
  2. In the Class Settings, add the interface called Interface_UMS_GameInstance.
  3. Now, open BP_GameInstance from the Ultimate Menu System folder.
  4. Copy all the logic from its Event Graph.
    • Pay close attention to the Event Init — avoid overwriting your own initialization logic.
  5. In your GameInstance, right-click any missing variables and choose Promote to Variable to recreate them.
  6. Copy over any blue-colored functions (pure functions or interface functions).
  7. Finally, make sure your level loading, return-to-main, and save/load calls are routed through your updated GameInstance.

Level Structure

This menu system uses a streamed loading pattern to avoid freezing during transitions.

Here’s the structure:

  • GameLevel – Persistent level (should be empty)
  • PlayLevel – Your actual gameplay level (added as a streamed level)

In your Blueprints:

  • First open GameLevel
  • Then stream PlayLevel using Blueprint
  • Set your Game Mode to start players as Spectators — this prevents characters from falling before the level fully loads

You’ll find Open Level calls already wired in the sample GameInstance — just match your own level names accordingly.

Player Controller Setup

Your Player Controller only needs minor setup to work with the menu system:

  1. Open your Player Controller class.
  2. Add the interface: Interface_GamePlayerController.
  3. Implement the required interface functions.
  4. You can use PC_GameController as a reference — feel free to copy-paste and adapt logic from there.

That’s it! The Player Controller integration should now be fully functional.

What’s Next?

Now that the system is migrated and configured, you’re ready to start working with the core systems — like saving/loading progress and hosting multiplayer sessions.

In the next section, we’ll dive into the Save, Load, and Multiplayer systems, so you can get your game data persistent and ready for online play.

Reddit
LinkedIn
Facebook
WhatsApp
X
Email