Top Menu

Jump to content
    Modules
      • Projects
      • Activity
      • Work packages
      • Gantt charts
      • Calendars
      • Team planners
      • Boards
      • News
      • Time and costs
    Home
    • Getting started
    • Introduction video
      Welcome to OpenProject
      Get a quick overview of project management and team collaboration with OpenProject. You can restart this video from the help menu.

    • Help and support
    • User guides
    • Videos
    • Shortcuts
    • Community forum
    • Enterprise support

    • Additional resources
    • Data privacy and security policy
    • Digital accessibility (DE)
    • OpenProject website
    • Security alerts / Newsletter
    • OpenProject blog
    • Release notes
    • Report a bug
    • Development roadmap
    • Add and edit translations
    • API documentation
  • Sign in
      Forgot your password?

Side Menu

Collapse project menu

  • Overview
  • Activity
    Activity
  • Roadmap
  • Work packages
    Work packages
  • Gantt charts
    Gantt charts
  • Calendars
    Calendars
  • Team planners
    Team planners
  • Boards
    Boards
  • Wiki
  • Backlogs
  • News
  • Time and costs
    Time and costs
  • Budgets
  • Forums
  • Repository
  • Documents
  • Members
    Members

Content

Expand project menu
Versions
  1. OpenProject
  2. Atavism Modular Character
  3. Project settings
  4. Versions
  5. Customizer 11.1 (11.2.1)

Customizer 11.1 (11.2.1)

Complete rewrite of the modular system core, one of the biggest corrections is to the core material functionality. Previously all materials were instanced, causing a ballooning effect as more players entered. Adjustments have been made to correct this issue. Replaced all body-switching methods with generic helpers (SwitchModel). Consolidated material-change methods (SwitchMaterial) into unified handlers with safeguarded indexing. Simplified logic in both ReplaceModelShaders and ReplaceAllModelShaders with direct iteration and clearer flow. Introduced generic registration and cleanup methods (Register and OnDestroy) reducing duplicate logic. Unified body-part activation/deactivation logic, removing repetitive conditional blocks. Condensed switch-case logic into streamlined helper-based approach, reducing code complexity. Added ShaderIds static helper for improved performance (removed repetitive string-based shader property lookups). Centralized parsing of color strings into Color32 across methods, reducing code redundancy. Added consistent early returns and safety guards around potential null references. Single helper now handles _DiffuseColor → _BaseColor → _Color fallback and raw material.color, used across the project. Collapsed Update*Color methods into versions with early-return checks and one shared sync loop. Corrected _Color2 beard tint overwrite and feet/lower-leg colour assignment mix-up. Centralized CSV → Color32 parsing and used helper lambdas to cut repetitive property checks.

0% Total progress

0 closed (0%)   1 open (100%)

Estimates and progress
Work 0.00 hours
Spent time 0.00 hours
Related work packages
  • Feature #84: Investigate MaterialPropertyBlock for coloring character.
Loading...