Copy and Paste Nodes

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
gwishinofficial
Posts: 14
Joined: Wed Apr 24, 2024 10:13 pm

Copy and Paste Nodes

Post by gwishinofficial »

Hello!

I'm sorry if this has been asked recently. I saw a post from a few years ago that said c+p was not yet a feature but it was going to be. And I can't find it now but I could've sworn I saw another post saying it's included now but I have not been able to use it in the past several months.

I am trying to copy a selection of nodes in a conversation in the dialogue editor and post them to another conversation. But I can't even c+p within the same conversation right now. I can select a group of nodes but ctrl+c and then ctrl+p do not work.

Right-clicking over a single node (only a single node, I don't know how to bring up this menu with multiple nodes selected) brings up a menu that includes "copy" option and the "paste" is greyed out. If I copy the single node and then right-click and bring up the menu again, then it seems I have the option to "paste nodes" but nothing happens if I select that.

Is c+p available but not working for me (for whatever reason) or is it just not available?

I'm on version 2.2.47 and I was using 2.2.45 previously.

Thank you!
User avatar
Tony Li
Posts: 22107
Joined: Thu Jul 18, 2013 1:27 pm

Re: Copy and Paste Nodes

Post by Tony Li »

Hi,

Copy & Paste work, but with mouse controls using the context menu, not with Ctrl+C and Ctrl+P.

Select a group of nodes, right-click on a node, and select Copy.

Then right-click on empty canvas space, and select Paste Nodes. (If you right-click on a node, the context menu item will be Paste, but it does the same thing -- just pastes nodes onto the canvas.)
gwishinofficial
Posts: 14
Joined: Wed Apr 24, 2024 10:13 pm

Re: Copy and Paste Nodes

Post by gwishinofficial »

Hi Tony,

That is definitely what I've been trying and it just doesn't work. I can select a group of nodes. But the moment I right-click (one node or otherwise), they are all unselected. If I do exactly what you said (select group, right-click on top of a node), then the "paste" option is greyed out because it doesn't think anything was copied. If I do what I said previously and only right-click one node, then at least the context menu says I can paste, although it does not actually do anything.

I could show you a video or something but maybe I could directly message you or something? (This is for a work project, not my own personal thing.)

Thanks!
User avatar
Tony Li
Posts: 22107
Joined: Thu Jul 18, 2013 1:27 pm

Re: Copy and Paste Nodes

Post by Tony Li »

Hi,

I believe you. Let's figure out what the difference is.

What OS are you using?

When you right-click, do any errors or warnings appear in the Console?
gwishinofficial
Posts: 14
Joined: Wed Apr 24, 2024 10:13 pm

Re: Copy and Paste Nodes

Post by gwishinofficial »

Windows
Edition: Windows 11 Home
Version: 23H2
Installed on: 3/‎5/‎2023
OS build: 22631.4169
Experience: Windows Feature Experience Pack 1000.22700.1034.0

Unity
2023.2.8f1
(a3bb09f8c8c4)

Console Warning (when right-click and copy in context window)
NullReferenceException: Object reference not set to an instance of an object
PixelCrushers.DialogueSystem.DialogueEditor.DialogueEditorWindow.RemoveOutgoingLinksFromClipboard () (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/Editor/Dialogue Editor/Nodes/DialogueEditorWindowConversationNodeEditor.cs:2091)
PixelCrushers.DialogueSystem.DialogueEditor.DialogueEditorWindow.CopyEntryCallback (System.Object o) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/Editor/Dialogue Editor/Nodes/DialogueEditorWindowConversationNodeEditor.cs:2072)
UnityEditor.GenericMenu.CatchMenu (System.Object userData, System.String[] options, System.Int32 selected) (at <71384c30e42c4bcf9ce4acef4223ee2b>:0)
UnityEditor.EditorUtility+<>c__DisplayClass146_1.<DoCustomMenu>b__0 (System.Object e) (at <71384c30e42c4bcf9ce4acef4223ee2b>:0)
UnityEngine.UIElements.GenericDropdownMenu+MenuItem.PerformAction () (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.GenericDropdownMenu.ClickItem () (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.GenericDropdownMenu.OnPointerUp (UnityEngine.UIElements.PointerUpEvent evt) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.EventCallbackFunctor`1[TEventType].Invoke (UnityEngine.UIElements.EventBase evt) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.EventCallbackRegistry+DynamicCallbackList.Invoke (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel, UnityEngine.UIElements.VisualElement target) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.EventDispatchUtilities.HandleEventAcrossPropagationPathWithCompatibilityEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.EventBase compatibilityEvt, UnityEngine.UIElements.BaseVisualElementPanel panel, UnityEngine.UIElements.VisualElement target, System.Boolean isCapturingTarget) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.EventDispatchUtilities.DispatchToCachedElementUnderPointerOrPanelRoot (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel, System.Int32 pointerId, UnityEngine.Vector2 position) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.EventDispatchUtilities.DispatchToCapturingElementOrElementUnderPointer (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel, System.Int32 pointerId, UnityEngine.Vector2 position) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.PointerEventBase`1[T].Dispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at <b3a32009a29947f597b3b08aa48842a8>:0)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at <25a5fafa2fe04bc3a027483f53d368a3>:0)

:shock:


I also get a console warning if I try to paste but I'm guessing that's related to all of whatever I've done wrong above. Does that help figure it out?

I'm sorry I didn't think of console warnings, (the scenes play fine).
Last edited by gwishinofficial on Mon Oct 07, 2024 7:42 pm, edited 1 time in total.
User avatar
Tony Li
Posts: 22107
Joined: Thu Jul 18, 2013 1:27 pm

Re: Copy and Paste Nodes

Post by Tony Li »

Hi,

Version 2.2.48 is coming out later this week. It should fix that issue.
gwishinofficial
Posts: 14
Joined: Wed Apr 24, 2024 10:13 pm

Re: Copy and Paste Nodes

Post by gwishinofficial »

That's great, thank you, Tony!
Post Reply