<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Extending the editor — Adventure Creator forum</title>
        <link>https://adventurecreator.org/forum/</link>
        <pubDate>Wed, 13 May 2026 15:50:17 +0000</pubDate>
        <language>en</language>
            <description>Extending the editor — Adventure Creator forum</description>
    <atom:link href="https://adventurecreator.org/forum/categories/extending-the-editor/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Stuck on Color Collision Detection for Weeks – Need Help!</title>
        <link>https://adventurecreator.org/forum/discussion/15763/stuck-on-color-collision-detection-for-weeks-need-help</link>
        <pubDate>Mon, 17 Feb 2025 11:28:38 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>TheLostPenny</dc:creator>
        <guid isPermaLink="false">15763@/forum/discussions</guid>
        <description><![CDATA[<p>Hello everyone, and first of all, I apologize if my request goes beyond the usual topics related to Adventure Creator. However, AC is the reason I started this journey as an indie dev, and I’m slowly trying to push myself further by implementing small scripts and additional mechanics that will eventually work on a solid AC foundation. I’ve always found a lot of help in this forum and this community, so I hope someone can guide me through this issue.</p>

<p>I'm trying to create a combat system based on color collisions, but I'm not a programmer—I have never written code in my life. However, I recently started trying with various AIs (ChatGPT and Copilot), and I must say that for other small scripts to improve my game, they worked quite well for me. But now, I'm stuck on this issue for weeks.</p>

<p>In my game, the player can draw the sprites of their own "monster" and then make them fight against pre-drawn enemies. The system is based on pixel art and colors. Basically, the player draws on a fully transparent 32x32 PNG texture, which is then overwritten and loaded into another scene where the combat takes place.</p>

<p>In the combat scene, I managed to create a script that generates a pixel-perfect collider around the colored pixels. Then, I added a controller that makes the sprites move toward each other and rigidbodies that make them bounce backward on each collision. For now, the basic system should work so that if the contact happens on red, it deals damage, and if it happens on blue, it blocks the damage. Unfortunately, I'm stuck on the color detection script.</p>

<p>I have two main problems:</p>

<p>1) The collisions (from what I was able to analyze) almost always happen outside the collider. As you can see in the image, there is a black pixel that is a gizmo created by a script, allowing me to visualize where the contact occurred on each sprite. But I don't know if this can be fixed or if it even matters. I mean, even if the contact happens outside the collider, I was looking for a system to detect the nearby pixels.</p>

<p>2) The real main issue is that I haven't been able to make the color detection script work in any way (which Copilot writes under my instructions). I tried using both raycast and a search expansion system based on radius until it finds a colored pixel, making it ignore transparent pixels. However, the color detection system often gets the color wrong, detecting the wrong color from who knows where.</p>

<p>I'm attaching the code here as well. I hope there is a kind soul who can help me—this is the only complex component I need to complete my game in the few free hours I have after work, hoping that one day this could become my full-time job.</p>

<p>I don't know if my approach is wrong and if a different method would be better to achieve what I want, or if it's just the AI failing to write functional code.</p>

<p>Sorry for my bad English, I'm Italian.</p>

<p>CODE:<br />
<a href="https://pastebin.com/gGFTyLgR" rel="nofollow">https://pastebin.com/gGFTyLgR</a></p>

