study/first_study/Library/PackageCache/com.unity.collections@aea9d3bd5e19/Unity.Collections.LowLevel.ILSupport
jh04010421 739d49f1a0 Unity | 2026.01.20
수업 실습 파일
2026-01-20 11:01:57 +09:00
..
source~ Unity | 2026.01.20 2026-01-20 11:01:57 +09:00
README.txt Unity | 2026.01.20 2026-01-20 11:01:57 +09:00
README.txt.meta Unity | 2026.01.20 2026-01-20 11:01:57 +09:00
Unity.Collections.LowLevel.ILSupport.dll Unity | 2026.01.20 2026-01-20 11:01:57 +09:00
Unity.Collections.LowLevel.ILSupport.dll.meta Unity | 2026.01.20 2026-01-20 11:01:57 +09:00

This adds a simple ILSupport extension that adds `ref T AsRef<T>(in T thing)` to
convert a read-only (in) ref to a regular ref, to avoid defensive copies when calling
(non-mutating) methods on it.  This is wrapped in UnsafeUtilityEx, as only Unity.Collections
has InternalsVisibleTo into this library.

Collections.LowLevel.ILSupport can and should be generated by codegen & ilpostprocessors,
however the ilpostproc infrastructure is unstable.  Given that the result of this is
constant, we just check in the final DLL.  The source for everything is in the source~
dir.

To rebuild or to add any functionality:
- delete the prebuilt DLLs in this directory
- and rename the source~ dir to source (without the ~)
- fire up Unity and let it build.  Everything should be successful, you're just now using the runtime-generated DLL.
- make whatever changes you need to
- make sure Unity's builds are up to date
- copy Library/ScriptAssemblies/Unity.Collections.LowLevel.ILSupport.dll into this dir
- rename source back to source~