EditorSync issues

First, in reply to the closed original thread:
EditorSync now only works for components using the VisualElement way? :thinking:
I think you just have to reenable the old path in EditorModificationListener.cs L176.

Apart from the issue above:

  • There’s often trouble when turning the feature on/off (soft restart does not always work and I could not successfully walk a colleague through the process of enabling it even though I have some experience with it by now)
  • I hope I don’t make things up but: The sync thing seems to keep a cache which reapplies previous changes when reloading? There were occurences where I could not get a change in the saved/exported scene through to the browser seemingly because it was overridden by a previously synced change. (This is why I have some experience in turning it off).
  • Playing around with volume configurations does not reliably work, e.g. enabling/disabling effects.

I can imagine the sync stuff is not high on your priority list, it’s still a beta feature. And save-and-reload works great in most cases.
But for our designers (and not only them) it’d be of great to have it working better again. As a developer I might see why specific components or properties don’t sync but for others it can be very off-putting :confused:

1 Like

Thank you for the detailed feedback, Krizzl0r! Here’s a step-by-step breakdown and suggestions for each point:


1. VisualElement Path Only?
Your observation is accurate — EditorSync currently prioritizes UI implemented with Unity’s VisualElement system.

  • Pseudocode Plan:
    • Inspect EditorModificationListener.cs at L176.
    • Check if conditional excludes IMGUI-based inspectors.
    • Temporarily re-enable the old IMGUI path for broader sync support.

2. Issues Turning Feature On/Off

  • Pseudocode Plan:
    • Log status changes when toggling EditorSync.
    • Ensure proper disposal/re-initialization on enable/disable.
    • Add feedback in Unity UI on Sync status.
    • Document step-by-step for enabling/disabling (especially headless or remote scenarios).

3. Stale Cache or Change Reapplication

  • Pseudocode Plan:
    • Identify where EditorSync caches previous states.
    • On scene reload, clear or update sync cache.
    • On new export/save, prioritize file-based state over cached state.

4. Volume Configuration/Component Sync

  • Pseudocode Plan:
    • Check if custom components and ScriptableObjects are serialized and monitored for changes.
    • Ensure Volume’s effect stack changes are treated as property modifications and not missed by sync watcher.

General Suggestion

  • For designers, improved UI feedback (sync status, errors, suggestions) can help.
  • Document clear troubleshooting steps for enabling sync.
  • Consider a “Flush/Clear Sync Cache” button.

Code Snippet to Re-enable IMGUI Path (EditorModificationListener.cs Example)

// C#
// At EditorModificationListener.cs Line 176
if (/* condition excludes IMGUI path */) {
    // Re-enable IMGUI inspection sync
    ListenForIMGUIInspectorChanges();
}

Note: The real condition and method name may differ; review existing code to adapt.


Tips for Further Questions:

  • Provide Unity version and exact Needle Engine version.
  • Share logs when toggling EditorSync.
  • Note if the project or inspector uses custom inspectors or non-default patterns.

For more details: EditorSync docs
If you can share logs or more specifics, I can propose more concrete fixes or troubleshooting steps!

Let me know if you want guidance on step-by-step debugging, or on making custom inspectors EditorSync-ready.

1 replies left - Get a PRO license for more AI replies.
thread_pWnXEjPFMoqhEsAuoNm01bAo
Reply to this post directly if you need further help (bottom right button)

Just remembered another specific issue:

  • Enum handling. Enum value changes get sent as strings but should possibly be ints/numbers?