# Mission System

**URL:** <https://forums.unrealengine.com/t/mission-system/2123664>\
**Category:** Blueprint\
**Tags:** permission, unreal-engine, Blueprint, question\
**Created:** [November 15, 2024, 1:43am UTC](https://forums.unrealengine.com/t/mission-system/2123664 "2024-11-15T01:43:12Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Blacies](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Blacies](https://forums.unrealengine.com/u/Blacies)\
**Post date:** [November 15, 2024, 1:43am UTC](https://forums.unrealengine.com/t/mission-system/2123664/1 "2024-11-15T01:43:12Z")

</div>

Hey everyone. I am making a single-player horror game. I want to make a mission system,which is going to have like 12-15 missions. Missions are gonna include puzzle-solving,bringing items etc. The problem is,I want missions to happen one by one,like once the player finishes a mission,and goes a place,then second mission is gonna start. Can anyone guide me?  
Regards.

---

<div class="post-metadata">

**Author:** ![VisAgilis](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/visagilis/32/891043_2.png) [@VisAgilis](https://forums.unrealengine.com/u/VisAgilis)\
**Post date:** [November 15, 2024, 7:14am UTC](https://forums.unrealengine.com/t/mission-system/2123664/2 "2024-11-15T07:14:04Z")

</div>

Here’s a tutorial that covers the exact thing you want 😇

[![](https://d3kjluh73b9h9o.cloudfront.net/original/4X/5/7/3/573516b43a53570e1c7b09984b9796f2c3e6deb5.jpeg "How to make an Simple Mission Objective System in Unreal Engine 5") ](https://www.youtube.com/watch?v=ft8mUfN35XU)

---

<div class="post-metadata">

**Author:** ![PREDALIEN](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/predalien/32/1194670_2.png) [@PREDALIEN](https://forums.unrealengine.com/u/PREDALIEN)\
**Post date:** [November 15, 2024, 7:33am UTC](https://forums.unrealengine.com/t/mission-system/2123664/3 "2024-11-15T07:33:26Z")

</div>

> [@Blacies](#):
>
> The problem is

This is probably the easiest thing you will encounter.  
You need a “mission manager” that will have a list of tasks (an array), and a task object itself, which the delegate will call when the mission is completed.

---

<div class="post-metadata">

**Author:** ![Blacies](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Blacies](https://forums.unrealengine.com/u/Blacies)\
**Post date:** [November 15, 2024, 9:22am UTC](https://forums.unrealengine.com/t/mission-system/2123664/4 "2024-11-15T09:22:50Z")

</div>

Thanks for your reply sir! Can you be more spesicific if you don’t mind? I’m kinda new at UE…

---

<div class="post-metadata">

**Author:** ![PREDALIEN](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/predalien/32/1194670_2.png) [@PREDALIEN](https://forums.unrealengine.com/u/PREDALIEN)\
**Post date:** [November 15, 2024, 10:19am UTC](https://forums.unrealengine.com/t/mission-system/2123664/5 "2024-11-15T10:19:43Z")

</div>

Create two Blueprint classes that are children of the Actor class: “Mission Manager” and “Mission”.

In Mission blueprint - set the flag “Generate Abstract Class” in Class Settings (this is not required but it is a good practice since your base class has no functionality and with this flag you will not be able to add actors of this class to the level) and add a delegate named “OnMissionComplete” and custom event “StartMission” to it.

Then you create child classes from “Mission” class, where you track the execution of a specific missions, and after all conditions are met, you call the “OnMissionComplete” delegate.

In Manager blueprint - create something like this:

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/4/9/0/490042a1a5a3a5ba5b737c8516a101b43fcb0136.png)

Then add one manager to the level, and child missions, and add them to the manager array on the level.

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/1/4/f/14ff2f38181aa4833f0d50051ddbe6dc836d7ab1.jpeg)

“Open the eye” to the array so it can be modified on the level.  
 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/7/f/d/7fd7d95edde9eefa24cbe0194d70377350151a3d.png)

Strictly speaking, you can not make a manager, but just tell one mission which one should be completed next, but for such tasks, in my opinion, it is better with a manager.

---

<div class="post-metadata">

**Author:** ![Blacies](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Blacies](https://forums.unrealengine.com/u/Blacies)\
**Post date:** [November 15, 2024, 10:37am UTC](https://forums.unrealengine.com/t/mission-system/2123664/6 "2024-11-15T10:37:02Z")

</div>

I will try this. Thanks a lot!

---

<div class="post-metadata">

**Author:** ![Blacies](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Blacies](https://forums.unrealengine.com/u/Blacies)\
**Post date:** [November 15, 2024, 10:47am UTC](https://forums.unrealengine.com/t/mission-system/2123664/7 "2024-11-15T10:47:44Z")

</div>

I’m so sorry but would you mind if I ask you to explain step by step? Like I said earlier I am new at unreal engine and having some trouble understanding and applying some of the things that you did and explained…

---

<div class="post-metadata">

**Author:** ![VisAgilis](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/visagilis/32/891043_2.png) [@VisAgilis](https://forums.unrealengine.com/u/VisAgilis)\
**Post date:** [November 15, 2024, 11:01am UTC](https://forums.unrealengine.com/t/mission-system/2123664/8 "2024-11-15T11:01:05Z")

</div>

> [@Blacies](#):
>
> I want missions to happen one by one,like once the player finishes a mission,and goes a place,then second mission is gonna start.

From this description, it seems like you don’t need to check if certain conditions are met to set a mission as completed. For example, if the next mission is behind a door and the current mission is to open that door, that already means a new mission can only be assigned upon the completion of the previous one. And I feel like that’s the case in your game. So the tutorial I’ve provided in my initial post should be sufficient for your objective. 😊

---

<div class="post-metadata">

**Author:** ![Blacies](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Blacies](https://forums.unrealengine.com/u/Blacies)\
**Post date:** [November 15, 2024, 11:03am UTC](https://forums.unrealengine.com/t/mission-system/2123664/9 "2024-11-15T11:03:21Z")

</div>

Yes and no 🙂 For example,first mission is gona be going inside,but when the player gets inside there’ll be 11-15 more missions. I don’t want all to be triggered,I want them to be step by step. Also thanks for providing the video. 🙂

---

<div class="post-metadata">

**Author:** ![VisAgilis](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/visagilis/32/891043_2.png) [@VisAgilis](https://forums.unrealengine.com/u/VisAgilis)\
**Post date:** [November 15, 2024, 11:05am UTC](https://forums.unrealengine.com/t/mission-system/2123664/10 "2024-11-15T11:05:14Z")

</div>

> [@Blacies](#):
>
> inside there’ll be 11-15 more missions

I don’t think that would be a problem 🙂

---

<div class="post-metadata">

**Author:** ![Blacies](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Blacies](https://forums.unrealengine.com/u/Blacies)\
**Post date:** [November 15, 2024, 11:06am UTC](https://forums.unrealengine.com/t/mission-system/2123664/11 "2024-11-15T11:06:07Z")

</div>

Game will be in a stricted area,so if I use collision box etc to trigger the mission then the player will interact all of them…

---

<div class="post-metadata">

**Author:** ![VisAgilis](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/visagilis/32/891043_2.png) [@VisAgilis](https://forums.unrealengine.com/u/VisAgilis)\
**Post date:** [November 15, 2024, 11:06am UTC](https://forums.unrealengine.com/t/mission-system/2123664/12 "2024-11-15T11:06:58Z")

</div>

The trigger can be any other thing.

* * *

Like I explained before, I think the first tutorial I provided should do the job **for your specific case** , but here’s another one if you wanna check that out as well:

[![](https://d3kjluh73b9h9o.cloudfront.net/original/4X/4/1/2/4124cc7cd939a7db493309c3d092f3f767eade3d.jpeg "Unreal Engine 5 RPG Tutorial Series - #37: Quest Objectives") ](https://www.youtube.com/watch?v=wOfx0zX1f_A)

Hope these help!

---

<div class="post-metadata">

**Author:** ![Blacies](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Blacies](https://forums.unrealengine.com/u/Blacies)\
**Post date:** [November 16, 2024, 6:49pm UTC](https://forums.unrealengine.com/t/mission-system/2123664/13 "2024-11-16T18:49:01Z")

</div>

Any helps?
