Forum rules - please read before posting.

"ActionList:Run" Action keeps forgetting its set parameters

edited January 2021 in Engine development
  • I have an asset-based ActionList A.
  • Among other things, it is running another asset-based ActionList B via an "ActionList:Run" Action with four parameters.
  • Each of these four parameters is a Component Variable (type: PopUp).
  • I set these parameters.

-> When I now enter PlayMode, these four parameters get immediately reset to "None (Variables)".
When I exit PlayMode, they will not reset back to the values that I had entered before, but stay at "None".

-> If (instead of entering PlayMode) I simply save the project after setting the four parameters, quit Unity and reopen Unity again, the four presets have been reset to "None", too.

-> But: if (after setting the four parameters) I save the project, open a different ActionList in the ActionList editor and then again open ActionList A, my settings are not forgotten, but still there.

I am running Unity 2020.1.17f1 with AC 1.72.4 on an iMac with Mac OS 10.15.7

Any idea what could cause this amnesia?

Best, Jens

P.S.
One thing I noticed: in other types of actions in asset-based ActionLists that reference Component Variables (like "Variable:check"), their constant IDs get recorded and displayed in the action window. This is not true for the "ActionList:Run" action – here no constant Id gets displayed.

Comments

  • And of course, ActionList B throws an error as it never receives the Component Variable it is supposed to receive. Here it is, just in case:

    Variable: Pop Up switch Action is referencing a Variable that does not exist!
    (From Action #0 in ActionList 'Enygma TenDots - 4 CALCULATE nTH Main VAR # Value')

    -> AC debug logger
    UnityEngine.Debug:LogWarning(Object, Object)
    AC.ACDebug:LogWarning(Object, ActionList, Action, Object) (at Assets/Plugins/AdventureCreator/Scripts/Static/ACDebug.cs:74)
    AC.Action:LogWarning(String, Object) (at Assets/Plugins/AdventureCreator/Scripts/ActionList/Action.cs:1115)
    AC.ActionVarPopup:End(List`1) (at Assets/Plugins/AdventureCreator/Scripts/Actions/ActionVarPopup.cs:109)
    AC.ActionList:EndAction(Action) (at Assets/Plugins/AdventureCreator/Scripts/ActionList/ActionList.cs:453)
    AC.d__34:MoveNext() (at Assets/Plugins/AdventureCreator/Scripts/ActionList/ActionList.cs:443)
    UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
    AC.ActionList:ProcessAction(Int32) (at Assets/Plugins/AdventureCreator/Scripts/ActionList/ActionList.cs:327)
    AC.RuntimeActionList:BeginActionList(Int32, Boolean) (at Assets/Plugins/AdventureCreator/Scripts/ActionList/RuntimeActionList.cs:186)
    AC.ActionList:Interact(Int32, Boolean) (at Assets/Plugins/AdventureCreator/Scripts/ActionList/ActionList.cs:195)
    AC.RuntimeActionList:DownloadActions(ActionListAsset, Conversation, Int32, Boolean, Boolean, Boolean) (at Assets/Plugins/AdventureCreator/Scripts/ActionList/RuntimeActionList.cs:141)
    AC.AdvGame:RunActionListAsset(ActionListAsset, Conversation, Int32, Boolean, Boolean) (at Assets/Plugins/AdventureCreator/Scripts/Static/AdvGame.cs:245)
    AC.AdvGame:RunActionListAsset(ActionListAsset, Int32, Boolean) (at Assets/Plugins/AdventureCreator/Scripts/Static/AdvGame.cs:204)
    AC.ActionRunActionList:Run() (at Assets/Plugins/AdventureCreator/Scripts/Actions/ActionRunActionList.cs:195)
    AC.d__34:MoveNext() (at Assets/Plugins/AdventureCreator/Scripts/ActionList/ActionList.cs:374)
    UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
    AC.ActionList:ProcessAction(Int32) (at Assets/Plugins/AdventureCreator/Scripts/ActionList/ActionList.cs:327)
    AC.ActionList:ProcessActionEnd(ActionEnd, Int32, Boolean) (at Assets/Plugins/AdventureCreator/Scripts/ActionList/ActionList.cs:562)
    AC.ActionList:EndAction(Action) (at Assets/Plugins/AdventureCreator/Scripts/ActionList/ActionList.cs:475)
    AC.d__34:MoveNext() (at Assets/Plugins/AdventureCreator/Scripts/ActionList/ActionList.cs:443)
    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)

  • How and when are you setting your parameter values, where are these Variables components located, and what are the properties of your ActionList assets?

    Please share as much as you can in the way of screenshots / steps - I'm afraid I need more to recreate this.

  • edited January 2021

    I recreated this in a very simple setup:

    • The empty GameObject "MainVar Holder" has a "Variables" component plus a "Remember Variables" component attached.
    • There is only one Variable there. It's a PopUp.

    Then I have two ActionLists A and B (asset based):

    • B is supposed to display a message in the console depending on the PopUp Value selected. It has one ActionList Parameter "MainVar", set to "Component Variable"
    • A is supposed to "fire off" B.

    Now I enter PlayMode and run ActionList A.

    Now: if I make no use of the parameter of ActionList B but simply enter the PopUp Var directly and run ActionList A, everything works as desired.

    However, if I set the PopUp Var as a parameter, ActionList B will not "find" it.

    As you can see in the second and third screenshot, which show PlayMode, in the ActionList editor window for ActionList A the "MainVar" Selector (that should display the selected Var "Test PopUp_0") has disappeared! It always does that when entering PlayMode, and it will not return after exiting PlayMode. It does reappear though when I click into the ActionList editor window and hit Option-S to save the project.

    Finally, I quit the project and open it again … and ActionList A has forgotten which Var is was supposed to send (and has reset to "None") …

  • @Jensen @ChrisIceBox Were you ever able to figure this out?

  • Yes, absolutely – Chris was able to fix it in and released the fix in 1.73.ff

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.