Advanced Quest System

Advanced Quest System


  • Screen UI Waypoint to navigate players to areas
  • Customisable Widgets and list of pre coded icons
  • Tracker Widget, this is a screen quest tracking widget that can be hidden on prompt
  • Events Widget, This is a shout to inform players that a quest has started or ended
  • Waypoint Widget, This is a screen UI waypoint that moves around the screen directing players to specific points
  • 3 Example templates that i will breakdown in this guide
  • onTrigger functions to fire events upon completion of step or quests
  • Multiple quests enabled at any time
  • Hook quests into challenges, these find which challenges are currently active and make the connected quests active.
  • Rewards, add currency, weapons or any template with inventorySpecScripts and add the template to the reward property, you can also change how many of the templates a player will receive (Currency is also applicable)

What is Advanced Quest System


Advanced quest system is a package released by Sovereign Games that allows creators to easily create a quest system in their games. The package comes with 3 templated examples but the possibilities are endless including new user guides, something as simple as pick up item or move to point. Added extras are the highly customisable widgets and the thorough properties that we hope will allow even basic creators find use of this package.

How to set up Advanced Quest System (User)


Search for “Advanced Quest System” in the community tab and install.

Open the user tab, click entity, add child and add userQuests straight onto the user

Now you will have 3 options appear
1 - Events widget, Events widget is the "Shout, this informs players when a quest becomes active or when a quest has been completed.

2 - Tracker Widget, Tracker widget is a screen UI that shows active quests, they will also represent information like quest counts, time remaining for specific quest and an icon. The icon should be coherent with the world waypoint to help players see which waypoint aligns with which quest.

3 - Waypoint widget, Waypoint widget is a screen UI that feels like a world widget, this is to direct users to areas of interest or simply guide them through worlds.

All the above have editable properties that allows users to change Fonts, Font size, Font Colour, Icon size, icon colour.

How to set up Advanced Quest System (ExampleABC)


We have tried to make AQS as simple as possible to set up in the world, while making sure those creators with the more advanced knowledge of the crayta editor, have the ability to utilise all the properties, to create complex quest systems.

  • Add userQuest to the user tab, as you can see this bring 3 widget children, this is the quest UI and waypoints.

This is a shout made for the quest system, this will notify the user that a quest has started or a quest has finished. On the right, you can see customisable properties, this allows for changing the fonts and colours without the need of learning html or css.

This is the quest UI, and stores all the active quests, like the eventWidget we have added alot of properties allowing you to customise every aspect of the visual representation. The widget itself can hold many different types of quest from counts (Pull lever 5 times) to Time (Finish quest in x-seconds). This widget will connect with the questScripts from exampleABC and show the relevant information based on the properties you set within the quest steps.

Also we have allowed users to select specific quests via a prompt which will show screen waypoints, and the icon you select for each quest will be represented in the waypointWidget

This is a screen UI, and will show players how to get to specific points to complete steps or quests, the icon on the waypoint will represent the icon for the quest it is directing you to.

Next we will look at the exampleABC

Every property has tooltips to hep you understand what each one does, so i will break down how to add more steps and make a bigger quest and waypoint system.

The parent locator is named ExampleABC, this holds the questScript which has alot of customisable properties allowing you to add challenges, meaning this quest is only active when a daily XP challenge is selected, or fire events when a quest is started or completed.

To add more waypoints to this system, select step3 from the world tree- duplicate - now check the properties and on the new step, change the stepID properties from 3 to 4, this will now make this the last step needed to complete the main quest. This can be done as many times as you wish.


Some use cases for this type of system is those games that are on the large side or sometimes difficult to find you way through, or even just using this example as a new user guide to navigate the start of a level, you could add things like “Jump over this” or “Climb up here”

We have added “Rewards” as a property, this will work directly with the crayta default inventory, and any template you have with inventorySpecScript… Also it can give currency rewards for completing quests, this will work with the currency template available in Adventure and Tycoon Blueprints.

Also the challenges drop down, by selecting these you can add the challengeID and if that challenge has been selected as part of the 3 for that day, the quest will become active, this can be used to create daily rewards or daily quests