<p>IMAGE<br />
<a href="https://imgur.com/a/6xomUl7" rel="nofollow">https://imgur.com/a/6xomUl7</a></p>
]]>
        </description>
    </item>
    <item>
        <title>Streamlining Speech Tokens With 'TouchPortal'</title>
        <link>https://adventurecreator.org/forum/discussion/16262/streamlining-speech-tokens-with-touchportal</link>
        <pubDate>Wed, 17 Sep 2025 22:08:26 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>Cintiq</dc:creator>
        <guid isPermaLink="false">16262@/forum/discussions</guid>
        <description><![CDATA[<p>I have been placing a lot of dialogue into my game lately and was finding it cumbersome to copy/paste all the different tokens for the characters emotions etc, into the text box. Then I found Touch portal! It is an app that allows you to use any old smartphone as a hotkey deck for your PC. I now have my old Pixel phone as my dedicated AC and Unity Hotkey Deck and its awesome! Sorry if this is old news to a lot of people, but just thought I would share!<br />
<img src="https://i.imgur.com/GwLyRtb.png" alt="" title="" /><br />
<img src="https://i.imgur.com/snnYE9p.jpeg" alt="" title="" /></p>
]]>
        </description>
    </item>
    <item>
        <title>Final IK Integration Errors</title>
        <link>https://adventurecreator.org/forum/discussion/16228/final-ik-integration-errors</link>
        <pubDate>Wed, 03 Sep 2025 18:22:18 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>Deckard_89</dc:creator>
        <guid isPermaLink="false">16228@/forum/discussions</guid>
        <description><![CDATA[<p>It seems this integration script on the wiki (for using Final IK's interaction system) no longer works.<br />
<a rel="nofollow" href="https://adventure-creator.fandom.com/wiki/FinalIK_Interactions_Integration_(AC_Action)" title="Link">Link</a></p>

<p>The following errors are shown when the script is placed in AC's Actions folder:</p>

<ul>
<li><em>Assets\AdventureCreator\Scripts\Actions\FinalIK_RunInteraction.cs(7,7): error CS0246: The type or namespace name 'RootMotion' could not be found (are you missing a using directive or an assembly reference?)</em></li>
<li>Assets\AdventureCreator\Scripts\Actions\FinalIK_RunInteraction.cs(38,16): error CS0246: The type or namespace name 'InteractionSystem' could not be found (are you missing a using directive or an assembly reference?)</li>
<li>Assets\AdventureCreator\Scripts\Actions\FinalIK_RunInteraction.cs(46,16): error CS0246: The type or namespace name 'InteractionObject' could not be found (are you missing a using directive or an assembly reference?)</li>
<li>Assets\AdventureCreator\Scripts\Actions\FinalIK_RunInteraction.cs(54,16): error CS0246: The type or namespace name 'FullBodyBipedEffector' could not be found (are you missing a using directive or an assembly reference?)</li>
</ul>

<p>The errors were only shown once the file was placed in the Actions folder (AC_Scripts_Actions), as per the instructions on the wiki. If the file is removed from the Actions folder, the errors go away (but then of course, the action can't be used).</p>
]]>
        </description>
    </item>
    <item>
        <title>Custom Action - Open URL</title>
        <link>https://adventurecreator.org/forum/discussion/12009/custom-action-open-url</link>
        <pubDate>Fri, 26 Nov 2021 17:53:47 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>Temmy</dc:creator>
        <guid isPermaLink="false">12009@/forum/discussions</guid>
        <description><![CDATA[<p>Just put this simple action together which takes a URL and then will do Unity's <code>Application.OpenURL()</code> to open the URL in whatever web browser is your system default:</p>

<p><img src="https://i.imgur.com/PhYn1X3.png" alt="" title="" /></p>

<p>Just paste this into a script called ActionOpenURL:</p>

<pre><code>using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif

namespace AC
{
    [System.Serializable]
    public class ActionOpenURL : Action
    {
        // Declare variables here
        public string url;

        public ActionOpenURL()
        {
            this.isDisplayed = true;
            category = ActionCategory.Custom;
            title = "Open URL";
            description = "Opens a URL using Application.OpenURL()";
        }

        override public float Run ()
        {
            Application.OpenURL(url);
            Debug.Log("URL opened");

            return 0f;
        }

        #if UNITY_EDITOR

        override public void ShowGUI ()
        {
            // Action-specific Inspector GUI code her
            url = EditorGUILayout.TextField("URL to open:", url);

            AfterRunningOption ();
        }
        #endif
    }
}
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>Integrate Steam Achievements?</title>
        <link>https://adventurecreator.org/forum/discussion/15371/integrate-steam-achievements</link>
        <pubDate>Fri, 27 Sep 2024 23:56:01 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>ABABAB</dc:creator>
        <guid isPermaLink="false">15371@/forum/discussions</guid>
        <description><![CDATA[<p>Hi all,</p>

<p>Hope you are doing well! Is there a standard way to integrate steam achievements with a game made in AC? <br />
Thank you!</p>
]]>
        </description>
    </item>
    <item>
        <title>Container that shows the inventory items properties</title>
        <link>https://adventurecreator.org/forum/discussion/16087/container-that-shows-the-inventory-items-properties</link>
        <pubDate>Mon, 30 Jun 2025 03:32:30 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>ProgrammingPanda</dc:creator>
        <guid isPermaLink="false">16087@/forum/discussions</guid>
        <description><![CDATA[<p>Hi, I've been looking for the right way to implement this. Basically, I have a list of inventory items with a property called "Time Collected" and I want to display it in the container UI.</p>

<p>I've setup my container to have the textBox and made a custom script to load it but I can't make it work so I am now heading to the forums to pray to the AC God.</p>

<p>Here's how my inventory layout looks like:<br />
<a href="https://imgur.com/a/C3Yk29r" rel="nofollow">https://imgur.com/a/C3Yk29r</a></p>

<p>So I want my inventory items to display the time directly on their lower right.</p>
]]>
        </description>
    </item>
    <item>
        <title>Unity Third Person Controller integration</title>
        <link>https://adventurecreator.org/forum/discussion/9703/unity-third-person-controller-integration</link>
        <pubDate>Tue, 28 Jan 2020 17:51:30 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>Yakuzza</dc:creator>
        <guid isPermaLink="false">9703@/forum/discussions</guid>
        <description><![CDATA[<p>Hi All! I've tried to use the script from adventure-creator fandom for Unity Third Person Controller. Generally, it works, except I'm still able to control the characters somewhat during cutscenes.<br />
<a href="https://gfycat.com/rashunhealthydingo" rel="nofollow">https://gfycat.com/rashunhealthydingo</a><br />
I'm not sure if the integration script was written by someone from this community, but maybe somebody got it working properly?</p>

<p>Links for the integration script<br />
<a href="https://adventure-creator.fandom.com/wiki/Unity_Third_Person_Controller_integration" rel="nofollow">https://adventure-creator.fandom.com/wiki/Unity_Third_Person_Controller_integration</a><br />
And Unity's asset<br />
<a href="https://assetstore.unity.com/packages/essentials/asset-packs/standard-assets-for-unity-2017-3-32351" rel="nofollow">https://assetstore.unity.com/packages/essentials/asset-packs/standard-assets-for-unity-2017-3-32351</a></p>
]]>
        </description>
    </item>
    <item>
        <title>&quot;Play From Here&quot; Functionality with Adventure Creator</title>
        <link>https://adventurecreator.org/forum/discussion/15935/play-from-here-functionality-with-adventure-creator</link>
        <pubDate>Tue, 22 Apr 2025 10:24:23 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>Alatriste</dc:creator>
        <guid isPermaLink="false">15935@/forum/discussions</guid>
        <description><![CDATA[<p>Hello,</p>

<p>I'm looking to improve my testing workflow in Unity with Adventure Creator. Currently, I'm using a debug mode with a marker that I have to constantly move around the scene to position my player character during testing. This is time-consuming and interrupts my creative flow.</p>

<p>I found a script called "Play From Here" on <a rel="nofollow" href="https://www.reddit.com/r/Unity3D/comments/a82vcm/stop_wasting_time_while_testing_and_play_from/" title="Reddit">Reddit </a>that allows right-clicking anywhere in the scene view to start the game with the player at that position. This would save me tons of time during development and testing.</p>

<p>I think it would be great if AC would include something like this. If not, could someone indicate how to integrate it with AC?</p>

<p>Thanks!</p>
]]>
        </description>
    </item>
    <item>
        <title>[Custom Action] TransitionsPlus: How to hide UI/Menus during scene transition?</title>
        <link>https://adventurecreator.org/forum/discussion/15787/custom-action-transitionsplus-how-to-hide-ui-menus-during-scene-transition</link>
        <pubDate>Mon, 24 Feb 2025 11:10:13 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>Alatriste</dc:creator>
        <guid isPermaLink="false">15787@/forum/discussions</guid>
        <description><![CDATA[<p>Hey there! I'm working with Adventure Creator and <a rel="nofollow" href="https://kronnect.com/guides/transitions-plus-parameters/" title="TransitionsPlus">TransitionsPlus</a> to create scene transitions, and I'm having a small issue with the UI visibility during transitions.<br />
I've created a custom action that successfully implements TransitionsPlus transitions. The transition itself works perfectly, but there's one small detail: during the transition effect, the AC UI remain visible when they should be hidden.<br />
Here's my current working code for the custom action:<br />
<a rel="nofollow" href="https://pastecode.io/s/90n9nbxy" title="https://pastecode.io/s/90n9nbxy">https://pastecode.io/s/90n9nbxy</a></p>

<p>Any guidance or suggestions would be greatly appreciated. Thanks!</p>
]]>
        </description>
    </item>
    <item>
        <title>Questions about Spine integration</title>
        <link>https://adventurecreator.org/forum/discussion/15779/questions-about-spine-integration</link>
        <pubDate>Sat, 22 Feb 2025 02:13:11 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>cruddish</dc:creator>
        <guid isPermaLink="false">15779@/forum/discussions</guid>
        <description><![CDATA[<p>Hi there!! I've been using the custom Spine integration script, working with a Spine animator, and have a couple questions if anyone can answer them:</p>

<ul>
<li>The script seems to require that separate skeletons be used for each direction. Is this necessary or is there another way to get it to play different animations depending on the direction, using one skeleton?</li>
<li>Additionally, how do you apply a skin change, either depending on the animation being played or the direction faced?</li>
</ul>

<p>Thank you!!</p>
]]>
        </description>
    </item>
    <item>
        <title>Use negative intensity for Shapeable blendshape</title>
        <link>https://adventurecreator.org/forum/discussion/15699/use-negative-intensity-for-shapeable-blendshape</link>
        <pubDate>Thu, 30 Jan 2025 02:00:14 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>darkgod90</dc:creator>
        <guid isPermaLink="false">15699@/forum/discussions</guid>
        <description><![CDATA[<p>Hi all,<br />
first post so be kind <img src="https://adventurecreator.org/forum/resources/emoji/smiley.png" title=":smiley:" alt=":smiley:" height="20" /> <br />
I've been following the 3D primer on Youtube and am using a Ready Player Me character. My focus currently is on character expressions, and have been trying to create a "sad" expression by frowning the mouth. I don't have any 3D modeling experience (nor I care about having one, in all honesty) so I am not able to modify the pre-existing blendshapes from "Ready Player Me", which do not contain a "mouthFrown" slider. Instead, I have to set "moutSmile" to -1 in order for the mouth to frown! This works great, but the "Relative intensity" parameter of the blendshape only accepts positives (from 0 to 100). <br />
I fixed this by modifying AC.ShapeableEditor.cs, line 100, to have the slider go from -100 to +100:</p>

<p>blendshape.relativeIntensity = CustomGUILayout.Slider ("   Relative intensity:", blendshape.relativeIntensity, -100f, 100f, "", "The relative intensity (from -100 -&gt; 100) of the Blendshape when the Key is fully active");</p>

<p>Now the question: is this the correct approach, or is there a better (more AC) way to do this? How to retain this change when a new version is created?</p>

<p>Thanks!</p>
]]>
        </description>
    </item>
    <item>
        <title>Passing parameters other than integers when using Object Send Message</title>
        <link>https://adventurecreator.org/forum/discussion/15513/passing-parameters-other-than-integers-when-using-object-send-message</link>
        <pubDate>Thu, 14 Nov 2024 21:12:32 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>ACV</dc:creator>
        <guid isPermaLink="false">15513@/forum/discussions</guid>
        <description><![CDATA[<p>Hi Everyone,</p>

<p>I am trying to call a method of a custom script I wrote on a certain item interaction. For this, I have set up the item interaction triggering an action list. There, I use the Object Send Message to call my method. However, I need to pass in a paramater (a string in this case) which the ActionListEditor does not let me do by default. There is an option for passing in an integer but this is not what I need.</p>

<p>I am somewhat stuck on this problem and would greatly appreciate any input.</p>
]]>
        </description>
    </item>
    <item>
        <title>Unit Testing AC extensions</title>
        <link>https://adventurecreator.org/forum/discussion/15484/unit-testing-ac-extensions</link>
        <pubDate>Mon, 04 Nov 2024 15:48:13 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>jrutila</dc:creator>
        <guid isPermaLink="false">15484@/forum/discussions</guid>
        <description><![CDATA[<p>Hello,</p>

<p>I am developing an Unity package that uses Adventure Creator. I would like to write unit tests using the Unity's unit testing framework. How should I go about building the tests? How easy is it to "mock" the AC scene with global variables? Or should I create an empty scene and load that in the beginning of the test?</p>

<p>I have done something like this, already. How to go about adding global variables in this case? Thank you!</p>

<pre><code>    [SetUp]
    public void Setup()
    {
        if (EventSystem.current == null) {
            EventSystem.current = new GameObject("EventSystem", typeof(EventSystem), typeof(StandaloneInputModule)).GetComponent&lt;EventSystem&gt;();
        }

        var ks = new KickStarter();
        ks.Initialise();
        go = new GameObject();
        target = go.AddComponent&lt;NGHMenu&gt;();
        // combine path with test directory
        target.hintsPath = Path.Combine(TestHelper.GetTestDirectory(), "fixtures", "test01");
        CreateSampleObject();
        target.guideSample = sampleObject;
    }
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>Character Movement Fundamentals integration</title>
        <link>https://adventurecreator.org/forum/discussion/13150/character-movement-fundamentals-integration</link>
        <pubDate>Wed, 21 Dec 2022 21:55:03 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>soeren</dc:creator>
        <guid isPermaLink="false">13150@/forum/discussions</guid>
        <description><![CDATA[<p>Hi there! I am still trying to set up a nice character controller, this time it's not UFPS but CMF (<a href="https://assetstore.unity.com/packages/tools/physics/character-movement-fundamentals-144966#reviews" rel="nofollow">https://assetstore.unity.com/packages/tools/physics/character-movement-fundamentals-144966#reviews</a>). I am working on a first person controller.</p>

<p>With help of the developer of the asset I was able to set everything up how I like it (AC controls the mouse and camera rotation and CMF moves the player). I identified a problem with custom gravity ("GravityFlippers" that rotate the gravity 90 degree, like in this video: <a href="https://tmpsend.com/nQ0dG3ZZ" rel="nofollow">https://tmpsend.com/nQ0dG3ZZ</a>):</p>

<ol>
<li><p>When using the CMF controller that is set up as above and with AC's Player-Component, the following happens: <a href="https://tmpsend.com/UkxSbhv0" rel="nofollow">https://tmpsend.com/UkxSbhv0</a>  (the character flips 90 degree on the y-axis and not on the z-axis)</p></li>
<li><p>When removing the Player Component for test purposes, the flip works (obviously this is no solution, because all AC stuff is missing and the camera can't be rotated).</p></li>
</ol>

<p>I am looking for a pointer where to change the Player script to let me use AC while also being able to use those gravity changes. I suspect <code>public Transform FirstPersonCamera</code> to be the culprit, but I don't know enough about AC and Unity to be sure.</p>

<p>I hope I explained the situation good enough. If you need additional info or screenshot, I will provide them. Could you please point me in the right direction here if you got any idea?</p>

<p>Thanks!</p>
]]>
        </description>
    </item>
    <item>
        <title>[Custom Action] Variables: MultiBoolCheck</title>
        <link>https://adventurecreator.org/forum/discussion/5894/custom-action-variables-multiboolcheck</link>
        <pubDate>Wed, 18 Jan 2017 21:24:49 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>MAC</dc:creator>
        <guid isPermaLink="false">5894@/forum/discussions</guid>
        <description><![CDATA[Hi,<br /><br />after not coding in C# for at least 10 years I sat myself down yesterday to code my first custom action. I call it "MultiBoolCheck" and it is used to check a unlimited number of global boolean variables if they meet given conditions. I need this to clean up my action lists if there are to many variable state checks.<br /><br />Or simply said, it can turn this:<br /><img src="http://mac-bs.de/temp/MultiBoolCheck.png" alt="image" /><br />into this:<br /><img src="http://mac-bs.de/temp/MultiBoolCheck2.png" alt="image" /><br /><br />The Action is based on the "Variable: Check" Action. It only works with global boolean variables and does not support ActionList parameters. Maybe someone else has a use for it. <br />]]>
        </description>
    </item>
    <item>
        <title>Playmaker: Broadcast Global Event</title>
        <link>https://adventurecreator.org/forum/discussion/14968/playmaker-broadcast-global-event</link>
        <pubDate>Tue, 28 May 2024 13:31:00 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>Alatriste</dc:creator>
        <guid isPermaLink="false">14968@/forum/discussions</guid>
        <description><![CDATA[<p>Hi, I was missing an action for Playmaker that could call/broadcast a global event.<br />
Feel free to use it.</p>

<pre><code>using UnityEngine;
using System.Collections.Generic;
#if UNITY_EDITOR
using UnityEditor;
#endif
using HutongGames.PlayMaker;
using AC;

[System.Serializable]
public class ActionBroadcastPlayMakerEvent : AC.Action
{
    public string eventName;

    public override AC.ActionCategory Category { get { return AC.ActionCategory.ThirdParty; } }
    public override string Title { get { return "PlayMaker: Broadcast Event"; } }
    public override string Description { get { return "Broadcasts an event to all PlayMaker FSMs."; } }

    public override float Run()
    {
        if (!string.IsNullOrEmpty(eventName))
        {
            PlayMakerFSM.BroadcastEvent(eventName);
        }
        else
        {
            Debug.LogWarning("Event name is empty, cannot broadcast event.");
        }

        return 0f;
    }

    #if UNITY_EDITOR
    public override void ShowGUI(List&lt;AC.ActionParameter&gt; parameters)
    {
        eventName = EditorGUILayout.TextField("Event Name:", eventName);
    }

    public override string SetLabel()
    {
        return $"Broadcast PlayMaker Event: {eventName}";
    }
    #endif
}
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>Action to Find a gameObject and a component to enable/disable it</title>
        <link>https://adventurecreator.org/forum/discussion/14798/action-to-find-a-gameobject-and-a-component-to-enable-disable-it</link>
        <pubDate>Tue, 09 Apr 2024 21:11:55 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>Alatriste</dc:creator>
        <guid isPermaLink="false">14798@/forum/discussions</guid>
        <description><![CDATA[<p>Hi, with the help of ChatGPT I managed to get this action that can find a gameObject in the scene (by its name) and a component attached to it (also by its name) to enable or disable it.</p>

<p>When there are multiple gameObjects with the same name in the scene, the script will stop at the first instance it finds.</p>

<p>Add it to your custom actions folder to the Custom actions in the AC window.</p>

<pre><code>using UnityEngine;
using System.Collections;
using System.Collections.Generic;

#if UNITY_EDITOR
using UnityEditor;
#endif

namespace AC
{

    [System.Serializable]
    public class ActionFindObjectAndToggleComponent : Action
    {
        public string objectName = "";
        public string componentName = "";
        public bool setActive = true;

        public ActionFindObjectAndToggleComponent ()
        {
            isDisplayed = true;
            category = ActionCategory.Custom;
            title = "Find Game Object Component";
            description = "Find a gameObject in the scene and enable or disable the component attached.";
        }

        public override float Run()
        {
            GameObject obj = GameObject.Find(objectName);

            if (obj != null)
            {
                Component comp = obj.GetComponent(componentName);

                if (comp != null)
                {
                    if (comp is Behaviour behaviour)
                    {
                        behaviour.enabled = setActive;
                    }
                    else if (comp is Collider collider)
                    {
                        collider.enabled = setActive;
                    }
                }
                else
                {
                    ACDebug.LogWarning("Component " + componentName + " not found on " + objectName);
                }
            }
            else
            {
                ACDebug.LogWarning("GameObject " + objectName + " not found in scene");
            }

            return 0f;
        }

#if UNITY_EDITOR
        public override void ShowGUI()
        {
            objectName = EditorGUILayout.TextField("Object Name:", objectName);
            componentName = EditorGUILayout.TextField("Component Name:", componentName);
            setActive = EditorGUILayout.Toggle("Set Active:", setActive);

            AfterRunningOption();
        }
#endif
    }

}
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>Playmaker Call Event</title>
        <link>https://adventurecreator.org/forum/discussion/14962/playmaker-call-event</link>
        <pubDate>Mon, 27 May 2024 12:18:14 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>Alatriste</dc:creator>
        <guid isPermaLink="false">14962@/forum/discussions</guid>
        <description><![CDATA[<p>Hi, for some reason, the field for calling a specific event within a FSM using the Playmaker action didn't show up.<br />
I asked ChatGPT to fix it and it works.  <a href="https://adventurecreator.org/forum/profile/ChrisIceBox" rel="nofollow">@ChrisIceBox</a> Maybe something got broken in some update, as I saw parts of the original code that were supposed to show that field.</p>

<pre><code>/*
 *
 *  Adventure Creator
 *  by Chris Burton, 2013-2024
 *  
 *  "ActionPlayMaker.cs"
 * 
 *  This action interacts with the popular
 *  PlayMaker FSM-manager.
 * 
 */

using UnityEngine;
using System.Collections.Generic;

#if UNITY_EDITOR
using UnityEditor;
#endif

namespace AC
{

    [System.Serializable]
    public class ActionPlayMaker : Action
    {

        public bool isPlayer;
        public int playerID = -1;
        public int playerParameterID = -1;

        public int constantID = 0;
        public int parameterID = -1;
        public GameObject linkedObject;
        protected GameObject runtimeLinkedObject;

        public string fsmName;
        public int fsmNameParameterID = -1;
        public string eventName;
        public int eventNameParameterID = -1;


        public override ActionCategory Category { get { return ActionCategory.ThirdParty; }}
        public override string Title { get { return "PlayMaker"; }}
        public override string Description { get { return "Calls a specified Event within a PlayMaker FSM. Note that PlayMaker is a separate Unity Asset, and the 'PlayMakerIsPresent' preprocessor must be defined for this to work."; }}


        public override void AssignValues (List&lt;ActionParameter&gt; parameters)
        {
            if (isPlayer)
            {
                Player player = AssignPlayer (playerID, parameters, playerParameterID);
                runtimeLinkedObject = (player != null) ? player.gameObject : null;
            }
            else
            {
                runtimeLinkedObject = AssignFile (parameters, parameterID, constantID, linkedObject);
            }

            fsmName = AssignString (parameters, fsmNameParameterID, fsmName);
            eventName = AssignString (parameters, eventNameParameterID, eventName);
        }


        public override float Run ()
        {
            if (isPlayer &amp;&amp; KickStarter.player == null)
            {
                LogWarning ("Cannot use Player's FSM since no Player was found!");
            }

            if (runtimeLinkedObject != null &amp;&amp; !string.IsNullOrEmpty (eventName))
            {
                if (fsmName != "")
                {
                    PlayMakerIntegration.CallEvent (runtimeLinkedObject, eventName, fsmName);
                }
                else
                {
                    PlayMakerIntegration.CallEvent (runtimeLinkedObject, eventName);
                }
            }

            return 0f;
        }


        #if UNITY_EDITOR

        public override void ShowGUI (List&lt;ActionParameter&gt; parameters)
        {
            if (PlayMakerIntegration.IsDefinePresent ())
            {
                isPlayer = EditorGUILayout.Toggle ("Use Player's FSM?", isPlayer);
                if (isPlayer)
                {
                    PlayerField (ref playerID, parameters, ref playerParameterID);
                }
                else
                {
                    GameObjectField ("Playmaker FSM:", ref linkedObject, ref constantID, parameters, ref parameterID);
                }

                TextField ("FSM to call (optional):", ref fsmName, parameters, ref fsmNameParameterID);
                TextField ("Event name:", ref eventName, parameters, ref eventNameParameterID);  // Add this line to ensure the eventName field is visible
            }
            else
            {
                EditorGUILayout.HelpBox ("The 'PlayMakerIsPresent' Scripting Define Symbol must be listed in the\nPlayer Settings. Please set it from Edit -&gt; Project Settings -&gt; Player", MessageType.Warning);
            }
        }


        public override void AssignConstantIDs (bool saveScriptsToo, bool fromAssetFile)
        {
            if (!isPlayer)
            {
                constantID = AssignConstantID (linkedObject, constantID, parameterID);
            }
        }


        public override bool ReferencesObjectOrID (GameObject gameObject, int id)
        {
            if (parameterID &lt; 0 &amp;&amp; !isPlayer)
            {
                if (linkedObject &amp;&amp; linkedObject == gameObject) return true;
                if (constantID == id &amp;&amp; id != 0) return true;
            }
            return base.ReferencesObjectOrID (gameObject, id);
        }


        public override bool ReferencesPlayer (int _playerID = -1)
        {
            if (!isPlayer) return false;
            if (_playerID &lt; 0) return true;
            if (playerID &lt; 0 &amp;&amp; playerParameterID &lt; 0) return true;
            return (playerParameterID &lt; 0 &amp;&amp; playerID == _playerID);
        }

        #endif


        /**
         * &lt;summary&gt;Creates a new instance of the 'Third Party: PlayMaker' Action&lt;/summary&gt;
         * &lt;param name = "playMakerFSM"&gt;The GameObject with the Playmaker FSM to trigger&lt;/param&gt;
         * &lt;param name = "eventToCall"&gt;The name of the event to trigger&lt;/param&gt;
         * &lt;param name = "fsmName"&gt;The name of the FSM to call&lt;/param&gt;
         * &lt;returns&gt;The generated Action&lt;/returns&gt;
         */
        public static ActionPlayMaker CreateNew (GameObject playmakerFSM, string eventToCall, string fsmName = "")
        {
            ActionPlayMaker newAction = CreateNew&lt;ActionPlayMaker&gt; ();
            newAction.linkedObject = playmakerFSM;
            newAction.TryAssignConstantID (newAction.linkedObject, ref newAction.constantID);
            newAction.eventName = eventToCall;
            newAction.fsmName = fsmName;
            return newAction;
        }

    }

}
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>how to connect dialogues from ac to dialogue system ui?</title>
        <link>https://adventurecreator.org/forum/discussion/14952/how-to-connect-dialogues-from-ac-to-dialogue-system-ui</link>
        <pubDate>Thu, 23 May 2024 05:14:32 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>krupek</dc:creator>
        <guid isPermaLink="false">14952@/forum/discussions</guid>
        <description><![CDATA[<p>like in post i made integration but no clue how to correspond them i dont see dialogue system options in cutscene maker</p>
]]>
        </description>
    </item>
    <item>
        <title>EDITOR TOOL: SCENE GRAPH Downloads issue</title>
        <link>https://adventurecreator.org/forum/discussion/14938/editor-tool-scene-graph-downloads-issue</link>
        <pubDate>Sun, 19 May 2024 21:04:28 +0000</pubDate>
        <category>Extending the editor</category>
        <dc:creator>JamesArndt</dc:creator>
        <guid isPermaLink="false">14938@/forum/discussions</guid>
        <description><![CDATA[<p>On the Adventure Creator downloads page there is a tool for the editor scene graph. The package installs, but it's not clear how to use it. The associated PDF "readme" that is bundled in this package is a PDF for 'Screen-space Hotspot detection' and doesn't include any information about the editor scene graph extension.</p>
]]>
        </description>
    </item>
   </channel>
</rss>
