Language: 日本語
Pure Base 0.2.0-beta.1 is a Unity package that provides four base shaders for Shader-Core.
Instead of including a large collection of optional effects, it provides a small and understandable foundation that can be extended with Shader-Core modules when needed.
Important
Pure Base is an unofficial project developed independently from Shader-Core, NonToon, and lilToon.
Generative AI is used during development.
| Shader | Intended use |
|---|---|
PureBase/Unlit |
A display that is not affected by scene lighting |
PureBase/Toon |
Anime-style lighting with clearly separated light and shadow |
PureBase/PBR |
Standard material rendering with metallic and roughness controls |
PureBase/Hybrid |
Toon-style diffuse lighting combined with physically based reflections |
Every shader can be used without installing an optional module.
- Unity 2022.3
- Built-in Render Pipeline
- Shader-Core 0.1.9
URP is not supported. Opaque, Cutout, and Transparent rendering modes are available; Cutout is the default.
Pure Base can be installed through VRChat Creator Companion, ALCOM, or another VPM-compatible package manager.
Open the following link to add Penguin VPM Repository:
Add Penguin VPM Repository
If the link does not open, paste this URL into your package manager's repository settings:
https://raw.githubusercontent.com/Penguin-Repository/VPM-Repository/refs/heads/master/vpm.json
If you have not already added the Shader-Core repository, add this URL as well:
https://lilxyzw.github.io/vpm-repos/vpm.json
- Open the Unity project in your package manager.
- Find
PureBasein the package list. - Select the version you want and add it to the project.
- Confirm that Shader-Core 0.1.9 is installed with it.
The package version described here is 0.2.0-beta.1.
- Create a new material in Unity.
- Open the material's shader menu and select
PureBase. - Choose
Unlit,Toon,PBR, orHybridfor the intended look. - Choose Opaque, Cutout, or Transparent in the rendering-mode setting. Cutout is the default.
- Set the base color, texture, and other available properties.
- Add Shader-Core modules when additional effects are needed.
For a simple starting point, choose Toon for anime-style materials or PBR for general-purpose materials.
The _RenderingMode property is a ShaderLab Integer with Opaque=0, Cutout=1 (default), and Transparent=2.
| Mode | Behavior |
|---|---|
| Opaque | Uncut and unblended; queue 2000, ZWrite 1. |
| Cutout | Clips coverage; queue resolves to AlphaTest 2450, with no mode keyword. |
| Transparent | Alpha-blends without depth writing; queue 3000, with ShadowCaster and Meta disabled. |
To apply the mode explicitly in the editor, use PureBaseMaterialRenderingMode.Apply(Material). For selected materials, use Assets/PureBase/Resync Rendering Mode. Opening or refreshing the Inspector does not migrate or dirty legacy materials. Runtime switching is not guaranteed, and a custom queue remains until the next explicit mode edit or Resync.
- Pure Base is intentionally kept small.
- Effects such as rim lighting, MatCap, emission, and dissolve are expected to be supplied by separate Shader-Core modules.
- The complete rendering-mode and pass contract is documented in Pure-Base Shader Contract.
- When reporting a problem, include the Unity, Pure Base, and Shader-Core versions you used.
This README is intended to be enough for installation and basic use.
Implementation details, release operations, compatibility contracts, and validation procedures are collected in Technical information.
Pure Base is released under the Apache License 2.0. See LICENSE for details.
Pure Base and Penguin do not accept financial support. Bug reports, suggestions, pull requests, code, and patches are welcome.
Enjoy your Unity!