S-Quest: quest/mission builder

S-Quest is a quest/mission builder for Unity3D. It allows you to create advanced quests easily without coding . S-Quest is suitable for all types of games, you can customize it to fit all your projects. S-Quest also includes a player experience and level manager, quest log and an objectives bar.

  • Edit everything from the customized quest editor.
  • Six different types of quests: Eliminate, collect, talk to a quest giver, go to a specific place, press/hold a certain button and follow an object. All quest types come with multiple settings to make each quest unique!
  • Quests can have one or many conditions.
  • Create a scenario/story by linking quests to each other (unlock quests by completing another one).
  • Create side quests/missions for your game.
  • Includes a quest log that allows the player to display his active quests, with full information, and control them.
  • Includes an objective bar with a progress bar that displays the active quests of the player along with the main objective.
  • Customize your quest GUI without coding.
  • Includes full keyboard and joystick support.
  • Includes a player XP points and level manager with an example progress bar.
  • Comes with a detailed guide.
  • Includes example audio clips and sprites.
  • Multi-scene quest progress support (You can continue progressing in active quests even when the quest giver is not in the scene).

Demo:
WebPlayer Demo

Documentation:
Online Documentation

Third Party Support:
S-Inventory: Reward the player with S-Inventory items after finishing quests and make the player collect S-Inventory items as a quest type.
Relationship Inspector: Creates a node-based editor to facilitate creating and managing quests!

ChangeLog:

ChangeLog

v1.00 - 14/01/2014:

Initial version.

v1.01- 16/02/2014:

  • Added a progress bar for the “elimination” and “collection” quests.
  • The player can know how far he is from the target location in “meeting” and “goto” quests.
  • Added 2 new quest themes: classic and visual themes.
  • A lot of new settings for the quest and the quest manager with every quest theme.

v1.02 - 30/03/2014:

  • Converted all the scripts to C#.
  • The package now includes C# and JS scripts at the same price.

v1.03 - 03/05/2014

  • Fixed a bug when having two quests or more in the same quest giver.
  • You can now link S-Quest with S-Inventory automatically by dragging and dropping an item prefab into its field.
  • Added a C# demo scene.

v1.04 - 19/08/2014:

  • Added full support for joysticks and keyboard keys to interact with quests.
  • Three quest control modes: mouse, keyboard or mouse and keyboard.
  • Item collection script now supports joystick and keyboard buttons.
  • Ability to reset saved quests.

v1.05 - 23/09/2014:

  • Fixed a bug in displaying quest information when you are talking to a quest giver and have an active meeting quest.
  • Fixed a bug that doubles the player’s XP and item reward.
  • Added a range for the Goto quest objective’s destination.
  • You now activate a quest when the game start.
  • Fixed a bug when rewarding a player with an item (Requires S-Inventory).
  • You can now see the quest reward item on the quest window and see a description of it when you hover over it with your mouse. (Requires S-Inventory).

v1.06 - 02/01/2015:

  • uGUI (introduced in Unity 4.6) support.
  • Refactored code to reduce memory usage.

1.07 - 13/03/2015:

  • Unity 5 support.
  • Fixed some UI related bugs.
  • Added custom quest events: OnPlayerAcceptQuest, OnPlayerAbandonQuest and OnPlayerCompleteQuest.
  • Added saving and loading quest objectives progress.

v1.08 - 03/07/2015:

  • Multi-scene quest progress support (You can continue progressing in active quests even when the quest giver is not in the scene).
  • New UI design.

v1.09 - 27/02/2016:

  • Removed the quest order which was being used to unlock quests when completing their processors.
  • You can now assign to each quest a parent quest so that it’s only available when the parent quest is completed.
  • Each quest MUST have a unique quest code now: Added a button in the “QuestManager” editor that allows to search for multiple quests with the same quest code.
  • Changed the way quests’ states are saved and loaded.
  • Added integration with “RelationsInspector” asset which allows you to create/remove and link quests inside a node-based editor.

v1.10 - 10/11/2016:

  • Fixed the demo scene.

  • Fixed the bug when the player is required to stay at an objective’s target position for a certain amount of time.

  • Code modification to avoid useless calls and improve performance.

  • Added the option to save each quests’ progress (in objectives) even after abandoning it.

  • Added the option to assign a time limit to each objective of a quest, which triggers a custom event when the time is over.

  • Added the option to abandon the quest automatically after the time limit of one of its objectives is over.

  • Added the option to make a quest non abandonable by the player.
    v1.11 - 30/11/2016:

  • Fixed a bug in the quest’s timer.

  • Fixed a bug in the objective’s bar UI.

  • Added a new quest type: “Press A Key” quest type, where the player has to press a key once or hold it for a certain amount of time.

  • Added a new quest type: “Follow Object” quest type, where the player has to follow a moving object for a certain amount of time and stay within a minimal and maximal distance from the moving object.

