Lines don't show in Apparance editor (unreal)

Hello,
I just bought the Apparance on unreal marketplace. I noted that the line doesn’t show unless I hover over it. Also, when I tried to follow the tutorial, I needed to add a line on the left to set the descriptor of the resolve. It was the same on unreal 4.27 and on unreal 5 preview 2.

I’m using a NVIDIA GeForce GTX 1050 card with DirectX 12.0. My computer indicate that I have the latest driver installed and I don’t remember ever touching the parameters of my graphic cards.‌

Thank you in advance for the help.

This is a most odd issue as the rendering is handled by the WPF system in Windows. It should look something like this:

It seems the un-highlighted Bezier lines and the semi-transparent operator selection highlight overlays (orange) are not drawing.

Obvious things to try are upgrade to latest graphics drivers and check your desktop DPI settings (Settings → Display → Scale and layout). Other than that I’m not sure yet, I might need your help investigating further.

Can you try zooming in fully (hold down Ctrl to override the zoom limiter) and see if there is any change?

Hello,

I’m already using the latest graphics drivers. Zoomong on and out dosn’t change anything. The line are still hidden. I can only see them if I hover them.

For the DPI setting. I’m using the ones recommanded by my computer:

  • 100% for the text size, applications
  • resolution of 1920*1080

1 Like

Can you try re-installing the editor:

  1. Close Unreal
  2. Locate the editor folders under
    C:\Program Files\Epic Games\UE_?.??\Engine\Plugins\Marketplace\ApparanceUnreal\Binaries\
  3. Delete the “Apparance” folder (this is where the plugin downloads the editor exe to).
  4. Open Unreal.
  5. Open the Editor again from the Apparance menu.

Hmm, your selection highlight is working, I thought it wasn’t but you had the procedure itself selected so you could modify the default value. So, it looks like the operator input properties aren’t showing:

image

The wires and the properties are both associated with the operator instance input objects, so the issues have that in common.

Hi,

Sorry for the late answer.

I deleted the Apparence folder inside the Binaries folder you indicated. I then reopened my project but it didn’t change anything. I tried to uninstall the plugin from unreal and after the uninstallation, I checked that there where not any filesfrom the plugin in the Engine\Plugins\Marketplace folder. I then reinstalled the plugin but it also didn’t resolve the problem.

Just in case, I just downloaded and installed the latest version of the NVIDIA pilots that correspond to my graphic card. I tested the two version proposed (game ready and studio) but in both case, it didn’t resolve my problem.

Thankyou for trying these, and your patience. This is one of those ‘rare and difficult’ bugs to track down. One avenue to check is if there are any exceptions being thrown, but that would require you attaching Visual Studio to the running editor app (I’m don’t know if you are able to do that). Also, if it’s an anomaly in the XAML data driving the UI then that is actually live-editable and we could try a few things there, in-editor if you are in a position to try some things.
It seems that since you can hover over the lines that they are there but not rendering. I’m not sure why no inputs are showing in the property panel when you select an operator though.

Hi,

Thank you for your answer. I’m indeed not sure of what you mean by attaching visual studio to the running editor app. If you have any instruction to do that, I can try on my side and post the result here.

Ah, ok, that’s the development tool (from Microsoft) that I use to develop it, that can be attached to show debugging information. It’s quite a lot to install and setup so I’ll look for a simpler alternative.

If this is just the installation of visual studio, I have it on my computer. I have some (very basic) knowledge of C++.

Ah, ok, then you could try this:

  1. Open Unreal and your project (fresh, no Apparance editor opened)
  2. Run Visual Studio (empty/no project needed, or just the project select window)
  3. Drag the Apparance.Editor.exe (from it’s install location) into visual studio or over the project selector
  4. In Visual Studios select: Debug → Start Debugging
  5. The editor should launch and connect to Unreal
  6. Open a procedure that is showing the issue
  7. In Visual Studio, select: View → Output to see the output log

If there are any errors going on it should show. If you are ok sharing you could paste the log here, if not public you can email me directly instead.

Here is the log from the debugging:

