E:\UE_5.0\Engine\Source\Runtime\CoreUObject\Private\Misc\GCObjectReferencer.cpp line 165
"Please make sure all FGCObject derived classes have a unique name by overriding FGCObject::GetReferencerName() function. "
In editor it just spams the message log with call stack but when running debug from vs it will break on this error which is annoying. Tried implementing FGCObject methods in DialogueViewportWidget (object being collected) as error suggest but that didn’t help.
Please provide repro steps. What version of the plugin you’re using, what version of the engine, what OS, and what do you do in the Editor to reproduce it.
ue5.0 and plugin from the launcher, win10.
steps:
Open .sln, in visual studio
select ‘debug game editor’ in ‘solution configurations’ dropdown
hit f5
in editor open any dialogue asset
hit play button
I have a new, proper crash but this time I don’t expect a fix since it doesn’t happen in blank project I’ve created to verify the cause, just letting you know
Happens when in event trying to use a passed npc ref (doesn’t have to be like on screenshot, happens also when trying to call interface method on it without setting the variable). Doesn’t crash right away but when exiting PIE.
If you can’t reproduce it in an empty project, I wouldn’t mind taking a look at your complete project. You can upload it to google drive and send it by email or PM.
Looks like modifying the dialogue events’ variable at runtime modifies it for the asset itself? Shouldn’t the dialogue object be instanced when playing rather than use the same instance that is edited?
Dialogues and Dialogue Events are UObjects. UObjects are static files with game data for all intents and purposes. I’ve given them a reference to the “World”, which allows them to use nodes like “get all actors of class”, which in turn could make you mistake them for actors, but they’re not. They don’t exist in the level, which means they have no separate runtime instances. UObjects have only one instance, it’s the file itself. So no, you can’t modify them, consider them read-only. You have to change your architectural approach if you were modifying them on runtime.
I didn’t really intended to, just noticed that I can and that change propagates from pie session to editor Imo this was related to my problems with gc on session end, which went away when I modified the code to create copy of UDialogue & it’s events for game world.
Hey, love the plugin! How do I make it so that the first response from the NPC can change based on a condition? I have already tried to set it up but it doesn’t work It always goes to the right-hand box even though the left-hand box has a condition that is ‘true’
Edit: Nevermind, my condition was causing the bug! Will leave this here incase anyone wants to see how to make this work
Hi, I’m trying to locate this structure, I made a modification to the conditions, now if you fail in a condition the answer will appear but in red and cannot be pressed, but I want to decide what will appear in red or what will not appear.
Just wondering if there is a way to use an event condition to change the name variable in the dialogue? Can access it fine, but there’s no set name available. I want to use it to change an NPCs name half way through a conversation after the player discovers their name.
Any help appreciated!
It’s important to understand that dialogue files can’t be edited at runtime. They’re your cooked game data, much like a mesh file. Dialogues are data assets, and data assets aren’t editable at runtime. Imagine if they were: on your first playthrough you see some data, then you change it, and on your second playthrough you would see a different data. To prevent that, data assets aren’t editable.
If you’re going to reveal a different NPC name a lot, here’s what I’d do:
add a second text field for a name to a dialogue file (documentation paragraph 7.8)
create a dialogue event that tells your widget to start using the second name
But if you’re only going to change the name of the NPC once or twice, then simply add an event that sets the name to something else in the widget, without creating a second name field.
I was following the tutorial for the typewriter effect but I can’t find the GetFirstChars node in blueprints. Is the tutorial not up to date anymore or am I missing something?