The quest system runs off Quest ID, to have many quests you need many QuestIDs, we have set these to be generic numbers, but you can be more specific when naming them to help keep track of which Quest is which.

Example of how it looks straight out the box

Crayta - Waypoint System - Quest System - YouTube

How to set up Advanced Quest System (exampleLever)


Pull the lever example will start onTrigger, drag the example into the world, click preview, enter the teleprot pad, this will fire the quest event to your trackerWidget, this quest requires multiple pulls of a lever (or interacts with a trigger).

Here is and example of having multiple quests active, changing waypoint, and completing quests
Multiple Quests, Waypoints, Swapping quests - YouTube

Notable extras with Advanced Quest System


Widget Config

  • You can turn of notifications for quests so these are completed without notifying players

Give items

  • You can give items to players when the quest starts, when completed or even when the quest is failed, these will need to be templates with inventorySpecItem script attached

Ability to cancel quests

  • While having a quest selected you can double tap the corresponding hotkey to cancel the quest.

Everything is customisable

  • We wanted to make sure you can do anything you desire with this package so me made as many properties as possible using minimal scripts to keep everything in the least amount of places as possible.

Challenges and Rewards

  • You now have the choice of adding challenge specific quests, that only become active when the challenge is also active, this is a good way of giving in game rewards for completing the XP battle pass challenges

AutoSave feature

  • We have added the property for autosave, this will save the quest on intervals set by you the creator, if this isn’t active then players leaving and re-joining will need to replay the quest.

Setting Up your own quest system using Advanced Quest System

  • Add userQuests to the user template, make sure to check the questID isnt matching that of another quest (If you still have examples in the world, then this will need to be changed to questID 4)
  • Add a locator to the world, and add the quest script to this locator
  • Make a child locator of this and add questStepScript to this
  • Configure the properties, reading through all the tooltips to help deicide how best to set up your system
  • Create a child trigger, and bind either onInteract or onTrigger with the parent step locator, this will send the event when completed, remember to toggle playersOnly to on on the trigger properties.
  • Preview


  • Never change the Quest ID once the game has been published, this will break any quest that players are currently doing in the published version… Only do this if you plan on resetting saveData

  • You can override notifications by changing them in the stepProperties

  • If in doubt, the added examples should help set up your own, or you could simple add more quests to the examples.

Here is a link to a quick showcase, and a link to a video showing how you could use multiple quests within a game setting.


Showcase Video

What's Included?

User Template - Script and 3 Widgets

World Assets - 2 Scripts

  • questScript
    This is a config and trigger script, you need a copy of this for each quest

  • questStepScript
    The steps of each quest, starting step 1 is only really needed if the quest starts on user login, as the starting step in normal quests is also the start of the quest, so they would only see the widget config of step 2

Change Log

  • Fixed a bug with the waypoint widget displaying placeholder step text when configured not to display any text
  • Added requested feature; ability to clear inventory completely, or take certain items, and counts from the inventory when a quest starts/completes/fails and on step trigger
  1. Updated properties on questScript;

    Clear Items On Start/Complete/Fail
    Items can be either taken or cleared, when cleared, all items in the inventory (including currencies) will be cleared, this happens before any items that are given by the same action.
    Take Items On Start/Complete/Fail
    Items can be either taken or cleared, when taken, 2 arrays will display, the templates array will be matched with the counts array at the same positions, so Currency set in position 1 in templates, means 50 from position 1 of counts is taken.

  2. Updated properties on questStepScript;
    Works in the same way as quests, just for each step triggered.

  • Fixed a bug being unable to abandon a quest if it is your only one and isn’t set to be active on start

  • Added 2 new properties to the tracker widget (by request);

  1. Added “showOnNewQuest” property to the “userQuestTrackerWidget” to allow you to set the tracker to automatically display when the user starts a quest (if it is hidden)

  2. Added “hideWhenNoQuests” property to the “userQuestTrackerWidget” to allow you to set the tracker to automatically hide when the user completes or fails their last quest and has no quests left (if it is visible)