‘Apparance.Editor.exe’ (CLR v4.0.30319: DefaultDomain): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: DefaultDomain): Loaded ‘F:\EpicGames\UE_4.27\Engine\Plugins\Marketplace\ApparanceUnreal\Binaries\Apparance\Editor\Apparance.Editor.exe’. Module was built without symbols.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework\v4.0_4.0.0.0__31bf3856ad364e35\PresentationFramework.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\WindowsBase\v4.0_4.0.0.0__31bf3856ad364e35\WindowsBase.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_64\PresentationCore\v4.0_4.0.0.0__31bf3856ad364e35\PresentationCore.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xaml\v4.0_4.0.0.0__b77a5c561934e089\System.Xaml.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_fr_b77a5c561934e089\mscorlib.resources.dll’. Module was built without symbols.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘F:\EpicGames\UE_4.27\Engine\Plugins\Marketplace\ApparanceUnreal\Binaries\Apparance\Editor\Apparance.Engine.dll’. Module was built without symbols.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘F:\EpicGames\UE_4.27\Engine\Plugins\Marketplace\ApparanceUnreal\Binaries\Apparance\Editor\Apparance.Core.dll’. Module was built without symbols.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘F:\EpicGames\UE_4.27\Engine\Plugins\Marketplace\ApparanceUnreal\Binaries\Apparance\Editor\Sharp3D.Math.dll’. Module was built without symbols.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\WindowsFormsIntegration\v4.0_4.0.0.0__31bf3856ad364e35\WindowsFormsIntegration.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework.Aero2\v4.0_4.0.0.0__31bf3856ad364e35\PresentationFramework.Aero2.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework.resources\v4.0_4.0.0.0_fr_31bf3856ad364e35\PresentationFramework.resources.dll’. Module was built without symbols.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemXml\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemXml.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\UIAutomationTypes\v4.0_4.0.0.0__31bf3856ad364e35\UIAutomationTypes.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\UIAutomationProvider\v4.0_4.0.0.0__31bf3856ad364e35\UIAutomationProvider.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Net.Http\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Net.Http.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\PresentationCore.resources\v4.0_4.0.0.0_fr_31bf3856ad364e35\PresentationCore.resources.dll’. Module was built without symbols.
‘Apparance.Editor.exe’ (CLR v4.0.30319: Apparance.Editor.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Security\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Security.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
The thread 0x4840 has exited with code 0 (0x0).

Ooh, thankyou. Hmm, nothing wrong there though. :frowning:
Might need you to try some UI hacking in the editor. Can you try the following as an initial test:

  1. Open Unreal+Apparance Editor as normal.
  2. In Apparance Editor press Alt+F12 to enable debug/advanced functionality.
  3. Expand the “Editor Development” bar at the bottom
  4. Change to the “Procedure Graph UI” tab.
  5. Scroll down to a section that is labelled <!-- CONNECTION -->
  6. On the 6th line down change the StrokeThickness value from “1.5” to “5”
  7. Press Ctrl+S to apply changes
  8. See if anything appears in the graph.

Take your time with these changes to this data as Ctrl+S saves it to disk so if it doesn’t like it and crashes you may need to delete and redownload the editor app. (or you could take a backup copy of the files in the UI folder). Some errors are tolerated and the panel UI you are editing will go red with an error message until the error is fixed (edit the XAML and Ctrl+S again).

Basically most of the UI in the Apparance Editor is live editable and driven by these XAML files, this makes development much much easier and as a side effect we can try some stuff to work out if its the rendering or the internal app logic.

Hi,

I modified the ProcedureGraphUI xaml file according to your instruction. It didn’t do anything. I reseted the strokeThickness to the original value.
Just an idea but you previously said that the UI use a library built in windows. Is there a way to check if this library is up to date? Else, as a temporary solution, maybe we can force an highlight of all the links even if the mouse doesn’t hover them?
It would only leave the problem of not being able to edit the nodes properties.

Unfortunately there is only one instance of the highlight and it’s moved around.
Can you try:

  1. Select an operator that you would expect to have properties
  2. Next to the “Procedure Graph UI” tab there is a “Property Editing UI” tab, select that.
  3. Scroll down just over half way to a section heading <!-- ProcedureOperator Custom UI -->
  4. Find the line below which should be <StackPanel>
  5. After it on the same line add <TextBlock Text="{Binding Inputs.Count}"/>
  6. Ctrl+S to save
  7. Look at the top line of the Property panel it should now have a number. What is it?

Hi,

I did the modification you indicated. I opened a procedure from your example project. There was a resolve node with the number 3. The other two nodes have the number 2.

edit: I used a procedure from your example project.

1 Like

Ok, can you try this:

  1. Same panel (Property Editing UI), same section (<!-- ProcedureOperator Custom UI -->)
  2. Find the <DataTemplate> line and add this to the end:
    <StackPanel><TextBlock Text="{Binding Name}"/>
  3. Find the </Grid> line a bit lower down, and add </StackPanel> to the end.
  4. Ctrl+S
    What do you get in the Property panel?

I know this is tedious, sorry, it’s really helpful if you we can work out what’s going wrong as it’s really really hard to repro.

Hi,

No problem, while I’m using unreal engine as a hobby, programming is part of my work. I understand how hard it is to debug some function and I can see how complex your UI is.

There was multiple lines with . I used the one just before the one with . Now, the property panel show the names of the input pins.

Ok, that’s going to be a great help.
Hmm, so it looks like the properties are there but invisible. Can you try replacing this line:

<Grid Opacity="{Binding IsConnectedToConstant, Converter={StaticResource bool2double}, ConverterParameter=0.5|1.0}">

with just <Grid> to see if the opacity term is broken?
I think the wires use this too so if this is the issue can you try removing the Opacity term from this section of the Procedure Graph UI too:

	<!-- CONNECTION -->
	<DataTemplate x:Key="connection_visualisation">
		<Grid >
		<!-- connected -->
		<Grid Visibility="{Binding IsConnected,Converter={StaticResource bool2vis}}"
			Opacity="{Binding IsSubdued,Converter={StaticResource bool2double}, ConverterParameter=1.0|0.3}">

i.e. replace the Opacity=… line with just the closing angle bracket >