v1.12 - 15/01/2017:

  • Improved the objectives bar UI.
  • Quests can now be repeatable.
  • Fixed a bug in the quest log buttons.
1 Like

Screenshots:




The next update of S-Quest will include two new themes.

S-Quest v1.01 is now available on the asset store: new quest themes, new objectives bar and more!

Get S-Quest for 50% off today!

is it possible to add an audio clip for each bit of text (for narration) ?

That’s not available right now but I might add it in the next update.

I’ve been trying to get it working with no luck.
The XP script is throwing errors

Also notice that the quest givers aren’t responding either. This is the sharp version.

Edit:
Line 28 GuiStyle textStyle should be public GUIStyle in sharp

still the actors don’t respond in the sharp version, only the java works.

I take it you never even tested this. 56 deprecated warnings and all the C# scripts are done wrong. All the variables are static and/or private which halts on 999+ runtime errors.

A lot of S-Quest users are using the C# version of the asset. It works correctly for them and I haven’t received any e-mails concerning errors in the C# scripts. I have tested everything in C# and I re-tested it right now. It works correctly. Just because I didn’t include a demo scene in C# doesn’t mean I haven’t tested it. Please make sure that you have assigned all the needed variables of the quest manager and most important your player game object because that is the only reason where the quest givers will not respond. The warnings that you see are all caused by both of the editor scripts and that will be fixed in the next update.

I advise you to contact me here: http://soumidelrio.com/contactme/ so we can investigate more on your issue because I rarely check this post.

S-Quest v1.03 is here!

Updates:

  • Fixed a bug when having two quests or more in the same quest giver.
  • You can now link S-Quest with S-Inventory automatically by dragging and dropping an item prefab into its field.
  • Added a C# demo scene.

Hi, this is a gret asset and it’s easy to use. Thanks for that :slight_smile:
I do have a few things I want to see/questions.
First would be a ability to empty the saved completed quest, as during testing I need to test the same quest frequently. For now I’ll try and find the
file it saves to and delete/empty that so I can keep testing. Would also like to know, does the quest list carry over between scenes? For example, if I want my player to travel into a dungeon for a mission to complete it will the current quest carry into the new scene? Haven’t been able to test this yet.

Hello there, I’m really glad that you’re interested in S-Quest!
Emptying saved completed quests is easy, you just need to use “PlayerPrefs.DeleteAll()” since I use PlayerPrefs to save quests. But I will add a feature in the next update that will let pick saved quests and remove their progress. As for your second question, you can’t carry quests between scenes for now but I’m planning to add that feature in the next update.

Since its release on the asset store, S-Quest has got a rating of five stars out of five!
Thank you everybody!

Can you email me with the code to connect s-quest and s-inventory, in C#. Thanks jefftechstuff@gmail.com

Hello Jeff, please check your e-mail.

Got it, thank you!

Giving experience points to the player that has destroyed game Object. (Question for Photon networking)

I’m having trouble getting this right (C#);

Players have a health script > in the Health.cs

public int xP = 10;

(call the function) addXp();

public void addXp ( int Amount, int DestroyerID)
{
Debug.Log(“Destroyer : Add XP”);

PhotonPlayer Destroyer = PhotonPlayer.Find(DestroyerID);
GetComponent();
xP += Amount;
}

(it doesn’t like the int DestroyerID> overload method issue and I’m not sure the amount is correct. The exper. script is attached to the player) (I need to get the other player’s ID to issue the experience to them)

(here is what the function is in the experience script:)

public void AddXP ( int Amount ){
XP += Amount;
}

I appreciate the help, thanks.

public void addXp ( int Amount, int DestroyerID)
{
Debug.Log(“Destroyer : Add XP”);
PhotonPlayer Destroyer = PhotonPlayer.Find(DestroyerID);
Destroyer.gameObject.GetComponent().AddXP(Amount);
}

I’m on my phone right now but try the code above. If it doesn’t work, please explain more what are you trying to achieve.

That’s not working either. This is the health script attached to the target, which is a player also, I need to give experience points to the player who destroys this player. So I need to get the destroyer’s ID, then the component ExperienceManagerC and give the points to the destroyer.

so at the top of the health script> public int xP = 10;

calling the function addXp();

The function> void addXp() {

If you are getting the destroyer object right by the code you’ve posted then it should add XP points correctly by this line that I’ve added to your function:
“Destroyer.gameObject.GetComponent().AddXP(Amount);”

Please make sure that your “addXP” function is called and working correctly. Use Debug.Log in that function and print the destroyer’s ID and its game object name to check if it’s working properly.