Skip to content

Auto-configure button not available for VizVid video player when the Plugins folder is in the Assets #38

@xuan25

Description

@xuan25

Minimum Reproducible Steps

  1. Import the following packages and their dependencies:
    • com.vrchat.worlds-3.7.6
      • com.vrchat.base-3.7.6
      • com.vrchat.core.vpm-resolver-0.1.29
    • idv.jlchntoz.vvmw-1.4.4
      • idv.jlchntoz.vrcw-foundation-0.0.25
    • at.pimaker.ltcgi
  2. Add a VVMW (On-Screen Controls) to the scene.
  3. Add a LTCGI Controller to the scene.
  4. Navigate to the LTCGI_Controller component. VizVid is detected and the auto-configuration button is available.
  5. Create a new C# script under the path Assets/Plugins/Editor/.
  6. Navigate to the LTCGI_Controller component again. VizVid is NO longer detected and the auto-configuration button is NOT available.

Expected Behaviour

VizVid should still be detected and the auto-configuration button should remain available, even after creating the script in Assets/Plugins/Editor/.

Note: The path of my real case script is Assets/Plugins/TextToTMP/Editor/*.cs.

Analysis

The issue occurs when LTCGI_ControllerAutoSetup.cs executes the List<ILTCGI_AutoSetup> Wizards getter method. It traverses all assemblies and finds the first assembly containing Assembly-CSharp-Editor in its name, then retrieves valid ILTCGI_AutoSetup implementations to create the list of supported auto-configurations.

However, when C# scripts are present in Assets/Plugins/Editor/, Unity generates two assemblies with Assembly-CSharp-Editor in their names: Assembly-CSharp-Editor-firstpass and Assembly-CSharp-Editor. The Assembly-CSharp-Editor-firstpass assembly is prioritised during the traversal and is getting resolved. Unfortunately, VizVid’s ILTCGI_AutoSetup implementation (VizVidLTCGIAutoSetupProxy) is located in Assets/_pi_/_LTCGI-Adapters/Editor/ and is not compiled into Assembly-CSharp-Editor-firstpass, making it impossible to be resolved.

Expected Behaviour

Both Assembly-CSharp-Editor-firstpass and Assembly-CSharp-Editor assemblies should be resolved for valid ILTCGI_AutoSetup implementations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions