Skip to content

Add shadows enumeration to VEML 3.1 effects-settings for global light control#90

Draft
Copilot wants to merge 7 commits into
mainfrom
copilot/add-shadows-enumeration-field
Draft

Add shadows enumeration to VEML 3.1 effects-settings for global light control#90
Copilot wants to merge 7 commits into
mainfrom
copilot/add-shadows-enumeration-field

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 3, 2026

VEML schema lacked standardized global shadow settings. This adds a shadows enumeration field to effects-settings in VEML 3.1 enabling world-wide light shadow control.

Schema Changes

  • V3.1 directory: New schema namespace http://www.fivesqd.com/schemas/veml/3.1
  • effectssettingsShadows enum: Values off, on, preserve
  • shadows attribute: Added to effectssettings with proper XML serialization
<effects-settings shadows="on">
    <lite-fog fogenabled="false" />
</effects-settings>

Implementation

  • VEMLHandler.cs: ProcessShadowsSetting() iterates light entities and applies Unity LightShadows setting

    • offLightShadows.None
    • onLightShadows.Soft
    • preserve → no change (default)
  • VEMLUtilities.cs: V3.0→V3.1 conversion via XML serialization with namespace replacement

  • Schema migration: All versions 1.0-3.0 auto-upgrade through conversion chain

Testing

  • V3.1 schema parsing with shadows attribute
  • V3.0→V3.1 backward compatibility
  • Example VEML file demonstrating feature

External Dependencies

XSD schema in @Five-Squared-Interactive/VEML repository requires separate update.

Original prompt

This section details on the original issue you should resolve

<issue_title>Add "shadows" enumeration field to effects-settings in VEML. xsd and update for schema version 3.1</issue_title>
<issue_description>Is your feature request related to a problem? Please describe.
Current VEML schema does not allow standardized global shadow settings in effects-settings. We need better control over light shadow behavior for the world.

Describe the solution you'd like

  • Add an enumeration field shadows to effects-settings in @Five-Squared-Interactive/VEML/files/VEML. xsd, supporting the values: "off", "on", and "preserve".
  • Update schema version to 3.1.
  • Update all relevant Languages files to reflect the new field and schema.
  • In the WebVerse-Runtime codebase, add a new V3_1 directory for the updated schema under Assets/Runtime/Handlers/VEMLHandler/Schema/.
  • Update VEMLHandler (likely Assets/Runtime/Handlers/VEMLHandler/Scripts/VEMLHandler.cs) to:
    • Support the new shadows field in effects-settings.
    • If shadows is off, disable shadows for all lights in the world.
    • If shadows is on, enable soft shadows for all lights in the world.
    • If shadows is preserve, leave shadow settings for lights unchanged.
  • Integrate VEML schema version 3.1 with WebVerse Runtime effects/environment parsing.

Describe alternatives you've considered

  • Set shadows per light rather than globally (more complex, less standardized)
  • Ignore schema updates and set shadows via runtime configuration only

Additional context

  • See prior handling of effects-settings and version updates in Assets/Runtime/Handlers/VEMLHandler/Schema/V3.0/VEML.cs and similar versioned files.
  • VEMLHandler processes effects using ProcessEffects (see VEMLHandler.cs), consider how litefog is processed for reference when extending to shadows.
  • Remember to update conversion and utilities as needed.
  • See also VEMLUtilities.cs and how schema upgrades/migration are handled.
  • Updates may need to be made to @Five-Squared-Interactive/StraightFour to facilitate this.

Impact

  • This enables worlds to define global shadow policies and improves scene visual consistency.</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 6 commits January 3, 2026 22:19
Co-authored-by: dyfios <16926525+dyfios@users.noreply.github.com>
Co-authored-by: dyfios <16926525+dyfios@users.noreply.github.com>
Co-authored-by: dyfios <16926525+dyfios@users.noreply.github.com>
Co-authored-by: dyfios <16926525+dyfios@users.noreply.github.com>
Co-authored-by: dyfios <16926525+dyfios@users.noreply.github.com>
Co-authored-by: dyfios <16926525+dyfios@users.noreply.github.com>
Copilot AI changed the title [WIP] Add shadows enumeration field to effects-settings in VEML Add shadows enumeration to VEML 3.1 effects-settings for global light control Jan 3, 2026
Copilot AI requested a review from dyfios January 3, 2026 22:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add "shadows" enumeration field to effects-settings in VEML. xsd and update for schema version 3.1

2 participants