Forum rules - please read before posting.

Console errors relating to Actions scripts after upgrade.

Hi all and Chris.

I have updated to the most recent Adventure Creator and I have also upgraded my Unity project to 2019.3.0f6 from 2019.2.0f1. I've had to upgrade due to the new notarization policy Apple has brought in, and I found when I was trying to digitally sign my app (macOS) I was getting errors.... and of course, there was a Unity bug in the version I was using. Unity fixed the bug so I'm trying again...

Anyway, after upgrading I'm receiving 10 similar errors in the console:

There seems to be 13 ActionDialogueSystem.\xxxxx.cs actions and for ten of them I receive this (or a similar) error:

Scripts/Actions/._ActionDialogueSystemConversation.cs' must derive from AC's Action class in order to be available as an Action

I also updated the Pixel Crusher's Dialogue System Integration Packages/Patches:
Updated for 2.2.4: Adventure Creator, Aurora (NWN), Corgi, Inventory Engine, TopDown Engine, UniStorm, uMMORPG, uRPG, uSurvival

Due to a 2d.ik error, I updated that function to 1.3.0 preview as per suggestion in the Unity forum. Not sure if that matters but replicating the steps I took.

My game still seems to play fine via Unity, but wondering if I need to fix these errors as they may cause issues in the future?

I always dread updating Unity, especially as my demo. As always, any guidance is much appreciated.

Please let me know if you require any further details.

Many thanks

Caroline

