Search Unity

[RELEASED] Dialogue System for Unity - easy conversations, quests, and more!

Discussion in 'Assets and Asset Store' started by TonyLi, Oct 12, 2013.

  1. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Hi @Le-nain! Thanks for the kind words!

    Have you ticked Settings > Fast Undo for Large Databases on the Dialogue Editor's Database tab? This will default to ticked in the next release. It uses just a little more RAM, but it may resolve all your performance issues without having to use multiple databases.

    If you do use multiple databases, can you work by conversation title instead of conversation ID? This would be the easiest solution.

    Otherwise, I can add an optional ID range to the import settings.
     
    TeagansDad likes this.
  2. Le-nain

    Le-nain

    Joined:
    Nov 26, 2012
    Posts:
    62
    Wow, quick answer! Didn't expect it, wrote that on my way off from work to have an answer tomorrow :D

    I forgot to state (wanted to add a P.S.) that I'm on Unity 5.5.1f1, using the 1.6.7 version of DS (we've been working on that project for about a year now) ; I have quickly read the patch notes and believe this setting was added later on. I'll try to upgrade tomorrow in a test project, hopefully nothing breaks! I'll report back here when it's done.

    As a side note, to answer your 2nd point: I could have used the titles, but I went for the IDs specifically because I knew they wouldn't/shouldn't (lol..!) be changed later on, as opposed to titles that are definitely modified (mostly to organize stuff, via "/" and subfolders). And even if I wanted to, it would be a gigantic work changing that now, as we already have something like a hundred dialogues, all setup with each of their nodes hooked up to the loc file (and so much more, as part of the aforementionned specificities of our system, each dialogue node has many automatically linked components like scripted gameplay effects list, conditions list for available responses, etc. that all follow the same logic).
     
  3. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Got it. The Fast Undo for Large Databases checkbox should take care of the performance issues. If it doesn't, I'll add an option to import IDs using a specified range.
     
  4. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    @thenamesace -

    Updated Support Packages for Realistic FPS Prefab 1.4, S-Inventory 1.32 for RFPS 1.4 Available

    The Dialogue System Extras page now has updated support packages for Realistic FPS Prefab 1.4. If you're using S-Inventory with RFPS, please download and import both packages. After importing the S-Inventory Support package, import the RFPS S-Inventory Support sub-package.
     
  5. Le-nain

    Le-nain

    Joined:
    Nov 26, 2012
    Posts:
    62
    I did duplicate my project and upgrade DS, checked the Fast Undo, and it did speed up quite a lot. Thanks!

    I still believe it could be great to be able to setup a starting value on a per database basis for the ID generation in order to have a better control over conflicting IDs, but I think we won't need this feature to be able to finish our project ; maybe keep that in mind in case you can add it to a subsequent version (or don't, it's all up to you anyways :p).

    Great reactive support!
     
  6. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    It's on the roadmap now. :) It won't be in the upcoming release (planned for the end of this week), but hopefully in the next one.
     
    hopeful likes this.
  7. Le-nain

    Le-nain

    Joined:
    Nov 26, 2012
    Posts:
    62
    You're the man!
     
  8. janiche

    janiche

    Joined:
    Jan 4, 2015
    Posts:
    52
    Hello, I bought Dialogue System (DS) few month ago, and now I'm planning to make my UI localization using localization table provided by DS, but when I edit my exported CVS, and then import it, for some reason DS wont recognize any field, any languages. There is a way to safe import and safe editing?
     
  9. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Hi @janiche - Are there any errors in the Console window? If you export the table and then immediately import it, does that work? What program are you using to edit your CSV? You may need to change the encoding type (e.g., Unicode, UTF-8, etc.) if the program exports with a specific encoding. Please feel free to send a copy of your localization table and CSV file to tony (at) pixelcrushers.com. I'll be happy to take a look.
     
  10. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Save/Load Bugfix Patch Available

    An improvement in version 1.7.5 significantly reduces saved game sizes, sometimes by more than 90% if you're using SimStatus. Unfortunately there's a little bug that causes problems loading games with variable names or actor names that contain special characters like period ( . ) or apostrophe ( ' ). The fix will be in the next version, which I expect to release on Monday. In the meantime, if you're affected you can download a patch on the Pixel Crushers customer download site. If you need access, please PM me your Asset Store invoice number.
     
    hopeful likes this.
  11. claudiorodriguescampos

    claudiorodriguescampos

    Joined:
    Jun 23, 2017
    Posts:
    98
    Hi,
    I try to use Dialogue System and Realistic FPS Prefab.
    I have a project that I use RFPSP, then I try to import the Dialogue System into this project.
    I add the "Horizontal" and "Vertical" inputs in the InputManager, but when I try to run any example scenes from Dialogue System. The game freeze and I can't do anything. Even the game animations freeze and I can't see any error in the console.
    How I can correct that?
     
  12. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Hi @claudiorodriguescampos - RFPSP's project settings start the game at timeScale=0 (paused). The player prefab unpauses it when you play. Does RFPSP's demo scene play correctly? If so, does the Dialogue System's RFPSP example play correctly? (This also means that if you try to play a non-RFPSP scene in this project, it will stay paused.)

    If you're using RFPSP 1.4 (the latest version that was released a little bit ago), download and import the updated RFPSP Support package from the Dialogue System Extras page.
     
  13. claudiorodriguescampos

    claudiorodriguescampos

    Joined:
    Jun 23, 2017
    Posts:
    98
    Hi @Ton
    Hi @TonyLi
    I use RFPS 1.2.3 and I see now that is already had a Realistic FPS Prefab inside the third party plugins on Dialogue System folder. I open the unitypackage and import it. The scene with RFPSP and Dialogue System works perfectly. Thanks for the help.
     
    Last edited: Sep 21, 2017
  14. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Great! If you have any questions about using the integration in your own scenes, just let me know. And if you upgrade to RFPSP 1.4, please remember to import the updated support package from the Extras page. (The updated support package on the Extras page is only for RFPSP 1.4.)
     
  15. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Updated PlayMaker Support Package Available

    The Dialogue System Extras page has an updated support package for PlayMaker that adds several Lua functions. Add the component "Dialogue System PlayMaker Lua" to your Dialogue Manager to make these functions available.
    • FSMEvent() - works like the FSMEvent sequencer command.
    • GetFsmXXX("variable") - gets a global variable value, where XXX is Bool, Float, Int, or String.
    • SetFsmXXX("variable", value) - sets a global variable value.
     
  16. castana1962

    castana1962

    Joined:
    Apr 10, 2013
    Posts:
    400
    Hi ToniLi
    I am sorry to bother you but I tried to open your QuizExample_2017-05-21.unitypackage into Unity and I got the following 2 errors

    1.Assets/Dialogue System Examples/Quiz Example/ShuffleResponses.cs(8,37): error CS0246: The type or namespace name `Response' could not be found. Are you missing an assembly reference?

    2. Assets/Dialogue System Examples/Quiz Example/ShuffleResponses.cs(2,7): error CS0246: The type or namespace name `PixelCrushers' could not be found. Are you missing an assembly reference?

    For it, Could you help me to fix these errors?

    Thanks for your time
    Alejandro
     
  17. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Hi Alejandro - It looks like the Dialogue System isn't imported into your project. The quiz example requires the Dialogue System. Did you import it? If so, are there any other earlier errors in the Console window?
     
  18. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Ink Support Available

    The Dialogue System now supports Inkle Studios' Ink narrative scripting language!

    The Ink Support package is on the Dialogue System Extras page.

    Documentation will be in the upcoming version 1.7.6. In the meantime, you can read an advance copy here:
    Ink Support

    The Dialogue System can tie into Inkle's Ink Integration for Unity.

    Ink copyright © Inkle Studios.

    About Ink Integration

    Ink is a narrative scripting language created by Inkle Studios. You can read about Ink here:

    https://www.inklestudios.com/ink/

    Unlike the other third party file formats that use the Dialogue System's in-editor converter tools to create dialogue databases, when working with Ink the Dialogue System uses Ink as the engine that parses Ink files and runs them. Your Ink files can use the Dialogue System's ShowAlert and quest control functions, and the Dialogue System can get and set Ink global variable values.

    Example Scene

    The example scene lets you play two conversations.

    "story" is a version of the Ink-Unity integration's example story with these additions:
    • External Functions to interface with the Dialogue System.
    • Actor Tags to disambiguate some lines.
    • A variable "wagerAmount" that gets set during the story. You can set a watch on this variable in the Dialogue Editor if you want to see it change.

    "TheIntercept" is a copy of Inkle's sample story for Ink.

    Ink Setup

    1.Import Inkle's Ink Integration for Unity. You can get it here: https://www.assetstore.unity3d.com/en/#!/content/60055

    2.Add a Dialogue System Ink Integration component to the Dialogue Manager.

    3.Assign your Ink stories (JSON files) to the component's Ink JSON Assets list. These stories will be added to the Dialogue System's runtime environment when the component starts. To add additional stories at runtime (e.g., user content, or downloaded from a server), use the DialogueSystemInkIntegration.AddStory(title, json) method.

    4.If you want to start each Ink story from the beginning each time you play it, tick Reset State On Conversation Start.

    5.To include the states of the Ink stories in the Dialogue System's save data, tick Include In Save Data.

    6.Create a dialogue database, which can be empty, and assign it to the Dialogue Manager. This will silence the Dialogue System's warning about no database being assigned. The Dialogue System Ink Integration component will create another database at runtime and add it to the Dialogue System's runtime environment.

    You may want to add the following to the database:
    • Actor 1: "Player" - the player actor used in response menus.
    • Actor 2: "Story" - the default actor used in subtitles.
    • Actor 3: "Player Speaker" - the player actor when used in subtitles.
    • Quests, if your game has any.

    How to Start Conversations

    You can use all of the Dialogue System's regular triggers, scripting API calls, and visual scripting actions to start Ink stories as conversations.

    Since the stories are added at runtime, you'll need to enter their names manually in Conversation Triggers' Conversation title field. Or, if you prefer, you can create a dummy database containing empty conversations with the same titles as your stories, assign this database to your Conversation Trigger, and select the conversation from the dropdown menu. (Don't add this dummy database to the Dialogue Manager.)

    Special Content in Ink Files

    Actor Tags

    For any given line, to specify the actor (speaker) or conversant (listener), use Actor=actorName and/or Conversant=actorName tags. For example, to make the actor Boromir speak a line to the conversant Elrond:

    External Functions

    To make Dialogue System functions available to your Ink story, the Dialogue System integration will automatically add these external function definitions to the top of your Ink file at runtime:

    EXTERNAL ShowAlert(x) // ShowAlert("message")
    EXTERNAL CurrentQuestState(x) // CurrentQuestState("quest")
    EXTERNAL CurrentQuestEntryState(x,y) // CurrentQuestEntryState("quest", entry#)
    EXTERNAL SetQuestState(x,y) // SetQuestState("quest", "inactive|active|success|failure")
    EXTERNAL SetQuestEntryState(x,y,z) // SetQuestEntryState("quest", entry#, "inactive|active|success|failure")


    You may also want to add these fallback functions at the bottom of your file so you can test your story outside of the Dialogue System:

    // Fallback functions
    == function ShowAlert(x) ==
    ~ return 1

    == function CurrentQuestState(x) ==
    ~ return "inactive"

    == function CurrentQuestEntryState(x,y) ==
    ~ return "inactive"

    == function SetQuestState(x,y) ==
    ~ return 1

    == function SetQuestEntryState(x,y,z) ==
    ~ return 1


    Lua Functions

    These functions are available in the Dialogue System's Lua environment:

    SetInkBool("variable", value)
    Sets a Boolean value in your Ink stories.
    Example: SetInkBool("teacup", true)

    SetInkNumber("variable", value)
    Sets a number value in your Ink stories.
    Example:SetInkNumber("wagerAmount", 16000)

    SetInkString("variable", "value")
    Sets a string value in your Ink stories.
    Example: SetInkString("surname", "Shortshanks")
     
  19. castana1962

    castana1962

    Joined:
    Apr 10, 2013
    Posts:
    400
    Hi TonyLi
    You are right. I have not install the Dialogue System unitypackage. Could you let me get any trial version to try your quiz?
    Thanks
    Alejandro
     
  20. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    The evaluation version is free to download and try: Dialogue System Evaluation Version
     
  21. castana1962

    castana1962

    Joined:
    Apr 10, 2013
    Posts:
    400
    Ok, Thank you !!!!
     
  22. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Stranger-Games likes this.
  23. Stranger-Games

    Stranger-Games

    Joined:
    May 10, 2014
    Posts:
    393
    In the file SequencerCommandTimeline.cs at line 69 you have the following code.
    Code (CSharp):
    1. var timelineAsset = playableDirector.playableAsset as TimelineAsset;
    Is 'var' here a type? I am not sure, but may be you meant the following
    Code (CSharp):
    1. timelineAsset = playableDirector.playableAsset as TimelineAsset;
     
  24. claudiorodriguescampos

    claudiorodriguescampos

    Joined:
    Jun 23, 2017
    Posts:
    98
    I succesfully setup a conversation(like a tutorial) in my game using Dialogue System. I use the script "Conversation Trigger" and set the Trigger to "On Start" and it works.

    Now I just want to set the same conversation when the player reachs a certain area. There is already a tutorial about that?

    I use UFPS, there will be any difference from the standard Examples?
     
  25. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Hi Abdalla! It actually doesn't matter, but I'll remove the "var" in the next version to make it a little clearer.

    Hi @claudiorodriguescampos! Just change the Trigger to "On Trigger Enter", and add it to a GameObject with a trigger collider. For an example of a trigger collider, open the Quest Example scene and look at the GameObject named Interactive > Find Terminal Quest Trigger. This GameObject uses a Quest Trigger instead of a Conversation Trigger, but the trigger collider is set up the same way.

    Very little difference once you set up the Dialogue Manager and player according to the UFPS Support steps. Briefly, those steps are:
    1. Select menu item Component > Dialogue System > Third Party > UFPS > Add All Player Scripts. This will set up the player.
    2. If the player can move between different scenes, add these 2 components to the Dialogue Manager:
      • Level Manager
      • Sync Lua Player On Load Level
    UFPS has its own interaction system (e.g., Press "F" to use elevator). If you want to start a conversation using UFPS's interaction system, the UFPS Support page (see link above) provides instructions. Otherwise you can do it just like the standard examples.
     
    Stranger-Games likes this.
  26. claudiorodriguescampos

    claudiorodriguescampos

    Joined:
    Jun 23, 2017
    Posts:
    98
    Hi @TonyLi,

    I follow your advice and "Add All Player Scripts" to the UFPS player.

    I use the Quest Scene and get the Dead Guard example, I check the "Is trigger" checkbox on it and increase the sphere collider, the dialog opens when I enter the sphere collider range. I got this example and try to use this with my UFPS player and it works perfectly. Thank you.
     
    TonyLi likes this.
  27. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Glad to help!
     
  28. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Pixel Crushers at Unite Austin

    We'll be at Unite Austin next week. If you're there, please stop by our booth to say hi and enter for a chance to win a copy of the Dialogue System, Love/Hate, or Quest Machine!
     
    BackwoodsGaming likes this.
  29. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Dialogue System for Unity 1.7.6 Released!

    Version 1.7.6 has been released! You can download it now from the Pixel Crushers customer download site (PM me your Asset Store invoice number for access), and it should be available on the Asset Store in 5-10 business days.

    This version has the long-promised support for Inkle's narrative scripting language, Ink.


    Version 1.7.6
    Core

    • Improved: Added DialogueManager.SetDialogueSystemInput(bool) to enable/disable input to Dialogue System.
    • Improved: Continue button only affects conversation that is running through button's dialogue UI.
    • Improved: Option to record SimStatus by optional custom field (e.g, "Articy Id").
    • Improved: Lua Console hotkey is now configurable.
    • Added: Em Tag for Invalid Responses option in Dialogue Manager > Input Settings.
    • Fixed: [ConversationPopup] script attribute now handles lists of nested classes.
    • Fixed: Variable names containing periods failed to load in saved games.
    • Dialogue Editor:
      • Improved: Can now specify location for auto-backup files.
      • Improved: Outgoing links from selected node are now highlighted in yellow.
      • Improved: Added option to show/hide all actor names on nodes.
      • Fixed: Horizontal link arrows were difficult to select with mouse.
      • Fixed: Watches tab wasn't always refreshing to match current list of runtime variables.
    Third Party Support
    • articy:draft: Fixed edge cases in recursive/cross-linked dialogues.
    • Ink: Added support.
    • PlayMaker: Added FSMEvent() & Get/SetFsmXXX() Lua functions.
    • Realistic FPS Prefab: Fixed bug in saving weapons that have "!" in their name.
    • TextMesh Pro: Added support for TextMeshProUGUI in bark UIs.
     
    Deckard_89 and flashframe like this.
  30. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Version 1.7.6 is now available on the Asset Store!
     
  31. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Time Traveling Raptors

    Check out Time Traveling Raptors, a really fun-looking platformer using the Dialogue System for RPG elements such as missions and conversations:

     
  32. Frax228

    Frax228

    Joined:
    Jul 19, 2016
    Posts:
    48
    Hi. Menu framework does not work with navmeshagent offset 0 in scene. Need help.
     
  33. Frax228

    Frax228

    Joined:
    Jul 19, 2016
    Posts:
    48
    and how to be with gameobject in dontdestroyonload?
     
  34. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Hi @Frax228 - I'm sorry; I don't understand. The Menu Framework (on the Extras page) works entirely in Unity UI. It doesn't do anything with navmeshes. Can you please provide more details?

    Which GameObject?

    Can you post screenshots? Please feel free to email tony (at) pixelcrushers.com if you prefer. If you'd like to send me an example project, I'd be happy to look at that, too.
     
  35. Frax228

    Frax228

    Joined:
    Jul 19, 2016
    Posts:
    48
    problem in integration with Invector. I would be grateful if you can help

     
  36. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Hi @Frax228 - Please see the instructions in this forum post to set up Invector with the Dialogue System. If that doesn't fix the problem, let me know.
     
  37. Frax228

    Frax228

    Joined:
    Jul 19, 2016
    Posts:
    48
    I read this post. did not help
     
  38. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    I'll put together an example scene that uses Invector and the Menu Framework. I'll post it here later today.
     
  39. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Here's an example: InvectorWithMenuFramework_2017-10-10.unitypackage

    Please read the _README.txt file for setup instructions. Note that the player character is not configured to persist across scene changes. If this doesn't help, please feel free to send an example project to tony (at) pixelcrushers.com. I'll be happy to take a look.
     
  40. ZomBJ

    ZomBJ

    Joined:
    Jun 28, 2014
    Posts:
    7
    Hey, there! I actually have a question about saves, as I have the Save System for RFPS, not the full Dialogue System, but there doesn't seem to be a separate forum for it.

    Anyway, how do you make the game reload your checkpoint on death? I've added all the modifications to the scripts, even the optional inventory stuff at the end. The system works perfectly when I click Save and Load in the menu. The checkpoint even auto saves. But if I die, it still restarts the level. Adding the lines of code under the Respawn with Saved Data only causes the game to give me the exact inventory I had when dying, but still starts me at the beginning of the level. What I want is to have the game reload the last checkpoint upon death. I've tried adding the LoadSlot line of code from the Load Button to the start command along with the inventory bits. Doesn't work.

    I've tried using the Auto Load On Start component on the Save System object, but that doesn't work either. It'll load the save when the level starts the very first time, but restarts the level without a save upon death. Meaning, unless I clear saves before hand, I'll start the level in the middle, using the save from the last time played, but upon death starts me from the very beginning. I assume it has something to do with the way RFPS restarts levels upon death, but surely there's a workaround or system or some set-up I've been overlooking.

    I'm trying to create a system that works similarly to Halo or Call of Duty where you get a checkpoint save right before a big battle, then auto-load upon death until you get past it, but can't seem to get it working.
     
  41. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Hi @ZomBJ - I replied in the Realistic FPS Prefab thread.
     
  42. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Dialogue System 1.7.6 Patch 20171016 Available

    Patch 20171016 is available on the Pixel Crushers customer download site. (PM me your Asset Store invoice number if you'd like access.). This patch contains:
    • NLua: Optimized DialogueLua.Get/SetTableField.
    • NLua: Implemented compressed SimStatus in PersistentDataManager to match default LuaInterpreter.
    • Fixed: UnityUISelectorDisplay & OverrideUnityUIControls continue button weren’t syncing with Dialogue Manager after load game.
    • Fixed: Unity UI Quest Log Window slowdown when mashing Track toggle button.
    • Improved: UnityUITypewriterEffect now automatically adds audio source if necessary.
    • Dialogue Editor: Moved “Link To:” dropdown items “Another conversation” & “New entry” to top of menu.
    • Localized text table editor: Added search bar.
    • [Third Party Support] Rog: Added ReplaceActorSprite() Lua function.

    I'm working on I2 Localization for the version 1.7.7 release, which I expect to release on October 31.
     
  43. tfos4941

    tfos4941

    Joined:
    Jun 30, 2017
    Posts:
    7
    Hi, I am having a bit of trouble setting this up with UFPS mobile. I installed the UFPS extension initially with the menu framework which seemed to work nicely, however, the pause menu would not open in the game. The console error said that the selectable "pause menu" panel had been destroyed. But the menu system is don't destroy on load?

    I have also installed the UFPS mobile addon and I think perhaps I am not understanding the instructions!

    Does UFPS mobile work with the dialogue system menu framework? If yes can you please explain it to me.

    If not can you explain how to set up the mobile example, the tutorial says add Mobile Level 1 as the first scene in build settings, but I just can't get it to work.

    Sorry if I have missed something in the tutorial if you could point me in the right direction that would be great! Thank You
     
  44. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Hi @tfos4941 - I haven't tested the UFPS mobile support package with the Dialogue System Menu Framework, but I'll do that today and reply back here with an answer.

    As for the UFPS mobile support package itself, do the example scenes (Mobile Level 1 and Mobile Level 2) work correctly in your project? To test travel between scenes, you should add both scenes to your project's build settings, but they can be in any build order; they don't have to be the first and second scenes in build settings.

    If the example scenes work correctly, here are a few things to check in your own scene:
    • Each scene should have its own AdvancedPlayerMobile (or some UFPS player) and RootUI.
    • On the AdvancedPlayerMobile, the vp_SimpleHUDMobile needs references to several UI elements on RootUI. Make sure they're connected as shown in the screenshot in the manual.
    • Also add these components to the AdvancedPlayerMobile:
      • FPFreezePlayer (freezes player movement during conversations and menus)
      • FPPlayerLuaBridge (bridge between UFPS & DS; remember to add usable item types)
      • FPSyncLuaPlayerOnConversation (makes UFPS inventory/stats available to DS conversations)
      • FPPersistentPlayerData (saves UFPS inventory/stats in saved games & across scene changes)
    • Add this component to the Dialogue Manager:
      • FPSyncPlayerOnLoadLevel
     
  45. tfos4941

    tfos4941

    Joined:
    Jun 30, 2017
    Posts:
    7
    Hi Tony. Thank you for such a quick response. The mobile levels do not work correctly as there is no terrain? I presume they use the terrain from the demo scenes, which I have not installed. I will have a look through it again and let you know. I ideally I would like to get set up using the menu framework. Thank you again for your fast response.
     
  46. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Hi @tfos4941 - Correct; the mobile levels are built on top of the UFPS demo levels, so they won't work if you haven't installed them. I'm out of the office for a while, but I'll reply back later today with the steps to set up the Menu Framework and UFPS Mobile, including example scenes.
     
  47. tfos4941

    tfos4941

    Joined:
    Jun 30, 2017
    Posts:
    7
    :) Thank you so much!
     
  48. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    @tfos4941 - This package contains two example scenes:

    UFPSMobileWithMenuFrameworkExample_2017-10-27.unitypackage

    Add them to build settings in this order:
    • Mobile Menu Framework Start -- index 0
    • (Loading -- index 1)
    • (Credits -- index 2)
    • Mobile Menu Framework Gameplay -- index 3
    It turns out that it requires a small script to use the Menu Framework with UFPS Mobile. The package contains a script, ConnectPauseMenu. In the Mobile Menu Framework Gameplay scene, I added this script to the RootUI GameObject. Then I configured the ExampleMainMenu button to the script's OpenPausePanel method.

    These scenes are based on the Dialogue System's UFPS mobile examples scenes, which use UFPS's demo assets. You may want to import UFPS's demo assets temporarily so you can play with the scenes prior to configuring this in your own scenes.
     
  49. tfos4941

    tfos4941

    Joined:
    Jun 30, 2017
    Posts:
    7
    @TonyLi Thank you! I set it up this afternoon and it seems to be perfect! Thank you very much for your help.
     
  50. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,688
    Glad to help!