Repository navigation
AngularScope v0.2.0 — Scale-aware optics and integration examples
Pre-releaseWhat changed
- Added animation-driven PC avatar integration fixtures and a step-by-step guide.
- Eye relief and its axial tolerance can follow renderer object scale; new materials default to GPUObjectSpace (mode 1). WorldMetres (mode 0) remains available for fixed world distances.
- Separated linked pupil-shadow normalization from the adjustable radius cap.
- Disabled dynamic batching and moved constant scope-frame projection to the vertex stage.
- Removed the legacy cover visibility adapter; streamlined documentation and reticle-sizing guidance.
Upgrade notes
Materials without a saved _EyeReliefMode now inherit mode 1. Explicitly save mode 0 before updating if you need the previous fixed-world-distance calibration. Existing saved mode 0 values are retained. The removed _EyeBoxLimit cover input no longer controls visibility.
Downloads
- AngularScope_WithExample.unitypackage: shader, documentation, procedural scene and animation-driven integration fixtures. Recommended starting point.
- AngularScope_ShaderOnly.unitypackage: shader and documentation only.
PC Built-in Render Pipeline; tested editor: Unity 2022.3.22f1. A separate scene camera and RenderTexture are required. Quest/Android, URP and HDRP are unsupported. Avatar fixtures are not an automatic installer: test the final rig in VRChat. See the documentation for depth-texture limitations.
Validation
The projection refactor was compared across 288 editor-render configurations; the maximum channel difference was 1/255. Package contents were checked against source. These checks do not establish compatibility with every headset or avatar rig, and no frame-time improvement is claimed.
License and AI disclaimer
Independently authored content is CC0-1.0. Generative AI assisted code and documentation, with human review and iterative Unity/VR testing. This remains an experimental optical approximation, not a physical lens raytrace.