Comments

  • Are all the errors referring to the same script file (ActionDialogueSystemConversation), or several files?

    The one you mention isn't an official AC Action - it's from Dialogue System. You should contact them about this for help with it, though perhaps this is due to an API change made in AC's core.

    What was your previous AC version, and do any of the other messages refer to a specific line of code that's causing it trouble? If so, you can post the code here and I'll see if it's an issue on the AC side of things.

  • Hi Chris

    10 scripts inside on the Actions folder, location and view of the errors in the console. For example

    ._ActionDialogueSystemVarCheck.cs
    ._ActionDialogueSystemQuestSet.cs'

    https://imgur.com/a/i2nWaSX

    https://imgur.com/a/4N15zao

    The AC version I was using before was 1.69.5. I can't see they refer to specific lines of code. Perhaps it is an API glitch. I'm happy to contact Tony Li from PC to see what he suggests?

    Many thanks

    Caroline

  • Hi Chris -

    Caroline's project is on a Mac.

    One of the filenames is ActionDialogueSystemQuestSet.cs.

    But AdventureCreator.RefreshActions() is getting the className as ._ActionDialogueSystemQuestSet

    This makes it search for "class ._ActionDialogueSystemQuestSet : Action", which of course doesn't match anything in the script because the script defines the class as "class ActionDialogueSystemQuestSet : Action".

  • Thanks Tony.

    This is one of the error messages:

    The script '/Framing Dawes Demo v5/Assets/AdventureCreator/Scripts/Actions/._ActionDialogueSystemVarCheck.cs' must derive from AC's Action class in order to be available as an Action.

    -> AC debug logger
    UnityEngine.Debug:LogError(Object, Object)
    AC.ACDebug:LogError(Object, Object) (at Assets/AdventureCreator/Scripts/Static/ACDebug.cs:34)
    AC.AdventureCreator:RefreshActions() (at Assets/AdventureCreator/Scripts/Managers/Editor/AdventureCreator.cs:556)
    AC.AdventureCreator:OnEnable() (at Assets/AdventureCreator/Scripts/Managers/Editor/AdventureCreator.cs:46)

    The game still seems to run fine though, I've not encountered any issues yet.

  • The game still seems to run fine though, I've not encountered any issues yet.

    Are Dialogue System's custom Actions available in ActionLists, and listed in the Actions Manager?

    It sounds to me like the files themselves have been duplicated. Do you have files named both "ActionDialogueSystemVarCheck.cs" and "._ActionDialogueSystemVarCheck.cs" in the /Assets/AdventureCreator/Scripts/Actions folder?

  • Selected Actions Manager, selected 'Third Party' in 'Action Categories'

    There are five errors (not 10)

    The following actions appear in the Actions Manager:

    Dialogue System Conversation
    " " Quest Check
    " " Quest Log Window
    " " Quest Set

    The following action does NOT appear in the Actions Manager:

    "                "   Var Check
    

    Adding an action in an Action List:

    All present apart for the Dialogue System Var Check

    Performed a search for anything starting with ._ and there's nothing at all in my project. The Actions folder displays all 13 Dialogue System scripts.

    I probably won't use the Quest related actions but I may end up using the Var Check. But I tend to use AC variable when performing those actions.

    This just seems like a minor inconvenience but I hope it won't cause other issues.

    Many thanks

    Caroline

  • Chris - On Macs, files starting with "._" are typically hidden files called resource fork segments. They contain metadata that the Mac filesystem pairs with the actual file. It might make sense to adjust AdventureCreator.RefreshActions() to ignore these files.

    Caroline - It's possible that you updated your MacOS version or did something similar that's causing new files to be added with their "._" resource fork segment counterparts.

    You could try deleting these "._" files. Unity may have created a further counterpart file with a .meta extension such as ._ActionDialogueSystemVarCheck.cs.meta that you can also delete. You may need to turn on Finder's ability to show hidden files to be able to see them.

    I'm not sure why the Actions Manager doesn't show Dialogue System Var Check. If clearing up the "._" files doesn't fix it, you could try this:

    1. Copy ActionDialogueSystemVarCheck.cs to a location outside your project (or just to your clipboard).

    2. Delete the file from your project.

    3. Create a new script file named ActionDialogueSystemVarCheck.cs. Edit it, and paste in the contents of the original file.

  • Hi Tony.

    I've not updated my Mac in ages, I'm still using Mojave 10.14.6

    I've only updated AC, then Unity and installed your installation file. That's it.

    I've enabled hidden files and looked through the whole of the Actions folder. There are no files at all that start with ._

    It's really strange.

    I can only see corresponding metadata files e.g ActionDialogueSystemVarCheck.cs.meta to the expected scripts.

    I mean I can live with it, it's just making my console look untidy.

    I'll give the VarCheck steps you provided a whirl.

  • No, that didn't work. It's visible in the project folder but not the action manager so not available when creating a new action list.

  • I've noticed I get two errors per Action cs:

    The script '/Volumes/ADATASE730/MEGA/Framing Dawes/Framing Dawes Unity Demo/Framing Dawes Demo v5/Assets/AdventureCreator/Scripts/Actions/._ActionDialogueSystemVarCheck.cs' must derive from AC's Action class in order to be available as an Action.

    -> AC debug logger
    UnityEngine.Debug:LogError(Object, Object)
    AC.ACDebug:LogError(Object, Object) (at Assets/AdventureCreator/Scripts/Static/ACDebug.cs:34)
    AC.AdventureCreator:RefreshActions() (at Assets/AdventureCreator/Scripts/Managers/Editor/AdventureCreator.cs:556)
    AC.AdventureCreator:OnEnable() (at Assets/AdventureCreator/Scripts/Managers/Editor/AdventureCreator.cs:46)
    UnityEditorInternal.InternalEditorUtility:LoadSerializedFileAndForget(String)
    UnityEditor.WindowLayout:LoadDefaultWindowPreferences() (at /Users/builduser/buildslave/unity/build/Editor/Mono/GUI/WindowLayout.cs:40)

    The script '/Volumes/ADATASE730/MEGA/Framing Dawes/Framing Dawes Unity Demo/Framing Dawes Demo v5/Assets/AdventureCreator/Scripts/Actions/._ActionDialogueSystemVarCheck.cs' must derive from AC's Action class in order to be available as an Action.

    -> AC debug logger
    UnityEngine.Debug:LogError(Object, Object)
    AC.ACDebug:LogError(Object, Object) (at Assets/AdventureCreator/Scripts/Static/ACDebug.cs:34)
    AC.AdventureCreator:RefreshActions() (at Assets/AdventureCreator/Scripts/Managers/Editor/AdventureCreator.cs:556)
    AC.AdventureCreator:OnGUI() (at Assets/AdventureCreator/Scripts/Managers/Editor/AdventureCreator.cs:355)
    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:187)

    Sorry, I thought they were identical at first.

  • AC uses a standard .NET function call to get the list of files in the Actions folder.

    For some reason, the list includes ._ActionDialogueSystemVarCheck.cs but not ActionDialogueSystemVarCheck.cs.

    Can you please double-check for hidden files? A quick way to show hidden files in Finder is to press Cmd + Shift + . (period)

  • Thanks, Tony - yes, this is likely it.

    Caroline, can you run a test? Open up the AdventureCreator.cs script file (it's in /Assets/AdventureCreator/Scripts/Managers/Editor.

    Lines 517 and 569 should try read:

    try
    

    Just above both of them, paste in the following:

    if (f.Name.StartsWith ("._")) continue;
    

    Does this stop the errors?

  • Hi Chris.

    No, that didn't work and I now have 15 additional errors along the lines of

    Assets/AdventureCreator/Scripts/Managers/Editor/AboutWindow.cs(52,30): error CS0103: The name 'AdventureCreator' does not exist in the current context

    These appear in the Managers/Editor folder, the ActionList/Editor folder and Scripts/Editor folder. They all mention The name 'AdventureCreator' does not exist in the current context

    Tony - yes that's exactly what I did to reveal the hidden files and there's nothing additional in the Actions folder.

  • Correction - the original errors have gone from the console.

  • I shall PM you a packages to test.

  • Thanks, Chris, really appreciated.

    So the package did indeed fix those console errors, but I have two new ones but they appear to be related to Unity rather than AC. Things I've seen before so I'll see what I can find about those.

    ReleaseAllScriptCaches did not release all script caches!

    ScriptableSingleton already exists. Did you query the singleton in a constructor?
    UnityEditor.SceneManagement.StageNavigationManager:.ctor() (at /Users/builduser/buildslave/unity/build/Editor/Mono/SceneManagement/StageManager/StageNavigationManager.cs:19)

    But thank you, and thanks to Tony too.

  • Things I've NOT seen before*

  • I've seen those too. AFAIK they are issues with Unity 2018.3, but can be ignored.

  • Yeah they seem pretty old and the game runs fine so I'll ignore them then. Thanks again for your speedy help. Have a great day.

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.