A modular shader system that allows platform-independent module definitions with localization support and unique IDs to avoid conflicts.

Stars

77

7-day growth

No data

Forks

8

Open issues

5

License

Zlib

Last updated

2026-07-15

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It reduces duplication and conflicts in shader modules by enforcing strict separation and providing text-based material settings for cross-platform use.

Who it is for

  • Unity game developers
  • Technical artists
  • Shader programmers working on multi-platform projects

Use cases

  • Building a reusable library of shader modules
  • Localizing material editor interfaces for different languages
  • Copying and pasting material settings across different platforms
  • Creating shader modules that automatically avoid variable name collisions

Strengths

  • Platform-independent module definitions that minimize rewrite effort
  • Localization support via .po files for the material editor
  • Unique module IDs that prevent variable name conflicts
  • Text-based material settings enable easy copy/paste across platforms

Considerations

  • Documentation is only in Japanese (though machine-readable)
  • Shader body itself remains platform-dependent
  • Cannot use MaterialPropertyDrawer or IMGUI (uses VisualElement)
  • Modules cannot modify behaviors defined by other modules

README quick start

Shader Core

モジュール型シェーダーシステムです。シェーダー本体はプラットフォームやレンダーパイプラインに依存しますが、各モジュールは基本的な処理であれば依存せずに記述できるようになっています。

機能

  • プラットフォームに依存しないモジュールの定義
  • マテリアルエディタのローカライズ対応(.poファイル)
  • モジュール固有IDによる変数名重複回避
  • プラットフォームに依存しないテキストベースのマテリアル設定値のコピー、ペースト処理

対応しないこと

  • ドキュメントは日本語のみです。ブラウザなどの機械翻訳で十分読める上、仮に私が英語のドキュメントを書く場合には機械翻訳を使用するため結果として品質がほとんど変わらないためです。
  • モジュールによるパスの追加は対応しません。モジュール同士の競合が発生するためです。シェーダー本体でマルチパスの定義を行ってください。
  • UnityEditor.MaterialPropertyDrawerは使用できません。VisualElementベースでエディタが記述されているためです。これとは別にUIをカスタマイズする方法が用意されています。
  • シェーダー本体はプラットフォームに依存します。基本的にはメインテクスチャやノーマルマップ、アウトライン程度しか処理しないことを想定しており、書き換えが容易であるためです。
  • モジュール側でUnity固有の機能は基本的に利用できません。ただしシェーダーキーワードについては[SCConstValue()]アトリビュートを付けることで自動生成されたシェーダーキーワードに基づきプロパティが定数化され、対応できます。
  • マテリアルエディタはIMGUIを使いません。VisualElementを使います。
  • モジュールがシェーダー本体や他モジュールで定義された動作を変更させるような機能には対応しません。動作を変更するモジュール同士で競合が発生するためです。

Related repositories

Similar projects matched by category, topics, and programming language.

loyal-studio
loyal-studio GitHub avatar

Honami-Animation-System

Honami is a visual, UI-first animation system for Unity 6 that replaces Mecanim with timeline editors, node graphs, and a zero-allocation runtime, letting animators author animations with almost no code.

C#
239
aakk007
aakk007 GitHub avatar

RogueCleaner

A Windows tool that detects and removes malicious leftovers from right-click menus, startup items, services, scheduled tasks, browser extensions, and file associations.

C#
212
ThioJoe
ThioJoe GitHub avatar

Thio-Background-App-Notifier

A lightweight Windows tool that notifies you about new auto-starting background services and scheduled tasks that Windows normally doesn't alert you about.

C#
147