Forum rules - please read before posting.

Cross-Scene Conversations on Inventory Items

Hello again!

I have an inventory item, a book called "Captain Journal", that links to a Conversation players can use to have the protagonist read different chapters. By default, however, it appears Conversations live in a single scene and cannot be referenced by other scenes.

So I tried creating a prefab Conversation that the item references instead, which does successfully pull up the top-level topic selection list for the Captain Journal object Conversation, but clicking on any topic brings up the following error and ends the Conversation:

Coroutine couldn't be started because the the game object 'Captain Journal' is inactive!
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
AC.Conversation:RunOption(Int32) (at Assets/AdventureCreator/Scripts/Logic/Conversation.cs:255)
AC.MenuDialogList:ProcessClick(Menu, Int32, MouseState) (at Assets/AdventureCreator/Scripts/Menu/Menu classes/MenuDialogList.cs:638)
AC.PlayerMenus:CheckClick(Menu, MenuElement, Int32, MouseState) (at Assets/AdventureCreator/Scripts/Controls/PlayerMenus.cs:2218)
AC.PlayerMenus:CheckClicks(Menu) (at Assets/AdventureCreator/Scripts/Controls/PlayerMenus.cs:1864)
AC.PlayerMenus:CheckForInput() (at Assets/AdventureCreator/Scripts/Controls/PlayerMenus.cs:1958)
AC.StateHandler:Update() (at Assets/AdventureCreator/Scripts/Game engine/StateHandler.cs:299)

I'm 99% sure I'm just missing a simple checkbox or ActionList hookup, but I can't quite figure out where.

Comments

  • Please be sure to include your AC version number when posting issues, especially when script references are involved.

    The issue looks to be a Unity one, in that the Conversation GameObject needs to be in the scene in order for a Coroutine to run.

    A Conversation can exist as a prefab, but needs to be present in the scene itself to work.  Just placing an instance of this Conversation in each scene, and making sure "Retain in prefab?" is checked on its Remember Conversation component, should resolve it.

    Be sure to have your Dialogue: Start conversation Action then refer to the scene-instance, so that it knows to search for it as opposed to the prefab when running.  For more on referring to scene-based instances in ActionList assets, see these tutorials.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.