Forum rules - please read before posting.

[Architectural] Passing parameters to asset actionLists

It seems that when you have parametrized asset actionlists, the last used value remains stored in the asset. This is somewhat of a problem for version control and also poses a heavy risk of very different behavior in editor and in build. I don't know how many hooks are under threat for a change in this place, so I can't know for sure how viable this change is, but I think that asset parameters shouldn't get changed and when you run actionlist asset with parameters, separate parameter list should be created and carried (if parameters were passed - those parameters in a list, if parameters wern't passed - a copy of asset parameters) until RuntimeActionList is created, and those parameters would then be plugged into RuntimeActionList. This would strongly decouple ActionList asset properties from a single instance of RuntimeActionListAsset.

We currently work around that problem by trying to restore all altered parametrized actionlist assets after editor playtest stops, but this a somewhat unreliable solution that is also risky.

Once again this change is probably most useful only for people that use AC from the coding side.

Also it would be nice just to have a variation of actionList.Interact() where you pass a List and thus get full access for passing parameters. Both for asset and runtime based ones.

Comments

  • edited October 2019

    A fair point, I shall look into this.

    Also it would be nice just to have a variation of actionList.Interact() where you pass a List and thus get full access for passing parameters. Both for asset and runtime based ones.

    A List of what, parameters? Agreed, could be useful.

  • You seem to have a special type of ActionParameter. So a list of those for full access and control through script.

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.