Giter VIP home page Giter VIP logo

extenject's People

Contributors

altunsercan avatar bitbutter avatar bobrust avatar bvance avatar cooloon avatar coreyjharvey avatar denravonska avatar extrys avatar foobraco avatar hdanilo avatar jamjardavies avatar jdessart-mt avatar jhett12321 avatar johnlcox avatar kruncher avatar marsermd avatar mathijs-bakker avatar mysticfall avatar nezz avatar paulpach avatar pnarimani avatar sbergen avatar shreyasd avatar soren025 avatar suzdalnitski avatar svermeulen avatar tsgcpp avatar villetuh avatar yacuzo avatar zeljkokalezic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

extenject's Issues

Link Checker Report

Link Checker

Errors were reported while checking the connectivity of links.

NonUnityBuild/Zenject-Cecil/LICENSE.md
Documentation/Async.md
Documentation/CheatSheet.md
Documentation/CompositeInstaller.md
	OK	./Images/CompositeInstaller/CompositeMonoInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeMonoInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCreateAsset.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInstall.jpg
Documentation/MemoryPools.md
	OK	../README.md#binding
	OK	Factories.md
	OK	Factories.md#abstract-factories
	OK	Images/PoolMonitor.png?raw=true
License.md
Documentation/Signals.md
	OK	../README.md#binding
	OK	../README.md#scene-parenting
	OK	../README.md#unirx-integration
Documentation/WritingAutomatedTests.md
	OK	https://docs.unity3d.com/Packages/[email protected]/manual/index.html
Documentation/SubContainers.md
	OK	../README.md#scene-bindings
	OK	../README.md#zenject-philophy
	OK	Images/ShipFacadeExample1.png?raw=true
	OK	https://en.wikipedia.org/wiki/Facade_pattern
Documentation/DecoratorBindings.md
	OK	../README.md#binding
	OK	https://en.wikipedia.org/wiki/Decorator_pattern
Documentation/ReleaseNotes.md
	OK	../README.md#upgrading-from-zenject5
	OK	https://github.com/svermeulen/Zenject#optimization_notes
Documentation/AutoMocking.md
	OK	https://github.com/moq/moq4
	OK	https://nsubstitute.github.io
	OK	https://www.nuget.org/packages/NSubstitute/
	OK	https://www.nuget.org/packages/moq
CONTRIBUTING.md
	OK	https://discord.gg/T5y5TD
	OK	https://forum.unity.com
	OK	https://github.com/ktaranov/naming-convention/blob/master/C%23%20Coding%20Standards%20and%20Naming%20Conventions.md
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/compare
	OK	https://github.com/svermeulen/Extenject/issues/new?template=bug_report.md
	OK	https://github.com/svermeulen/Extenject/issues/new?template=feature_request.md
	OK	https://help.github.com/articles/markdown-basics/#multiple-lines
	OK	https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests
	OK	https://stackoverflow.com/questions/tagged/zenject
NonUnityBuild/Zenject-Cecil/README.md
	OK	http://www.dotnetfoundation.org/
	OK	https://ci.appveyor.com/api/projects/status/fmhutmhidy1fahl4?svg=true
	OK	https://ci.appveyor.com/project/jbevain/cecil
	OK	https://github.com/jbevain/cecil.samples
	OK	https://github.com/jbevain/cecil/wiki/Users
	OK	https://groups.google.com/group/mono-cecil
Documentation/lawsuit.md
	OK	https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://github.com/modesttree/Projeny
	OK	https://img.shields.io/badge/Projeny-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/badge/Unity3dAsyncAwaitUtil-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=Modest%20Tree%20Filing%20Against%20Me&color=red&url=https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=My%20Defense%20Filing&color=success&url=https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://paypal.me/stevevermeulen
	OK	https://www.patreon.com/extenject
Documentation/Factories.md
	OK	../README.md#binding
	OK	../README.md#dicontainer-methods
	OK	../README.md#object-graph-validation
	OK	../README.md#theory
	OK	SubContainers.md
	OK	https://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/
	OK	https://docs.microsoft.com/en-us/dotnet/api/system.type.getfields?redirectedfrom=MSDN&view=netcore-3.1#System_Type_GetFields
README.md
	OK	Documentation/AutoMocking.md
	OK	Documentation/CheatSheet.md
	OK	Documentation/CompositeInstaller.md
	OK	Documentation/DecoratorBindings.md
	OK	Documentation/Factories.md
	OK	Documentation/Factories.md#custom-factories
	OK	Documentation/GamesThatUseZenject.md
	OK	Documentation/Images/AutoBind1.png?raw=true
	OK	Documentation/Images/ExtenjectMainHeader.png
	OK	Documentation/MemoryPools.md
	OK	Documentation/ReleaseNotes.md
	OK	Documentation/Signals.md
	OK	Documentation/SubContainers.md
	OK	Documentation/WritingAutomatedTests.md
	OK	http://codemanship.co.uk/parlezuml/blog/?postid=934
	OK	http://en.wikipedia.org/wiki/Single_responsibility_principle
	OK	http://www.gamasutra.com/blogs/RubenTorresBonet/20180703/316442/A_better_architecture_for_Unity_projects.php
	OK	http://www.reddit.com/r/zenject
	OK	https://assetstore.unity.com/packages/templates/packs/push-the-squares-69780
	OK	https://assetstore.unity.com/packages/templates/packs/quick-golf-67900
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-framework-157735
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-ioc-157735
	OK	https://docs.unity3d.com/Manual/MultiSceneEditing.html
	OK	https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html
	OK	https://docs.unity3d.com/ScriptReference/Object.FindObjectsOfType.html
	OK	https://en.wikipedia.org/wiki/Facade_pattern
	OK	https://forum.unity.com/threads/request-for-world-addmanager.539271/#post-3558224
	OK	https://gist.github.com/svermeulen/8927b29b2bfab4e84c950b6788b0c677
	OK	https://gist.github.com/svermeulen/a6929e6e26f2de2cc697d24f108c5f85
	OK	https://github.com/Crabar/Craberoid-3.0
	OK	https://github.com/Mathijs-Bakker/Extenject
	OK	https://github.com/Mathijs-Bakker/Extenject/actions/workflows/main.yml
	OK	https://github.com/Mathijs-Bakker/Extenject/actions/workflows/main.yml/badge.svg
	OK	https://github.com/Mathijs-Bakker/Extenject/issues/2
	OK	https://github.com/Mathijs-Bakker/Extenject/releases
	OK	https://github.com/Mathijs-Bakker/Zenject-Hero
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/jbevain/cecil
	OK	https://github.com/mob-sakai/UpmGitExtension
	OK	https://github.com/modesttree/Zenject/issues/168
	OK	https://github.com/modesttree/zenject
	OK	https://github.com/neuecc/UniRx
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/ssannandeji/Zenject-2019/issues/275
	OK	https://github.com/ssannandeji/Zenject-2019/issues/301
	OK	https://github.com/starikcetin/Extenject/tree/upm
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/issues/24
	OK	https://github.com/svermeulen/Extenject/releases
	OK	https://github.com/svermeulen/Extenject/tree/0b4a15b1e6e680c94fd34a2d7420eb41e320b21b
	OK	https://github.com/svermeulen/Extenject/tree/dc019e31dbae09eb53c1638be00f7f002898956c
	OK	https://github.com/svermeulen/Extenject/tree/f0dd30ad451dcbc3eb17e636455a6c89b14ad537
	OK	https://github.com/svermeulen/IocPerformance
	OK	https://github.com/svermeulen/UnityCoroutinesWithoutMonoBehaviours
	OK	https://github.com/svermeulen/ZenjectSignalsOld
	OK	https://gitter.im/Extenject/community
	OK	https://gitter.im/Extenject/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
	OK	https://grofit.gitbooks.io/development-for-winners/content/
	OK	https://groups.google.com/forum/#!forum/zenject/
	OK	https://img.shields.io/github/contributors/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/last-commit/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/license/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/v/release/Mathijs-Bakker/Extenject?color=green
	OK	https://img.shields.io/static/v1?label=Gitter&labelColor=ED1965&message=Support&color=grey&logo=Gitter&logoColor=White&url=https://gitter.im/Extenject/community
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=GitHub%20Releases&labelColor=181717&message=Downloads&color=green&logo=GitHub&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Asset%20Store&labelColor=181717&message=Download&color=green&logo=Unity&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Package&labelColor=181717&message=UPM&color=green&logo=Unity&logoColor=white
	OK	https://stackoverflow.com/questions/ask
	OK	https://twitter.com/steve_verm
	OK	https://www.udemy.com/dependency-injection-in-unity3d-using-zenject/
	OK	https://www.youtube.com/watch?v=Bcj35ceGCn0&list=PLyH-qXFkNSxnJbZLrxF0jWGyHB-8Kcd5q
	OK	https://www.youtube.com/watch?v=IS2YUIb_w_M&list=PLKERDLXpXl_jNJPY2czQcfPXW4BJaGZc_
Documentation/GamesThatUseZenject.md
	OK	https://apps.apple.com/app/id1079852672
	OK	https://apps.apple.com/de/app/idle-farming-empire/id1018795567?mt=8&ign-mpt=uo%3D4
	OK	https://apps.apple.com/us/app/bedtimemath/id637910701
	OK	https://apps.apple.com/us/app/ingress-prime/id576505181
	OK	https://apps.apple.com/us/app/nova-black-holes/id1114574985
	OK	https://apps.apple.com/us/app/pokemon-go/id1094591345
	OK	https://apps.apple.com/us/app/slugterra-guardian-force/id1043738296
	OK	https://apps.apple.com/us/app/toy-clash-ar/id1274066398
	OK	https://beatsaber.com
	OK	https://bedtimemath.org/what-we-do/apps/
	OK	https://furylion.net
	OK	https://github.com/EcsRx/ecsrx
	OK	https://github.com/cgarciae/karma
	OK	https://github.com/ecsrx/ecsrx.unity
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/svermeulen/Extenject/issues/179
	OK	https://itunes.apple.com/gb/app/stick-soccer-2/id1104214157?mt=8
	OK	https://itunes.apple.com/us/app/id1404769349
	OK	https://kafkaris.com/2019/03/08/spinifex-group-jasper-dome/
	OK	https://kafkaris.com/2019/12/15/spinifex-group-honda-mobile-product-guide/
	OK	https://kafkaris.com/2020/01/15/spinifex-group-gpj-yonex-australian-open/
	OK	https://misfitlabs.itch.io/space-shooter
	OK	https://play.google.com/store/apps/details?id=com.SmoreGames.WordWinner
	OK	https://play.google.com/store/apps/details?id=com.futureplay.boots
	OK	https://play.google.com/store/apps/details?id=com.futureplay.city
	OK	https://play.google.com/store/apps/details?id=com.nerdcorps.slugthree&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticlabs.pokemongo&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticproject.ingress&hl=en_US
	OK	https://play.google.com/store/apps/details?id=com.twofours.bedtimemath
	OK	https://pokemongolive.com/
	OK	https://store.playstation.com/en-cz/product/EP5067-CUSA14143_00-BEATSABERFULL000
	OK	https://store.playstation.com/en-sg/product/HP3823-CUSA11820_00-0000000000000000
	OK	https://store.steampowered.com/app/620360/Toy_Clash/
	OK	https://store.steampowered.com/app/620980/Beat_Saber/
	OK	https://toyclash.com/
	OK	https://user-images.githubusercontent.com/7645831/95634748-e5142780-0a8a-11eb-9a90-37474824cc85.png
	OK	https://user-images.githubusercontent.com/7645831/95634750-e6455480-0a8a-11eb-8586-2d9aad47d83f.png
	OK	https://user-images.githubusercontent.com/7645831/95634751-e6ddeb00-0a8a-11eb-9ee1-2a755fd72e81.png
	OK	https://user-images.githubusercontent.com/7645831/95634753-e7768180-0a8a-11eb-8768-e75801f05a76.png
	OK	https://user-images.githubusercontent.com/7645831/95634818-12f96c00-0a8b-11eb-8532-730fe0bb941c.png
	OK	https://user-images.githubusercontent.com/7645831/95634819-142a9900-0a8b-11eb-8b75-5847aa6e423c.png
	OK	https://user-images.githubusercontent.com/7645831/95634820-142a9900-0a8b-11eb-8605-1103bb78e491.png
	OK	https://user-images.githubusercontent.com/7645831/95634822-14c32f80-0a8b-11eb-9be8-d85d2974540e.png
	OK	https://user-images.githubusercontent.com/7645831/95634823-155bc600-0a8b-11eb-9f13-e809b48e6f97.png
	OK	https://user-images.githubusercontent.com/7645831/95634860-2c9ab380-0a8b-11eb-8cf9-f4876fcaa39a.png
	OK	https://user-images.githubusercontent.com/7645831/95634862-2d334a00-0a8b-11eb-9b97-85387a86a763.png
	OK	https://user-images.githubusercontent.com/7645831/95634863-2dcbe080-0a8b-11eb-860a-7aafadb32758.png
	OK	https://user-images.githubusercontent.com/7645831/95634866-2e647700-0a8b-11eb-8c85-b4669e570ff1.png
	OK	https://user-images.githubusercontent.com/7645831/95634895-3cb29300-0a8b-11eb-814f-69d13c522308.png
	OK	https://user-images.githubusercontent.com/7645831/95634900-3d4b2980-0a8b-11eb-8706-b0976a3bdc9d.png
	OK	https://user-images.githubusercontent.com/7645831/95634901-3de3c000-0a8b-11eb-8595-a1e7f7118016.png
	OK	https://user-images.githubusercontent.com/7645831/95634902-3de3c000-0a8b-11eb-814d-757af61e1dd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634906-3e7c5680-0a8b-11eb-8bde-e4292b10ed0f.png
	OK	https://user-images.githubusercontent.com/7645831/95634931-4b994580-0a8b-11eb-86bf-e3419d182a67.png
	OK	https://user-images.githubusercontent.com/7645831/95634932-4c31dc00-0a8b-11eb-914f-4245841a1ee4.png
	OK	https://user-images.githubusercontent.com/7645831/95634933-4c31dc00-0a8b-11eb-8cce-4c9d0d5805af.png
	OK	https://user-images.githubusercontent.com/7645831/95634934-4cca7280-0a8b-11eb-8eab-114bb6b2ddd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634952-55bb4400-0a8b-11eb-8204-b52c640868b5.png
	OK	https://user-images.githubusercontent.com/7645831/95634955-5653da80-0a8b-11eb-99d5-e360dfcbf164.png
	OK	https://user-images.githubusercontent.com/7645831/95634956-56ec7100-0a8b-11eb-9341-5c2f531be0c5.png
	OK	https://user-images.githubusercontent.com/7645831/95634957-56ec7100-0a8b-11eb-922f-e27d12ed1505.png
	OK	https://user-images.githubusercontent.com/7645831/95634959-57850780-0a8b-11eb-81cf-6b0650edec8e.png
	OK	https://user-images.githubusercontent.com/7645831/95651927-c7c47500-0aed-11eb-917a-676a1bf14ae4.png
	OK	https://user-images.githubusercontent.com/7645831/95662777-a8ebd000-0b39-11eb-8fd2-07923e48a349.png
	OK	https://user-images.githubusercontent.com/7645831/95662778-a9846680-0b39-11eb-9cd9-ab8bd459f436.png
	OK	https://user-images.githubusercontent.com/7645831/95662779-aa1cfd00-0b39-11eb-9b27-566a8a600aae.png
	OK	https://user-images.githubusercontent.com/7645831/95662780-aab59380-0b39-11eb-81d0-431aab26d1db.png
	OK	https://user-images.githubusercontent.com/7645831/95662781-ab4e2a00-0b39-11eb-8bcd-f199dfe484c5.png
	OK	https://user-images.githubusercontent.com/7645831/95662811-dfc1e600-0b39-11eb-8558-d99f9fd126df.png
	OK	https://user-images.githubusercontent.com/7645831/95662814-e18ba980-0b39-11eb-8d36-d4ad5674ba79.png
	OK	https://user-images.githubusercontent.com/7645831/95662815-e2244000-0b39-11eb-8634-4f547e792c92.png
	OK	https://user-images.githubusercontent.com/7645831/95662816-e2bcd680-0b39-11eb-832a-fa288d3adc23.png
	OK	https://user-images.githubusercontent.com/7645831/95662817-e2bcd680-0b39-11eb-9ddd-0bb3e0788fac.png
	OK	https://user-images.githubusercontent.com/7645831/95662823-f5cfa680-0b39-11eb-97f5-8659089285cb.png
	OK	https://user-images.githubusercontent.com/7645831/95662825-f700d380-0b39-11eb-84ff-2211501667bc.png
	OK	https://user-images.githubusercontent.com/7645831/95662826-f700d380-0b39-11eb-862a-d645dddc775d.png
	OK	https://user-images.githubusercontent.com/7645831/95662827-f7996a00-0b39-11eb-8881-2a059b5069d8.png
	OK	https://user-images.githubusercontent.com/7645831/95662829-f8320080-0b39-11eb-862e-5743b5e122fa.png
	OK	https://user-images.githubusercontent.com/7645831/95665315-8fee1980-0b4f-11eb-9567-fb27d6138267.png
	OK	https://user-images.githubusercontent.com/7645831/95665320-92507380-0b4f-11eb-8177-eb45f98ce142.png
	OK	https://user-images.githubusercontent.com/7645831/95665322-9381a080-0b4f-11eb-932e-c10602e5f8a7.png
	OK	https://user-images.githubusercontent.com/7645831/95665324-941a3700-0b4f-11eb-939c-9520bfc20432.png
	OK	https://user-images.githubusercontent.com/7645831/95665326-94b2cd80-0b4f-11eb-8c24-acc6411f773e.png
	OK	https://user-images.githubusercontent.com/7645831/95665336-a09e8f80-0b4f-11eb-9f04-460ceb038c0a.png
	OK	https://user-images.githubusercontent.com/7645831/95665337-a1372600-0b4f-11eb-9c6b-89c2af6bbf91.png
	OK	https://user-images.githubusercontent.com/7645831/95665339-a1cfbc80-0b4f-11eb-9389-6b156b7da0b6.png
	OK	https://user-images.githubusercontent.com/7645831/95665346-b613b980-0b4f-11eb-8111-6afa5d3410fb.png
	OK	https://user-images.githubusercontent.com/7645831/95665348-b744e680-0b4f-11eb-997e-1a28577676b7.png
	OK	https://user-images.githubusercontent.com/7645831/95665349-b744e680-0b4f-11eb-85ca-9b8c102f62b9.png
	OK	https://user-images.githubusercontent.com/7645831/95665350-b7dd7d00-0b4f-11eb-9463-03421cadaeee.png
	OK	https://user-images.githubusercontent.com/7645831/95665351-b8761380-0b4f-11eb-8483-5df5913b070d.png
	OK	https://user-images.githubusercontent.com/7645831/95665360-caf04d00-0b4f-11eb-907b-87947d657fb3.png
	OK	https://user-images.githubusercontent.com/7645831/95665361-cb88e380-0b4f-11eb-9f57-78b59277a927.png
	OK	https://user-images.githubusercontent.com/7645831/95665362-cc217a00-0b4f-11eb-8e81-4f6a08613df8.png
	OK	https://user-images.githubusercontent.com/7645831/95665364-cc217a00-0b4f-11eb-85ec-f1fcd112d304.png
	OK	https://user-images.githubusercontent.com/7645831/95665365-cd52a700-0b4f-11eb-9a25-ce285a02462f.png
	OK	https://user-images.githubusercontent.com/7645831/95665378-e2c7d100-0b4f-11eb-92cd-04eaa3819c50.png
	OK	https://user-images.githubusercontent.com/7645831/95665380-e3f8fe00-0b4f-11eb-98fe-26723822a03e.png
	OK	https://user-images.githubusercontent.com/7645831/95665381-e3f8fe00-0b4f-11eb-9e57-b4844d48e8e4.png
	OK	https://user-images.githubusercontent.com/7645831/95665382-e4919480-0b4f-11eb-8435-80f2db9eec50.png
	OK	https://user-images.githubusercontent.com/7645831/95665384-e5c2c180-0b4f-11eb-8408-672db63d6527.png
	OK	https://user-images.githubusercontent.com/7645831/95666017-ebbba100-0b55-11eb-863a-e9020be7c8af.png
	OK	https://user-images.githubusercontent.com/7645831/95666020-eeb69180-0b55-11eb-8ffd-c25515bfca1a.png
	OK	https://user-images.githubusercontent.com/7645831/95666022-efe7be80-0b55-11eb-9e46-186fbf922937.png
	OK	https://user-images.githubusercontent.com/7645831/95666023-efe7be80-0b55-11eb-9646-8fc42a630a85.png
	OK	https://user-images.githubusercontent.com/7645831/95666024-f0805500-0b55-11eb-9a74-09762c626bb6.png
	OK	https://user-images.githubusercontent.com/7645831/95672778-dd947180-0ba3-11eb-9144-c188ac7b2c17.png
	OK	https://user-images.githubusercontent.com/7645831/95672780-e08f6200-0ba3-11eb-9291-911e0c05da17.png
	OK	https://user-images.githubusercontent.com/7645831/95672782-e127f880-0ba3-11eb-9bfe-c9e64635081e.png
	OK	https://user-images.githubusercontent.com/7645831/95672783-e1c08f00-0ba3-11eb-9032-1e3a92fa74b9.png
	OK	https://user-images.githubusercontent.com/7645831/95672784-e2592580-0ba3-11eb-868a-4d202b7e5483.png
	OK	https://user-images.githubusercontent.com/7645831/95672798-f0a74180-0ba3-11eb-9263-9c63faa1a5b7.png
	OK	https://user-images.githubusercontent.com/7645831/95672799-f13fd800-0ba3-11eb-9db2-f2c82ff5c29f.png
	OK	https://user-images.githubusercontent.com/7645831/95672800-f1d86e80-0ba3-11eb-85ec-1c70b8dbeae6.png
	OK	https://user-images.githubusercontent.com/7645831/95672802-f3099b80-0ba3-11eb-8d38-22eecd86c6dd.png
	OK	https://user-images.githubusercontent.com/7645831/95672811-087ec580-0ba4-11eb-8994-dc383608a57f.png
	OK	https://user-images.githubusercontent.com/7645831/95672813-09175c00-0ba4-11eb-83f5-cf92f145ffd6.png
	OK	https://user-images.githubusercontent.com/7645831/95672814-09aff280-0ba4-11eb-8a2d-ced40e2188e0.png
	OK	https://user-images.githubusercontent.com/7645831/95672815-09aff280-0ba4-11eb-9a40-11f77b12cbf0.png
	OK	https://user-images.githubusercontent.com/7645831/95672816-0a488900-0ba4-11eb-840f-6781ab146068.png
	OK	https://user-images.githubusercontent.com/7645831/95672881-7e832c80-0ba4-11eb-98d7-08b23156e212.png
	OK	https://user-images.githubusercontent.com/7645831/95685582-fc712300-0bf8-11eb-81d7-4d01a617616e.png
	OK	https://user-images.githubusercontent.com/7645831/95685629-422deb80-0bf9-11eb-861e-ef8171c92137.png
	OK	https://user-images.githubusercontent.com/7645831/95685630-42c68200-0bf9-11eb-9e6c-39c8769ad28f.png
	OK	https://user-images.githubusercontent.com/7645831/95685633-51ad3480-0bf9-11eb-82c8-077a9e410a5a.png
	OK	https://user-images.githubusercontent.com/7645831/95685635-54a82500-0bf9-11eb-99cf-e7da86704197.png
	OK	https://www.airconsole.com/#!play=com.octopusgames.golfriends
	OK	https://www.buildawaygame.com
	OK	https://www.epicstoryinteractive.com
	OK	https://www.farmawaygame.com
	OK	https://www.ingress.com
	OK	https://www.microsoft.com/de-de/p/toy-clash/9pn9vbjl9ld4?ocid=badge&rtc=1&activetab=pivot:overviewtab
	OK	https://www.misfitlabs.dev
	OK	https://www.oculus.com/experiences/gear-vr/1407846952568081/
	OK	https://www.oculus.com/experiences/rift/1304877726278670/
	OK	https://www.pbslearningmedia.org/resource/nvbh-sci-blackholesguide/wgbh-nova-black-holes-app-educator-guide/
	OK	https://www.sticksports.com/stick-soccer-2/
	ERROR	https://play.google.com/store/apps/details?id=com.fiveminlab.toyclash.daydream
		Not Found (HTTP error 404)

Link Checker Report

Link Checker

Errors were reported while checking the connectivity of links.

NonUnityBuild/Zenject-Cecil/LICENSE.md
Documentation/Async.md
Documentation/CheatSheet.md
Documentation/CompositeInstaller.md
	OK	./Images/CompositeInstaller/CompositeMonoInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeMonoInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCreateAsset.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInstall.jpg
Documentation/Signals.md
	OK	../README.md#binding
	OK	../README.md#scene-parenting
	OK	../README.md#unirx-integration
License.md
Documentation/MemoryPools.md
	OK	../README.md#binding
	OK	Factories.md
	OK	Factories.md#abstract-factories
	OK	Images/PoolMonitor.png?raw=true
Documentation/SubContainers.md
	OK	../README.md#scene-bindings
	OK	../README.md#zenject-philophy
	OK	Images/ShipFacadeExample1.png?raw=true
	OK	https://en.wikipedia.org/wiki/Facade_pattern
Documentation/DecoratorBindings.md
	OK	../README.md#binding
	OK	https://en.wikipedia.org/wiki/Decorator_pattern
Documentation/WritingAutomatedTests.md
	OK	https://docs.unity3d.com/Packages/[email protected]/manual/index.html
Documentation/AutoMocking.md
	OK	https://github.com/moq/moq4
	OK	https://nsubstitute.github.io
	OK	https://www.nuget.org/packages/NSubstitute/
	OK	https://www.nuget.org/packages/moq
Documentation/Factories.md
	OK	../README.md#binding
	OK	../README.md#dicontainer-methods
	OK	../README.md#object-graph-validation
	OK	../README.md#theory
	OK	SubContainers.md
	OK	https://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/
	OK	https://docs.microsoft.com/en-us/dotnet/api/system.type.getfields?redirectedfrom=MSDN&view=netcore-3.1#System_Type_GetFields
Documentation/ReleaseNotes.md
	OK	../README.md#upgrading-from-zenject5
	OK	https://github.com/svermeulen/Zenject#optimization_notes
NonUnityBuild/Zenject-Cecil/README.md
	OK	http://www.dotnetfoundation.org/
	OK	https://ci.appveyor.com/api/projects/status/fmhutmhidy1fahl4?svg=true
	OK	https://ci.appveyor.com/project/jbevain/cecil
	OK	https://github.com/jbevain/cecil.samples
	OK	https://github.com/jbevain/cecil/wiki/Users
	OK	https://groups.google.com/group/mono-cecil
Documentation/lawsuit.md
	OK	https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://github.com/modesttree/Projeny
	OK	https://img.shields.io/badge/Projeny-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/badge/Unity3dAsyncAwaitUtil-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=Modest%20Tree%20Filing%20Against%20Me&color=red&url=https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=My%20Defense%20Filing&color=success&url=https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://paypal.me/stevevermeulen
	OK	https://www.patreon.com/extenject
CONTRIBUTING.md
	OK	https://discord.gg/T5y5TD
	OK	https://forum.unity.com
	OK	https://github.com/ktaranov/naming-convention/blob/master/C%23%20Coding%20Standards%20and%20Naming%20Conventions.md
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/compare
	OK	https://github.com/svermeulen/Extenject/issues/new?template=bug_report.md
	OK	https://github.com/svermeulen/Extenject/issues/new?template=feature_request.md
	OK	https://help.github.com/articles/markdown-basics/#multiple-lines
	OK	https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests
	OK	https://stackoverflow.com/questions/tagged/zenject
README.md
	OK	Documentation/AutoMocking.md
	OK	Documentation/CheatSheet.md
	OK	Documentation/CompositeInstaller.md
	OK	Documentation/DecoratorBindings.md
	OK	Documentation/Factories.md
	OK	Documentation/Factories.md#custom-factories
	OK	Documentation/GamesThatUseZenject.md
	OK	Documentation/Images/AutoBind1.png?raw=true
	OK	Documentation/Images/ExtenjectMainHeader.png
	OK	Documentation/MemoryPools.md
	OK	Documentation/ReleaseNotes.md
	OK	Documentation/Signals.md
	OK	Documentation/SubContainers.md
	OK	Documentation/WritingAutomatedTests.md
	OK	http://codemanship.co.uk/parlezuml/blog/?postid=934
	OK	http://en.wikipedia.org/wiki/Single_responsibility_principle
	OK	http://www.gamasutra.com/blogs/RubenTorresBonet/20180703/316442/A_better_architecture_for_Unity_projects.php
	OK	http://www.reddit.com/r/zenject
	OK	https://assetstore.unity.com/packages/templates/packs/push-the-squares-69780
	OK	https://assetstore.unity.com/packages/templates/packs/quick-golf-67900
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-framework-157735
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-ioc-157735
	OK	https://docs.unity3d.com/Manual/MultiSceneEditing.html
	OK	https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html
	OK	https://docs.unity3d.com/ScriptReference/Object.FindObjectsOfType.html
	OK	https://en.wikipedia.org/wiki/Facade_pattern
	OK	https://forum.unity.com/threads/request-for-world-addmanager.539271/#post-3558224
	OK	https://gist.github.com/svermeulen/8927b29b2bfab4e84c950b6788b0c677
	OK	https://gist.github.com/svermeulen/a6929e6e26f2de2cc697d24f108c5f85
	OK	https://github.com/Crabar/Craberoid-3.0
	OK	https://github.com/Mathijs-Bakker/Extenject
	OK	https://github.com/Mathijs-Bakker/Extenject/actions/workflows/main.yml
	OK	https://github.com/Mathijs-Bakker/Extenject/actions/workflows/main.yml/badge.svg
	OK	https://github.com/Mathijs-Bakker/Extenject/issues/2
	OK	https://github.com/Mathijs-Bakker/Extenject/releases
	OK	https://github.com/Mathijs-Bakker/Zenject-Hero
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/jbevain/cecil
	OK	https://github.com/mob-sakai/UpmGitExtension
	OK	https://github.com/modesttree/Zenject/issues/168
	OK	https://github.com/modesttree/zenject
	OK	https://github.com/neuecc/UniRx
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/ssannandeji/Zenject-2019/issues/275
	OK	https://github.com/ssannandeji/Zenject-2019/issues/301
	OK	https://github.com/starikcetin/Extenject/tree/upm
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/issues/24
	OK	https://github.com/svermeulen/Extenject/releases
	OK	https://github.com/svermeulen/Extenject/tree/0b4a15b1e6e680c94fd34a2d7420eb41e320b21b
	OK	https://github.com/svermeulen/Extenject/tree/dc019e31dbae09eb53c1638be00f7f002898956c
	OK	https://github.com/svermeulen/Extenject/tree/f0dd30ad451dcbc3eb17e636455a6c89b14ad537
	OK	https://github.com/svermeulen/IocPerformance
	OK	https://github.com/svermeulen/UnityCoroutinesWithoutMonoBehaviours
	OK	https://github.com/svermeulen/ZenjectSignalsOld
	OK	https://gitter.im/Extenject/community
	OK	https://gitter.im/Extenject/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
	OK	https://grofit.gitbooks.io/development-for-winners/content/
	OK	https://groups.google.com/forum/#!forum/zenject/
	OK	https://img.shields.io/github/contributors/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/last-commit/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/license/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/v/release/Mathijs-Bakker/Extenject?color=green
	OK	https://img.shields.io/static/v1?label=Gitter&labelColor=ED1965&message=Support&color=grey&logo=Gitter&logoColor=White&url=https://gitter.im/Extenject/community
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=GitHub%20Releases&labelColor=181717&message=Downloads&color=green&logo=GitHub&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Asset%20Store&labelColor=181717&message=Download&color=green&logo=Unity&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Package&labelColor=181717&message=UPM&color=green&logo=Unity&logoColor=white
	OK	https://stackoverflow.com/questions/ask
	OK	https://twitter.com/steve_verm
	OK	https://www.udemy.com/dependency-injection-in-unity3d-using-zenject/
	OK	https://www.youtube.com/watch?v=Bcj35ceGCn0&list=PLyH-qXFkNSxnJbZLrxF0jWGyHB-8Kcd5q
	OK	https://www.youtube.com/watch?v=IS2YUIb_w_M&list=PLKERDLXpXl_jNJPY2czQcfPXW4BJaGZc_
Documentation/GamesThatUseZenject.md
	OK	https://apps.apple.com/app/id1079852672
	OK	https://apps.apple.com/de/app/idle-farming-empire/id1018795567?mt=8&ign-mpt=uo%3D4
	OK	https://apps.apple.com/us/app/bedtimemath/id637910701
	OK	https://apps.apple.com/us/app/ingress-prime/id576505181
	OK	https://apps.apple.com/us/app/nova-black-holes/id1114574985
	OK	https://apps.apple.com/us/app/pokemon-go/id1094591345
	OK	https://apps.apple.com/us/app/slugterra-guardian-force/id1043738296
	OK	https://apps.apple.com/us/app/toy-clash-ar/id1274066398
	OK	https://beatsaber.com
	OK	https://bedtimemath.org/what-we-do/apps/
	OK	https://furylion.net
	OK	https://github.com/EcsRx/ecsrx
	OK	https://github.com/cgarciae/karma
	OK	https://github.com/ecsrx/ecsrx.unity
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/svermeulen/Extenject/issues/179
	OK	https://itunes.apple.com/gb/app/stick-soccer-2/id1104214157?mt=8
	OK	https://itunes.apple.com/us/app/id1404769349
	OK	https://kafkaris.com/2019/03/08/spinifex-group-jasper-dome/
	OK	https://kafkaris.com/2019/12/15/spinifex-group-honda-mobile-product-guide/
	OK	https://kafkaris.com/2020/01/15/spinifex-group-gpj-yonex-australian-open/
	OK	https://misfitlabs.itch.io/space-shooter
	OK	https://play.google.com/store/apps/details?id=com.SmoreGames.WordWinner
	OK	https://play.google.com/store/apps/details?id=com.futureplay.boots
	OK	https://play.google.com/store/apps/details?id=com.futureplay.city
	OK	https://play.google.com/store/apps/details?id=com.nerdcorps.slugthree&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticlabs.pokemongo&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticproject.ingress&hl=en_US
	OK	https://play.google.com/store/apps/details?id=com.twofours.bedtimemath
	OK	https://pokemongolive.com/
	OK	https://store.playstation.com/en-cz/product/EP5067-CUSA14143_00-BEATSABERFULL000
	OK	https://store.playstation.com/en-sg/product/HP3823-CUSA11820_00-0000000000000000
	OK	https://store.steampowered.com/app/620360/Toy_Clash/
	OK	https://store.steampowered.com/app/620980/Beat_Saber/
	OK	https://toyclash.com/
	OK	https://user-images.githubusercontent.com/7645831/95634748-e5142780-0a8a-11eb-9a90-37474824cc85.png
	OK	https://user-images.githubusercontent.com/7645831/95634750-e6455480-0a8a-11eb-8586-2d9aad47d83f.png
	OK	https://user-images.githubusercontent.com/7645831/95634751-e6ddeb00-0a8a-11eb-9ee1-2a755fd72e81.png
	OK	https://user-images.githubusercontent.com/7645831/95634753-e7768180-0a8a-11eb-8768-e75801f05a76.png
	OK	https://user-images.githubusercontent.com/7645831/95634818-12f96c00-0a8b-11eb-8532-730fe0bb941c.png
	OK	https://user-images.githubusercontent.com/7645831/95634819-142a9900-0a8b-11eb-8b75-5847aa6e423c.png
	OK	https://user-images.githubusercontent.com/7645831/95634820-142a9900-0a8b-11eb-8605-1103bb78e491.png
	OK	https://user-images.githubusercontent.com/7645831/95634822-14c32f80-0a8b-11eb-9be8-d85d2974540e.png
	OK	https://user-images.githubusercontent.com/7645831/95634823-155bc600-0a8b-11eb-9f13-e809b48e6f97.png
	OK	https://user-images.githubusercontent.com/7645831/95634860-2c9ab380-0a8b-11eb-8cf9-f4876fcaa39a.png
	OK	https://user-images.githubusercontent.com/7645831/95634862-2d334a00-0a8b-11eb-9b97-85387a86a763.png
	OK	https://user-images.githubusercontent.com/7645831/95634863-2dcbe080-0a8b-11eb-860a-7aafadb32758.png
	OK	https://user-images.githubusercontent.com/7645831/95634866-2e647700-0a8b-11eb-8c85-b4669e570ff1.png
	OK	https://user-images.githubusercontent.com/7645831/95634895-3cb29300-0a8b-11eb-814f-69d13c522308.png
	OK	https://user-images.githubusercontent.com/7645831/95634900-3d4b2980-0a8b-11eb-8706-b0976a3bdc9d.png
	OK	https://user-images.githubusercontent.com/7645831/95634901-3de3c000-0a8b-11eb-8595-a1e7f7118016.png
	OK	https://user-images.githubusercontent.com/7645831/95634902-3de3c000-0a8b-11eb-814d-757af61e1dd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634906-3e7c5680-0a8b-11eb-8bde-e4292b10ed0f.png
	OK	https://user-images.githubusercontent.com/7645831/95634931-4b994580-0a8b-11eb-86bf-e3419d182a67.png
	OK	https://user-images.githubusercontent.com/7645831/95634932-4c31dc00-0a8b-11eb-914f-4245841a1ee4.png
	OK	https://user-images.githubusercontent.com/7645831/95634933-4c31dc00-0a8b-11eb-8cce-4c9d0d5805af.png
	OK	https://user-images.githubusercontent.com/7645831/95634934-4cca7280-0a8b-11eb-8eab-114bb6b2ddd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634952-55bb4400-0a8b-11eb-8204-b52c640868b5.png
	OK	https://user-images.githubusercontent.com/7645831/95634955-5653da80-0a8b-11eb-99d5-e360dfcbf164.png
	OK	https://user-images.githubusercontent.com/7645831/95634956-56ec7100-0a8b-11eb-9341-5c2f531be0c5.png
	OK	https://user-images.githubusercontent.com/7645831/95634957-56ec7100-0a8b-11eb-922f-e27d12ed1505.png
	OK	https://user-images.githubusercontent.com/7645831/95634959-57850780-0a8b-11eb-81cf-6b0650edec8e.png
	OK	https://user-images.githubusercontent.com/7645831/95651927-c7c47500-0aed-11eb-917a-676a1bf14ae4.png
	OK	https://user-images.githubusercontent.com/7645831/95662777-a8ebd000-0b39-11eb-8fd2-07923e48a349.png
	OK	https://user-images.githubusercontent.com/7645831/95662778-a9846680-0b39-11eb-9cd9-ab8bd459f436.png
	OK	https://user-images.githubusercontent.com/7645831/95662779-aa1cfd00-0b39-11eb-9b27-566a8a600aae.png
	OK	https://user-images.githubusercontent.com/7645831/95662780-aab59380-0b39-11eb-81d0-431aab26d1db.png
	OK	https://user-images.githubusercontent.com/7645831/95662781-ab4e2a00-0b39-11eb-8bcd-f199dfe484c5.png
	OK	https://user-images.githubusercontent.com/7645831/95662811-dfc1e600-0b39-11eb-8558-d99f9fd126df.png
	OK	https://user-images.githubusercontent.com/7645831/95662814-e18ba980-0b39-11eb-8d36-d4ad5674ba79.png
	OK	https://user-images.githubusercontent.com/7645831/95662815-e2244000-0b39-11eb-8634-4f547e792c92.png
	OK	https://user-images.githubusercontent.com/7645831/95662816-e2bcd680-0b39-11eb-832a-fa288d3adc23.png
	OK	https://user-images.githubusercontent.com/7645831/95662817-e2bcd680-0b39-11eb-9ddd-0bb3e0788fac.png
	OK	https://user-images.githubusercontent.com/7645831/95662823-f5cfa680-0b39-11eb-97f5-8659089285cb.png
	OK	https://user-images.githubusercontent.com/7645831/95662825-f700d380-0b39-11eb-84ff-2211501667bc.png
	OK	https://user-images.githubusercontent.com/7645831/95662826-f700d380-0b39-11eb-862a-d645dddc775d.png
	OK	https://user-images.githubusercontent.com/7645831/95662827-f7996a00-0b39-11eb-8881-2a059b5069d8.png
	OK	https://user-images.githubusercontent.com/7645831/95662829-f8320080-0b39-11eb-862e-5743b5e122fa.png
	OK	https://user-images.githubusercontent.com/7645831/95665315-8fee1980-0b4f-11eb-9567-fb27d6138267.png
	OK	https://user-images.githubusercontent.com/7645831/95665320-92507380-0b4f-11eb-8177-eb45f98ce142.png
	OK	https://user-images.githubusercontent.com/7645831/95665322-9381a080-0b4f-11eb-932e-c10602e5f8a7.png
	OK	https://user-images.githubusercontent.com/7645831/95665324-941a3700-0b4f-11eb-939c-9520bfc20432.png
	OK	https://user-images.githubusercontent.com/7645831/95665326-94b2cd80-0b4f-11eb-8c24-acc6411f773e.png
	OK	https://user-images.githubusercontent.com/7645831/95665336-a09e8f80-0b4f-11eb-9f04-460ceb038c0a.png
	OK	https://user-images.githubusercontent.com/7645831/95665337-a1372600-0b4f-11eb-9c6b-89c2af6bbf91.png
	OK	https://user-images.githubusercontent.com/7645831/95665339-a1cfbc80-0b4f-11eb-9389-6b156b7da0b6.png
	OK	https://user-images.githubusercontent.com/7645831/95665346-b613b980-0b4f-11eb-8111-6afa5d3410fb.png
	OK	https://user-images.githubusercontent.com/7645831/95665348-b744e680-0b4f-11eb-997e-1a28577676b7.png
	OK	https://user-images.githubusercontent.com/7645831/95665349-b744e680-0b4f-11eb-85ca-9b8c102f62b9.png
	OK	https://user-images.githubusercontent.com/7645831/95665350-b7dd7d00-0b4f-11eb-9463-03421cadaeee.png
	OK	https://user-images.githubusercontent.com/7645831/95665351-b8761380-0b4f-11eb-8483-5df5913b070d.png
	OK	https://user-images.githubusercontent.com/7645831/95665360-caf04d00-0b4f-11eb-907b-87947d657fb3.png
	OK	https://user-images.githubusercontent.com/7645831/95665361-cb88e380-0b4f-11eb-9f57-78b59277a927.png
	OK	https://user-images.githubusercontent.com/7645831/95665362-cc217a00-0b4f-11eb-8e81-4f6a08613df8.png
	OK	https://user-images.githubusercontent.com/7645831/95665364-cc217a00-0b4f-11eb-85ec-f1fcd112d304.png
	OK	https://user-images.githubusercontent.com/7645831/95665365-cd52a700-0b4f-11eb-9a25-ce285a02462f.png
	OK	https://user-images.githubusercontent.com/7645831/95665378-e2c7d100-0b4f-11eb-92cd-04eaa3819c50.png
	OK	https://user-images.githubusercontent.com/7645831/95665380-e3f8fe00-0b4f-11eb-98fe-26723822a03e.png
	OK	https://user-images.githubusercontent.com/7645831/95665381-e3f8fe00-0b4f-11eb-9e57-b4844d48e8e4.png
	OK	https://user-images.githubusercontent.com/7645831/95665382-e4919480-0b4f-11eb-8435-80f2db9eec50.png
	OK	https://user-images.githubusercontent.com/7645831/95665384-e5c2c180-0b4f-11eb-8408-672db63d6527.png
	OK	https://user-images.githubusercontent.com/7645831/95666017-ebbba100-0b55-11eb-863a-e9020be7c8af.png
	OK	https://user-images.githubusercontent.com/7645831/95666020-eeb69180-0b55-11eb-8ffd-c25515bfca1a.png
	OK	https://user-images.githubusercontent.com/7645831/95666022-efe7be80-0b55-11eb-9e46-186fbf922937.png
	OK	https://user-images.githubusercontent.com/7645831/95666023-efe7be80-0b55-11eb-9646-8fc42a630a85.png
	OK	https://user-images.githubusercontent.com/7645831/95666024-f0805500-0b55-11eb-9a74-09762c626bb6.png
	OK	https://user-images.githubusercontent.com/7645831/95672778-dd947180-0ba3-11eb-9144-c188ac7b2c17.png
	OK	https://user-images.githubusercontent.com/7645831/95672780-e08f6200-0ba3-11eb-9291-911e0c05da17.png
	OK	https://user-images.githubusercontent.com/7645831/95672782-e127f880-0ba3-11eb-9bfe-c9e64635081e.png
	OK	https://user-images.githubusercontent.com/7645831/95672783-e1c08f00-0ba3-11eb-9032-1e3a92fa74b9.png
	OK	https://user-images.githubusercontent.com/7645831/95672784-e2592580-0ba3-11eb-868a-4d202b7e5483.png
	OK	https://user-images.githubusercontent.com/7645831/95672798-f0a74180-0ba3-11eb-9263-9c63faa1a5b7.png
	OK	https://user-images.githubusercontent.com/7645831/95672799-f13fd800-0ba3-11eb-9db2-f2c82ff5c29f.png
	OK	https://user-images.githubusercontent.com/7645831/95672800-f1d86e80-0ba3-11eb-85ec-1c70b8dbeae6.png
	OK	https://user-images.githubusercontent.com/7645831/95672802-f3099b80-0ba3-11eb-8d38-22eecd86c6dd.png
	OK	https://user-images.githubusercontent.com/7645831/95672811-087ec580-0ba4-11eb-8994-dc383608a57f.png
	OK	https://user-images.githubusercontent.com/7645831/95672813-09175c00-0ba4-11eb-83f5-cf92f145ffd6.png
	OK	https://user-images.githubusercontent.com/7645831/95672814-09aff280-0ba4-11eb-8a2d-ced40e2188e0.png
	OK	https://user-images.githubusercontent.com/7645831/95672815-09aff280-0ba4-11eb-9a40-11f77b12cbf0.png
	OK	https://user-images.githubusercontent.com/7645831/95672816-0a488900-0ba4-11eb-840f-6781ab146068.png
	OK	https://user-images.githubusercontent.com/7645831/95672881-7e832c80-0ba4-11eb-98d7-08b23156e212.png
	OK	https://user-images.githubusercontent.com/7645831/95685582-fc712300-0bf8-11eb-81d7-4d01a617616e.png
	OK	https://user-images.githubusercontent.com/7645831/95685629-422deb80-0bf9-11eb-861e-ef8171c92137.png
	OK	https://user-images.githubusercontent.com/7645831/95685630-42c68200-0bf9-11eb-9e6c-39c8769ad28f.png
	OK	https://user-images.githubusercontent.com/7645831/95685633-51ad3480-0bf9-11eb-82c8-077a9e410a5a.png
	OK	https://user-images.githubusercontent.com/7645831/95685635-54a82500-0bf9-11eb-99cf-e7da86704197.png
	OK	https://www.airconsole.com/#!play=com.octopusgames.golfriends
	OK	https://www.buildawaygame.com
	OK	https://www.epicstoryinteractive.com
	OK	https://www.farmawaygame.com
	OK	https://www.ingress.com
	OK	https://www.microsoft.com/de-de/p/toy-clash/9pn9vbjl9ld4?ocid=badge&rtc=1&activetab=pivot:overviewtab
	OK	https://www.misfitlabs.dev
	OK	https://www.oculus.com/experiences/gear-vr/1407846952568081/
	OK	https://www.oculus.com/experiences/rift/1304877726278670/
	OK	https://www.pbslearningmedia.org/resource/nvbh-sci-blackholesguide/wgbh-nova-black-holes-app-educator-guide/
	OK	https://www.sticksports.com/stick-soccer-2/
	ERROR	https://play.google.com/store/apps/details?id=com.fiveminlab.toyclash.daydream
		Not Found (HTTP error 404)

Removing Boiler Plate for Spawning Prefabs.

Right now it's a lot of setup to just spawn a prefab.

The class looks like this:

public class Before : MonoBehaviour, IPoolable<IMemoryPool>, IDisposable
        {
            private IMemoryPool _pool;
            
            public void OnDespawned()
            {
                _pool = null;
            }

            public void OnSpawned(IMemoryPool p1)
            {
                _pool = p1;
            }

            public void Dispose()
            {
                _pool.Despawn(this);
            }
            
            public class Factory : PlaceholderFactory<Before>
            { }
            public class Pool : MonoPoolableMemoryPool<IMemoryPool, Before>
            { }
        }

        public class AfterInstaller : MonoInstaller
        {
            public After prefab;
            
            public override void InstallBindings()
            {
                Extensions.BindPoolable<After>(Container,
                    c => c.WithInitialSize(5)
                        .FromComponentInNewPrefab(prefab)
                        .UnderTransformGroup("After")
                        .AsCached());
            }
        }
        
        public class After : PoolableMonoBehaviour<After>
        {
      
        }

and the binding looks like this

        public class BeforeInstaller : MonoInstaller
        {
            public Before prefab;
            
            public override void InstallBindings()
            {
                Container.BindFactory<Before, Before.Factory>()
                    .FromPoolableMemoryPool<Before, Before.Pool>(pool => pool
                        .WithInitialSize(5)
                        .FromComponentInNewPrefab(prefab)
                        .UnderTransformGroup("Before")
                        .AsCached());
            }
        }

I wrote a wrapper class for this kind of thing.

        public abstract class PoolableMonoBehaviour<T> : MonoBehaviour, IPoolable<IMemoryPool>, IDisposable where T : PoolableMonoBehaviour<T>
        {
            protected IMemoryPool _pool;

            public void OnSpawned(IMemoryPool pool)
            {
                _pool = pool;
                OnSpawnedInternal();
            }

            public virtual void OnSpawnedInternal()
            {
                
            }

            public void OnDespawned()
            {
                OnDespawnedInternal();
            }

            public virtual void OnDespawnedInternal()
            {
                
            }
            

            public virtual void Dispose() => _pool.Despawn(this);
            
            public class Factory : PlaceholderFactory<T>
            { }
            
            public class Pool : MonoPoolableMemoryPool<IMemoryPool, T>
            { }
        }

Right now it doesn't support parameters, but that would be easy to do, just duplicate the class and add TParam infront of Every IMermoryPool.

I also wrote an extension method for binding

namespace Zenject.Extensions  
{
    public static class Extensions
    {
        public static ArgConditionCopyNonLazyBinder BindPoolable<TPoolable>
            (DiContainer container,Action<MemoryPoolInitialSizeMaxSizeBinder<TPoolable>> poolBinder)
        where TPoolable : PoolableMonoBehaviour<TPoolable>
        {
            var x = container
                .BindFactory<TPoolable, PoolableMonoBehaviour<TPoolable>.Factory>()
                .FromPoolableMemoryPool<TPoolable, PoolableMonoBehaviour<TPoolable>.Pool>
                    (poolBinder);
            return x;
        }
    }
}

With these new scripts, the code goes from looking like it did at the top to this:

        public class AfterInstaller : MonoInstaller
        {
            public After prefab;
            
            public override void InstallBindings()
            {
                Extensions.BindPoolable<After>(Container,
                    c => c.WithInitialSize(5)
                        .FromComponentInNewPrefab(prefab)
                        .UnderTransformGroup("After")
                        .AsCached());
            }
        }
        
        public class After : PoolableMonoBehaviour<After>
        {
      
        }

This makes it mech easier to for a gameobject to return itself to the pool

        public class After : PoolableMonoBehaviour<After>
        {
            private float lifetime = 1f;
            public override void OnSpawnedInternal()
            {
                lifetime = 1f;
            }
            
            private void Update()
            {
                lifetime -= Time.deltaTime;
                if (lifetime <= 0)
                {
                    Dispose();
                }
            }
        }

This isn't really an issue, just now that Extenject isn't being supported I thought it would be useful for people trying to wrap their heads around prefab spawning.

Passing data to prefab created by factory, using game object context

Describe the bug When using PrefabFactory or InstantiatePrefabForComponent through a custom factory, the framework implies that additional data can be passed to the facade/installer. However, if the object contains a game object context, Zenject failes to resolve the passed parameters.

To Reproduce

  1. Make a binding like Container.BindFactory<UnityEngine.Object, float, MyFacade, MyFacade.Factory>().FromFactory<PrefabFactory<float, MyFacade>>();
  2. Pass the data on creation myFactory.Create(prefab, 2f)
  3. Zenject fails to resolve the float if the given prefab has a game object context attached.

Steps to reproduce the behavior:

Expected behavior Data can be passed dynamically to prefab factories or custom factories that get a prefab at run time.

Extenject and Unity info (please complete the following information):

  • Zenject version: 9.2.0
  • Unity version: 2020.3.9f1
  • Project's scripting backend [e.g. Mono/IL2CPP] Editor

Additional context Noticed that doing the binding like:

Container.BindFactory<float, MyFacade, MyFacade.Factory>().FromSubContainerResolve().ByNewContextPrefab(...)

makes it work. However in our case it's not good enough, as we want to pass the prefab (and the data) along in run time.

Failed to remove SceneContext from SceneContextRegistry

Describe the bug
I'm getting this warning message in the console for no significant reason: "Failed to remove SceneContext from SceneContextRegistry"

To Reproduce
Add this static class to a project to unload a scene in case when the projected is started from the wrong scene:

public static class StartSceneController 
{
    [RuntimeInitializeOnLoadMethod]
    private static void onAppLoaded()
    {
        Scene scene = SceneManager.GetActiveScene();

        if (scene.buildIndex != 0)
                SceneManager.LoadScene(0);
    }
}

Expected behavior
No warnings in the console.

Extenject and Unity info (please complete the following information):

Zenject version: 9.3.1
Unity version: 2021.3.12f1
Project's scripting backend [e.g. Mono/IL2CPP]: mono

Passing dynamic data + prefab through method Create (Factory) while that prefab has GameObjectContext

Hey, I would like to be able to pass dynamic data + prefab through method Create (Factory) while that prefab has GameObjectContext (Installer). In this situation, it seems zenject cannot inject dynamic data and it fails while without GameObjectContext, it works.

_factory.Create(prefab,data)

In scene context

  Container.BindFactory<Object, SpawnModuleData, ModuleFacade, ModuleFacade.Factory>()
                .FromFactory<PrefabFactory<SpawnModuleData, ModuleFacade>>();

Throwing a null reference exception during an "Install" method call with a UI Document on scene

Describe the bug
Right at the start of the scene, an exception is thrown while calling the install method in the scene context:

ArgumentNullException: Value cannot be null.
Parameter name: e
at UnityEngine.UIElements.UQueryExtensions.Query (UnityEngine.UIElements.VisualElement e) 

Line 305 in the SceneContext script.

To Reproduce
Add a UI Document to the scene
Add some Installer and scene context
Run the scene in WebGL

Repository example
Repository with a ready-made example:
https://github.com/naxa1ka/Zenject_Toolkit_Issue_Example
The readme in repository contains all the details of the environment

Expected behavior
Exception will not be thrown
If the idea of the lines that caused the bug was to inject dependencies into the ui document

Screenshots
image

Extenject and Unity info (please complete the following information):

  • Zenject version: 9.3.1
  • Unity version: 2021.3.11f1
  • Project's scripting backend: WebGL

Additional context
Exception thrown at rootVisualElement.Query()
My guess is that the problem is that the UI Document has [DefaultExecutionOrder(-100)], due to which the rootVisualElement is not yet ready to run during the Install method

Error code

SceneContext.cs
297 #if USE_UI_ELEMENTS_PACKAGE || (USE_UI_ELEMENTS_MODULE && UNITY_2021_1_OR_NEWER)
298           List<GameObject> rootObjectsInScene = new List<GameObject>();
299        gameObject.scene.GetRootGameObjects(rootObjectsInScene);
300           for (int i = 0; i < rootObjectsInScene.Count; i++)
301            {
302                UIDocument[] uiDocuments = rootObjectsInScene[i].GetComponentsInChildren<UIDocument>(true);
303               for (int j = 0; j < uiDocuments.Length; j++)
304               {
305                   uiDocuments[j].rootVisualElement.Query().ForEach(x => _container.QueueForInject(x));
306               }
307           }
308 #endif

Support Package Manager with "unitypackage" Compatibility remaining

Is your feature request related to a problem? Please describe.
If Extenject is installed with "UnityProject/Assets/Plugins/Zenject/package.json", unused assets are also installed (ex: samples, tests)
The sample and test assests are usually Not required and make projects dirty.
So I think Extenject assets should be fixed and arranged for Unity Package Manager with "unitypackage" Compatibility remaining.

Describe the solution you'd like
Steps like below.
The example are described in Additional context at the bottom of this issue.

1. Arrange samples and tests

  • Create "Plugins/Zenject/Samples" directory and ""Plugins/Zenject/Tests" directory
  • Move Samples into "Plugins/Zenject/Samples"
  • Move UnitTests and IntegrationTests into "Plugins/Zenject/Tests"

2. Arrange runtime sources and editor sources

  • Move scripts in "Zenject/Source/Runtime" into "Zenject/Source/Runtime/Managers" for any other runtime sources (ex: BindInfo, BindStatement)
  • Move runtime scripts into "Zenject/Source/Runtime"
  • Move runtime sources (ex: Async, SignalBus) in "OptionalExtras" into "Zenject/Source/Runtime"
  • Move editor sources (ex: ReflectionBaking, TestFrameworks) in "OptionalExtras" into "Zenject/Source/Editor"
  • After those steps, "OptionalExtras" directory will be removed

3. Remove zip files for mocks

  • Remove "AutoMocking.zip", "AutoSubstitute.zip"
    • I think these files seem to be unused and have license complications
    • These assets also seem to be old (Moq 4.7.99 is uploaded in 2017/07/17)

4. Move "zenject.asmdef" into "Zenject/Source" and create package.json for it

  • Move "zenject.asmdef" into "Source/Runtime"
    • I think it's better to rename it to "Zenject.asmdef" to match the assembly name
  • Move "link.xml" into "Source/Runtime"
  • Add "Source/package.json" to install the only sources

5. Fix "Zenject-TestFramework" to be used with Package Manager

  • Remove "UNITY_INCLUDE_TESTS" from "Zenject-TestFramework.asmdef"
    • Package Manager excludes asmdef with "UNITY_INCLUDE_TESTS" as the specification
  • Fix "Zenject-TestFramework" to be used in any platforms
    • Currently, "Zenject-TestFramework" can't be used with any platforms except Editor
    • Also add a filter script to exclude the test assemblies from the builds

6. Fix documents

  • Fix documents about OptionalExtras

Describe alternatives you've considered

  • For "unitypackage", "Assets/Plugins/Zenject" only have to be exported as before

Additional context

I will send the pull requests with following the steps if it's ok.
I will also use the "feature" branch as a integration of the steps.
Could you review this issue?

Link Checker Report

Link Checker

Errors were reported while checking the connectivity of links.

Documentation/Async.md
Documentation/CheatSheet.md
Documentation/CompositeInstaller.md
	OK	./Images/CompositeInstaller/CompositeMonoInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeMonoInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCreateAsset.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInstall.jpg
NonUnityBuild/Zenject-Cecil/LICENSE.md
Documentation/MemoryPools.md
	OK	../README.md#binding
	OK	Factories.md
	OK	Factories.md#abstract-factories
	OK	Images/PoolMonitor.png?raw=true
Documentation/Signals.md
	OK	../README.md#binding
	OK	../README.md#scene-parenting
	OK	../README.md#unirx-integration
License.md
Documentation/DecoratorBindings.md
	OK	../README.md#binding
	OK	https://en.wikipedia.org/wiki/Decorator_pattern
Documentation/SubContainers.md
	OK	../README.md#scene-bindings
	OK	../README.md#zenject-philophy
	OK	Images/ShipFacadeExample1.png?raw=true
	OK	https://en.wikipedia.org/wiki/Facade_pattern
Documentation/WritingAutomatedTests.md
	OK	https://docs.unity3d.com/Packages/[email protected]/manual/index.html
Documentation/Factories.md
	OK	../README.md#binding
	OK	../README.md#dicontainer-methods
	OK	../README.md#object-graph-validation
	OK	../README.md#theory
	OK	SubContainers.md
	OK	https://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/
	OK	https://docs.microsoft.com/en-us/dotnet/api/system.type.getfields?redirectedfrom=MSDN&view=netcore-3.1#System_Type_GetFields
Documentation/AutoMocking.md
	OK	https://github.com/moq/moq4
	OK	https://nsubstitute.github.io
NonUnityBuild/Zenject-Cecil/README.md
	OK	http://www.dotnetfoundation.org/
	OK	https://ci.appveyor.com/api/projects/status/fmhutmhidy1fahl4?svg=true
	OK	https://ci.appveyor.com/project/jbevain/cecil
	OK	https://github.com/jbevain/cecil.samples
	OK	https://github.com/jbevain/cecil/wiki/Users
	OK	https://groups.google.com/group/mono-cecil
Documentation/ReleaseNotes.md
	OK	../README.md#upgrading-from-zenject5
	OK	https://github.com/svermeulen/Zenject#optimization_notes
README.md
	OK	Documentation/AutoMocking.md
	OK	Documentation/CheatSheet.md
	OK	Documentation/CompositeInstaller.md
	OK	Documentation/DecoratorBindings.md
	OK	Documentation/Factories.md
	OK	Documentation/Factories.md#custom-factories
	OK	Documentation/GamesThatUseZenject.md
	OK	Documentation/Images/AutoBind1.png?raw=true
	OK	Documentation/Images/ExtenjectMainHeader.png
	OK	Documentation/MemoryPools.md
	OK	Documentation/ReleaseNotes.md
	OK	Documentation/Signals.md
	OK	Documentation/SubContainers.md
	OK	Documentation/WritingAutomatedTests.md
	OK	http://codemanship.co.uk/parlezuml/blog/?postid=934
	OK	http://en.wikipedia.org/wiki/Single_responsibility_principle
	OK	http://www.gamasutra.com/blogs/RubenTorresBonet/20180703/316442/A_better_architecture_for_Unity_projects.php
	OK	http://www.reddit.com/r/zenject
	OK	https://assetstore.unity.com/packages/templates/packs/push-the-squares-69780
	OK	https://assetstore.unity.com/packages/templates/packs/quick-golf-67900
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-framework-157735
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-ioc-157735
	OK	https://docs.unity3d.com/Manual/MultiSceneEditing.html
	OK	https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html
	OK	https://docs.unity3d.com/ScriptReference/Object.FindObjectsOfType.html
	OK	https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://en.wikipedia.org/wiki/Facade_pattern
	OK	https://forum.unity.com/threads/request-for-world-addmanager.539271/#post-3558224
	OK	https://gist.github.com/svermeulen/8927b29b2bfab4e84c950b6788b0c677
	OK	https://gist.github.com/svermeulen/a6929e6e26f2de2cc697d24f108c5f85
	OK	https://github.com/Crabar/Craberoid-3.0
	OK	https://github.com/Mathijs-Bakker/Extenject
	OK	https://github.com/Mathijs-Bakker/Extenject/releases
	OK	https://github.com/Mathijs-Bakker/Extenject/workflows/Continuous%20Integration/badge.svg?branch=master
	OK	https://github.com/Mathijs-Bakker/Zenject-Hero
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/jbevain/cecil
	OK	https://github.com/mob-sakai/UpmGitExtension
	OK	https://github.com/modesttree/Projeny
	OK	https://github.com/modesttree/Zenject/commit/2cbbf11b344d083cc697d8b248acf41520d72da3
	OK	https://github.com/modesttree/Zenject/issues/168
	OK	https://github.com/modesttree/zenject
	OK	https://github.com/neuecc/UniRx
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/ssannandeji/Zenject-2019/issues/275
	OK	https://github.com/ssannandeji/Zenject-2019/issues/301
	OK	https://github.com/starikcetin/Extenject/tree/upm
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/issues/24
	OK	https://github.com/svermeulen/Extenject/releases
	OK	https://github.com/svermeulen/Extenject/tree/0b4a15b1e6e680c94fd34a2d7420eb41e320b21b
	OK	https://github.com/svermeulen/Extenject/tree/dc019e31dbae09eb53c1638be00f7f002898956c
	OK	https://github.com/svermeulen/Extenject/tree/f0dd30ad451dcbc3eb17e636455a6c89b14ad537
	OK	https://github.com/svermeulen/IocPerformance
	OK	https://github.com/svermeulen/UnityCoroutinesWithoutMonoBehaviours
	OK	https://github.com/svermeulen/ZenjectSignalsOld
	OK	https://gitter.im/Extenject/community
	OK	https://gitter.im/Extenject/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
	OK	https://grofit.gitbooks.io/development-for-winners/content/
	OK	https://groups.google.com/forum/#!forum/zenject/
	OK	https://img.shields.io/badge/Projeny-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/badge/Unity3dAsyncAwaitUtil-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/github/contributors/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/last-commit/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/license/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/release-date/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/v/release/Mathijs-Bakker/Extenject?color=green
	OK	https://img.shields.io/github/v/release/svermeulen/Extenject?color=green
	OK	https://img.shields.io/static/v1?label=Gitter&labelColor=ED1965&message=Support&color=grey&logo=Gitter&logoColor=White&url=https://gitter.im/Extenject/community
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=Modest%20Tree%20Filing%20Against%20Me&color=red&url=https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=My%20Defense%20Filing&color=success&url=https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=GitHub%20Releases&labelColor=181717&message=Downloads&color=green&logo=GitHub&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Asset%20Store&labelColor=181717&message=Download&color=green&logo=Unity&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Package&labelColor=181717&message=UPM&color=green&logo=Unity&logoColor=white
	OK	https://paypal.me/stevevermeulen
	OK	https://stackoverflow.com/questions/ask
	OK	https://twitter.com/steve_verm
	OK	https://www.patreon.com/extenject
	OK	https://www.udemy.com/dependency-injection-in-unity3d-using-zenject/
	OK	https://www.youtube.com/watch?v=Bcj35ceGCn0&list=PLyH-qXFkNSxnJbZLrxF0jWGyHB-8Kcd5q
	OK	https://www.youtube.com/watch?v=IS2YUIb_w_M&list=PLKERDLXpXl_jNJPY2czQcfPXW4BJaGZc_
	ERROR	https://github.com/Mathijs-Bakker/Extenject/issues/2
		Not Found (HTTP error 404)
CONTRIBUTING.md
	OK	https://discord.gg/T5y5TD
	OK	https://forum.unity.com
	OK	https://github.com/ktaranov/naming-convention/blob/master/C%23%20Coding%20Standards%20and%20Naming%20Conventions.md
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/compare
	OK	https://github.com/svermeulen/Extenject/issues/new?template=bug_report.md
	OK	https://github.com/svermeulen/Extenject/issues/new?template=feature_request.md
	OK	https://help.github.com/articles/markdown-basics/#multiple-lines
	OK	https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests
	OK	https://stackoverflow.com/questions/tagged/zenject
Documentation/GamesThatUseZenject.md
	OK	https://apps.apple.com/app/id1079852672
	OK	https://apps.apple.com/de/app/idle-farming-empire/id1018795567?mt=8&ign-mpt=uo%3D4
	OK	https://apps.apple.com/us/app/bedtimemath/id637910701
	OK	https://apps.apple.com/us/app/ingress-prime/id576505181
	OK	https://apps.apple.com/us/app/nova-black-holes/id1114574985
	OK	https://apps.apple.com/us/app/pokemon-go/id1094591345
	OK	https://apps.apple.com/us/app/slugterra-guardian-force/id1043738296
	OK	https://apps.apple.com/us/app/toy-clash-ar/id1274066398
	OK	https://beatsaber.com
	OK	https://bedtimemath.org/what-we-do/apps/
	OK	https://furylion.net
	OK	https://github.com/EcsRx/ecsrx
	OK	https://github.com/cgarciae/karma
	OK	https://github.com/ecsrx/ecsrx.unity
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/svermeulen/Extenject/issues/179
	OK	https://itunes.apple.com/gb/app/stick-soccer-2/id1104214157?mt=8
	OK	https://itunes.apple.com/us/app/id1404769349
	OK	https://kafkaris.com/2019/03/08/spinifex-group-jasper-dome/
	OK	https://kafkaris.com/2019/12/15/spinifex-group-honda-mobile-product-guide/
	OK	https://kafkaris.com/2020/01/15/spinifex-group-gpj-yonex-australian-open/
	OK	https://misfitlabs.itch.io/space-shooter
	OK	https://play.google.com/store/apps/details?id=com.SmoreGames.WordWinner
	OK	https://play.google.com/store/apps/details?id=com.fiveminlab.toyclash.daydream
	OK	https://play.google.com/store/apps/details?id=com.futureplay.boots
	OK	https://play.google.com/store/apps/details?id=com.futureplay.city
	OK	https://play.google.com/store/apps/details?id=com.nerdcorps.slugthree&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticlabs.pokemongo&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticproject.ingress&hl=en_US
	OK	https://play.google.com/store/apps/details?id=com.twofours.bedtimemath
	OK	https://pokemongolive.com/
	OK	https://store.playstation.com/en-cz/product/EP5067-CUSA14143_00-BEATSABERFULL000
	OK	https://store.playstation.com/en-sg/product/HP3823-CUSA11820_00-0000000000000000
	OK	https://store.steampowered.com/app/620360/Toy_Clash/
	OK	https://store.steampowered.com/app/620980/Beat_Saber/
	OK	https://toyclash.com/
	OK	https://user-images.githubusercontent.com/7645831/95634748-e5142780-0a8a-11eb-9a90-37474824cc85.png
	OK	https://user-images.githubusercontent.com/7645831/95634750-e6455480-0a8a-11eb-8586-2d9aad47d83f.png
	OK	https://user-images.githubusercontent.com/7645831/95634751-e6ddeb00-0a8a-11eb-9ee1-2a755fd72e81.png
	OK	https://user-images.githubusercontent.com/7645831/95634753-e7768180-0a8a-11eb-8768-e75801f05a76.png
	OK	https://user-images.githubusercontent.com/7645831/95634818-12f96c00-0a8b-11eb-8532-730fe0bb941c.png
	OK	https://user-images.githubusercontent.com/7645831/95634819-142a9900-0a8b-11eb-8b75-5847aa6e423c.png
	OK	https://user-images.githubusercontent.com/7645831/95634820-142a9900-0a8b-11eb-8605-1103bb78e491.png
	OK	https://user-images.githubusercontent.com/7645831/95634822-14c32f80-0a8b-11eb-9be8-d85d2974540e.png
	OK	https://user-images.githubusercontent.com/7645831/95634823-155bc600-0a8b-11eb-9f13-e809b48e6f97.png
	OK	https://user-images.githubusercontent.com/7645831/95634860-2c9ab380-0a8b-11eb-8cf9-f4876fcaa39a.png
	OK	https://user-images.githubusercontent.com/7645831/95634862-2d334a00-0a8b-11eb-9b97-85387a86a763.png
	OK	https://user-images.githubusercontent.com/7645831/95634863-2dcbe080-0a8b-11eb-860a-7aafadb32758.png
	OK	https://user-images.githubusercontent.com/7645831/95634866-2e647700-0a8b-11eb-8c85-b4669e570ff1.png
	OK	https://user-images.githubusercontent.com/7645831/95634895-3cb29300-0a8b-11eb-814f-69d13c522308.png
	OK	https://user-images.githubusercontent.com/7645831/95634900-3d4b2980-0a8b-11eb-8706-b0976a3bdc9d.png
	OK	https://user-images.githubusercontent.com/7645831/95634901-3de3c000-0a8b-11eb-8595-a1e7f7118016.png
	OK	https://user-images.githubusercontent.com/7645831/95634902-3de3c000-0a8b-11eb-814d-757af61e1dd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634906-3e7c5680-0a8b-11eb-8bde-e4292b10ed0f.png
	OK	https://user-images.githubusercontent.com/7645831/95634931-4b994580-0a8b-11eb-86bf-e3419d182a67.png
	OK	https://user-images.githubusercontent.com/7645831/95634932-4c31dc00-0a8b-11eb-914f-4245841a1ee4.png
	OK	https://user-images.githubusercontent.com/7645831/95634933-4c31dc00-0a8b-11eb-8cce-4c9d0d5805af.png
	OK	https://user-images.githubusercontent.com/7645831/95634934-4cca7280-0a8b-11eb-8eab-114bb6b2ddd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634952-55bb4400-0a8b-11eb-8204-b52c640868b5.png
	OK	https://user-images.githubusercontent.com/7645831/95634955-5653da80-0a8b-11eb-99d5-e360dfcbf164.png
	OK	https://user-images.githubusercontent.com/7645831/95634956-56ec7100-0a8b-11eb-9341-5c2f531be0c5.png
	OK	https://user-images.githubusercontent.com/7645831/95634957-56ec7100-0a8b-11eb-922f-e27d12ed1505.png
	OK	https://user-images.githubusercontent.com/7645831/95634959-57850780-0a8b-11eb-81cf-6b0650edec8e.png
	OK	https://user-images.githubusercontent.com/7645831/95651927-c7c47500-0aed-11eb-917a-676a1bf14ae4.png
	OK	https://user-images.githubusercontent.com/7645831/95662777-a8ebd000-0b39-11eb-8fd2-07923e48a349.png
	OK	https://user-images.githubusercontent.com/7645831/95662778-a9846680-0b39-11eb-9cd9-ab8bd459f436.png
	OK	https://user-images.githubusercontent.com/7645831/95662779-aa1cfd00-0b39-11eb-9b27-566a8a600aae.png
	OK	https://user-images.githubusercontent.com/7645831/95662780-aab59380-0b39-11eb-81d0-431aab26d1db.png
	OK	https://user-images.githubusercontent.com/7645831/95662781-ab4e2a00-0b39-11eb-8bcd-f199dfe484c5.png
	OK	https://user-images.githubusercontent.com/7645831/95662811-dfc1e600-0b39-11eb-8558-d99f9fd126df.png
	OK	https://user-images.githubusercontent.com/7645831/95662814-e18ba980-0b39-11eb-8d36-d4ad5674ba79.png
	OK	https://user-images.githubusercontent.com/7645831/95662815-e2244000-0b39-11eb-8634-4f547e792c92.png
	OK	https://user-images.githubusercontent.com/7645831/95662816-e2bcd680-0b39-11eb-832a-fa288d3adc23.png
	OK	https://user-images.githubusercontent.com/7645831/95662817-e2bcd680-0b39-11eb-9ddd-0bb3e0788fac.png
	OK	https://user-images.githubusercontent.com/7645831/95662823-f5cfa680-0b39-11eb-97f5-8659089285cb.png
	OK	https://user-images.githubusercontent.com/7645831/95662825-f700d380-0b39-11eb-84ff-2211501667bc.png
	OK	https://user-images.githubusercontent.com/7645831/95662826-f700d380-0b39-11eb-862a-d645dddc775d.png
	OK	https://user-images.githubusercontent.com/7645831/95662827-f7996a00-0b39-11eb-8881-2a059b5069d8.png
	OK	https://user-images.githubusercontent.com/7645831/95662829-f8320080-0b39-11eb-862e-5743b5e122fa.png
	OK	https://user-images.githubusercontent.com/7645831/95665315-8fee1980-0b4f-11eb-9567-fb27d6138267.png
	OK	https://user-images.githubusercontent.com/7645831/95665320-92507380-0b4f-11eb-8177-eb45f98ce142.png
	OK	https://user-images.githubusercontent.com/7645831/95665322-9381a080-0b4f-11eb-932e-c10602e5f8a7.png
	OK	https://user-images.githubusercontent.com/7645831/95665324-941a3700-0b4f-11eb-939c-9520bfc20432.png
	OK	https://user-images.githubusercontent.com/7645831/95665326-94b2cd80-0b4f-11eb-8c24-acc6411f773e.png
	OK	https://user-images.githubusercontent.com/7645831/95665336-a09e8f80-0b4f-11eb-9f04-460ceb038c0a.png
	OK	https://user-images.githubusercontent.com/7645831/95665337-a1372600-0b4f-11eb-9c6b-89c2af6bbf91.png
	OK	https://user-images.githubusercontent.com/7645831/95665339-a1cfbc80-0b4f-11eb-9389-6b156b7da0b6.png
	OK	https://user-images.githubusercontent.com/7645831/95665346-b613b980-0b4f-11eb-8111-6afa5d3410fb.png
	OK	https://user-images.githubusercontent.com/7645831/95665348-b744e680-0b4f-11eb-997e-1a28577676b7.png
	OK	https://user-images.githubusercontent.com/7645831/95665349-b744e680-0b4f-11eb-85ca-9b8c102f62b9.png
	OK	https://user-images.githubusercontent.com/7645831/95665350-b7dd7d00-0b4f-11eb-9463-03421cadaeee.png
	OK	https://user-images.githubusercontent.com/7645831/95665351-b8761380-0b4f-11eb-8483-5df5913b070d.png
	OK	https://user-images.githubusercontent.com/7645831/95665360-caf04d00-0b4f-11eb-907b-87947d657fb3.png
	OK	https://user-images.githubusercontent.com/7645831/95665361-cb88e380-0b4f-11eb-9f57-78b59277a927.png
	OK	https://user-images.githubusercontent.com/7645831/95665362-cc217a00-0b4f-11eb-8e81-4f6a08613df8.png
	OK	https://user-images.githubusercontent.com/7645831/95665364-cc217a00-0b4f-11eb-85ec-f1fcd112d304.png
	OK	https://user-images.githubusercontent.com/7645831/95665365-cd52a700-0b4f-11eb-9a25-ce285a02462f.png
	OK	https://user-images.githubusercontent.com/7645831/95665378-e2c7d100-0b4f-11eb-92cd-04eaa3819c50.png
	OK	https://user-images.githubusercontent.com/7645831/95665380-e3f8fe00-0b4f-11eb-98fe-26723822a03e.png
	OK	https://user-images.githubusercontent.com/7645831/95665381-e3f8fe00-0b4f-11eb-9e57-b4844d48e8e4.png
	OK	https://user-images.githubusercontent.com/7645831/95665382-e4919480-0b4f-11eb-8435-80f2db9eec50.png
	OK	https://user-images.githubusercontent.com/7645831/95665384-e5c2c180-0b4f-11eb-8408-672db63d6527.png
	OK	https://user-images.githubusercontent.com/7645831/95666017-ebbba100-0b55-11eb-863a-e9020be7c8af.png
	OK	https://user-images.githubusercontent.com/7645831/95666020-eeb69180-0b55-11eb-8ffd-c25515bfca1a.png
	OK	https://user-images.githubusercontent.com/7645831/95666022-efe7be80-0b55-11eb-9e46-186fbf922937.png
	OK	https://user-images.githubusercontent.com/7645831/95666023-efe7be80-0b55-11eb-9646-8fc42a630a85.png
	OK	https://user-images.githubusercontent.com/7645831/95666024-f0805500-0b55-11eb-9a74-09762c626bb6.png
	OK	https://user-images.githubusercontent.com/7645831/95672778-dd947180-0ba3-11eb-9144-c188ac7b2c17.png
	OK	https://user-images.githubusercontent.com/7645831/95672780-e08f6200-0ba3-11eb-9291-911e0c05da17.png
	OK	https://user-images.githubusercontent.com/7645831/95672782-e127f880-0ba3-11eb-9bfe-c9e64635081e.png
	OK	https://user-images.githubusercontent.com/7645831/95672783-e1c08f00-0ba3-11eb-9032-1e3a92fa74b9.png
	OK	https://user-images.githubusercontent.com/7645831/95672784-e2592580-0ba3-11eb-868a-4d202b7e5483.png
	OK	https://user-images.githubusercontent.com/7645831/95672798-f0a74180-0ba3-11eb-9263-9c63faa1a5b7.png
	OK	https://user-images.githubusercontent.com/7645831/95672799-f13fd800-0ba3-11eb-9db2-f2c82ff5c29f.png
	OK	https://user-images.githubusercontent.com/7645831/95672800-f1d86e80-0ba3-11eb-85ec-1c70b8dbeae6.png
	OK	https://user-images.githubusercontent.com/7645831/95672802-f3099b80-0ba3-11eb-8d38-22eecd86c6dd.png
	OK	https://user-images.githubusercontent.com/7645831/95672811-087ec580-0ba4-11eb-8994-dc383608a57f.png
	OK	https://user-images.githubusercontent.com/7645831/95672813-09175c00-0ba4-11eb-83f5-cf92f145ffd6.png
	OK	https://user-images.githubusercontent.com/7645831/95672814-09aff280-0ba4-11eb-8a2d-ced40e2188e0.png
	OK	https://user-images.githubusercontent.com/7645831/95672815-09aff280-0ba4-11eb-9a40-11f77b12cbf0.png
	OK	https://user-images.githubusercontent.com/7645831/95672816-0a488900-0ba4-11eb-840f-6781ab146068.png
	OK	https://user-images.githubusercontent.com/7645831/95672881-7e832c80-0ba4-11eb-98d7-08b23156e212.png
	OK	https://user-images.githubusercontent.com/7645831/95685582-fc712300-0bf8-11eb-81d7-4d01a617616e.png
	OK	https://user-images.githubusercontent.com/7645831/95685629-422deb80-0bf9-11eb-861e-ef8171c92137.png
	OK	https://user-images.githubusercontent.com/7645831/95685630-42c68200-0bf9-11eb-9e6c-39c8769ad28f.png
	OK	https://user-images.githubusercontent.com/7645831/95685633-51ad3480-0bf9-11eb-82c8-077a9e410a5a.png
	OK	https://user-images.githubusercontent.com/7645831/95685635-54a82500-0bf9-11eb-99cf-e7da86704197.png
	OK	https://www.airconsole.com/#!play=com.octopusgames.golfriends
	OK	https://www.buildawaygame.com
	OK	https://www.epicstoryinteractive.com
	OK	https://www.farmawaygame.com
	OK	https://www.ingress.com
	OK	https://www.microsoft.com/de-de/p/toy-clash/9pn9vbjl9ld4?ocid=badge&rtc=1&activetab=pivot:overviewtab
	OK	https://www.misfitlabs.dev
	OK	https://www.oculus.com/experiences/gear-vr/1407846952568081/
	OK	https://www.oculus.com/experiences/rift/1304877726278670/
	OK	https://www.pbslearningmedia.org/resource/nvbh-sci-blackholesguide/wgbh-nova-black-holes-app-educator-guide/
	OK	https://www.sticksports.com/stick-soccer-2/

Incompatible with Linq.EnumerableEx.

After installing dotVariant I started to get a lot of ambiguity errors regarding System.Linq.EnumerableEx.IsEmpty and ModestTree.LinqExtensions.IsEmpty.

Ex:

Library/PackageCache/[email protected]/Source/Runtime/TickableManager.cs(136,40): error CS0121: The call is ambiguous between the following methods or properties: 'System.Linq.EnumerableEx.IsEmpty<TSource>(System.Collections.Generic.IEnumerable<TSource>)' and 'ModestTree.LinqExtensions.IsEmpty<T>(System.Collections.Generic.IEnumerable<T>)'

There are about 27 in total.

Cannot Unbind/Rebind AsSingle bindings

Describe the bug
This bug already exists since a while and also has been mentioned in modesttree#19.
When a binding is marked as AsSingle() it can not be unbound/rebound.

To Reproduce

Container.Bind<string>().ToSelf().FromInstance("Test").AsSingle();
Container.Rebind<string>().ToSelf().FromInstance("Test2").AsSingle();
ZenjectException: Assert hit! Attempted to use AsSingle multiple times for type 'string'.  As of Zenject 6+, AsSingle as can no longer be used for the same type across different bindings.  See the upgrade guide for details.

Expected behavior
No exception should be thrown.

Extenject and Unity info (please complete the following information):

  • Zenject version: master
  • Unity version: 2021.3.8f1

Additional context
From what I have seen in the code it makes sense that this doesn't work. When a provider is registered it will call this at some point:

But when unbinding the provider will just be removed from the list, but types which were registered as singleton at some point are never removed from the _boundSingletons list.

Handle disabled UI Elements GameObjects/Panels

Describe the bug
Components on Disabled UI Elements runtime panel in scene causes exception

To Reproduce
Create a runtime panel, add a monobehaviour with a method injection attribute to it, and disable the game object, the panel, and the monobehaviour

Expected behavior
Injection process doesn't break for other objects in the scene

Screenshots
(Can take some later, submitting after Ludum Dare and I'm in clean up mode)

Extenject and Unity info (please complete the following information):

  • Zenject version: 9.2.1
  • Unity version: 2021.2.18
  • Project's scripting backend: Mono (.net 2.1)

Additional context
Technically, ran into this issue when upgrading from the modesttree/Zenject release, but I think that's just because it doesn't even try to handle UI Elements. I can add a stack trace later, but the error occurs around Runtime\Install\Contexts\SceneContext.cs line 305. I have three panels in the scene, and the two panels that were active queued for inject just fine, but the disabled one tossed a null argument exception.

ReflectionBaking NullReferenceException

Describe the bug

NullReferenceException: Object reference not set to an instance of an object
Zenject.ReflectionBaking.ReflectionBakingInternalUtil.TryForceUnityFullCompile () (at Packages/com.gamehouse.yggdrasil.client.zenject/OptionalExtras/ReflectionBaking/Unity/ReflectionBakingInternalUtil.cs:72)
Zenject.ReflectionBaking.ZenjectReflectionBakingSettingsEditor.OnInspectorGUI () (at Packages/com.gamehouse.yggdrasil.client.zenject/OptionalExtras/ReflectionBaking/Unity/ZenjectReflectionBakingSettingsEditor.cs:116)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass59_0.<CreateIMGUIInspectorFromEditor>b__0 () (at /Users/bokken/buildslave/unity/build/ModuleOverrides/com.unity.ui/Editor/Inspector/InspectorElement.cs:636)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)

To Reproduce
I have added ZenjectReflectionBakingSettings and pressed the checkbox "Is Enabled In Editor".

Expected behavior
No exception and recompile Unity.

Extenject and Unity info (please complete the following information):

  • Zenject version: 9.2.1
  • Unity version: 2021.3.1f1
  • Project's scripting backend [e.g. Mono/IL2CPP]: IL2CPP

Additional context
dirtyAllScriptsMethod variables is null in the method below:

public static void TryForceUnityFullCompile()
{
    Type compInterface = typeof(UnityEditor.Editor).Assembly.GetType(
        "UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface");

    if (compInterface != null)
    {
        var dirtyAllScriptsMethod = compInterface.GetMethod(
            "DirtyAllScripts", BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);

        dirtyAllScriptsMethod.Invoke(null, null);
    }

    UnityEditor.AssetDatabase.Refresh();
}

Also, I have many asmdef files in my project, would it be an issue?

I am going to stop.

Hi good people,

Ok, after many years of supporting Zenject I am going to stop.
It has been fun, learned a lot, but I just can't get myself to it to contribute and maintain it anymore.

I am not using Unity in any professional or personal sense anymore. And C# has become a pain to my eyes.
I have contributed to the community for years in any way I could. But it has to end somewhere. And that is now.

I can do two things:

  1. Merge this Extenject repo upstream into Modestree's Zenject repo (still have rights there). And archive this one.
    Or:
  2. When someone is seriously interested to prolong this project... I can transfer this repo.

I will wait a month or so, before I will execute option 1.

I am sorry and I apology if I let anyone down...

Yours sincerely,
Mathijs

Change GetComponent to TryGetComponent or overload IsNotNull in editor for assert

Copy of modesttree#255 by gonzanikolay!

Describe the bug
Assert.IsNotNull (as well as IsNull) does not fall in editor, the problem is that GetComponent on Behaviour (not MonoBehavior) returns empty object, but not null.

To Reproduce
Steps to reproduce the behavior:
Add ZenjectStateMachineBehaviourAutoInjecter for example on empty game object and run in editor, there would be no errors, if you build on device, there would be Assert null error

Expected behavior
Assert works in editor to prevent builds to fall with unknown reason

Screenshots
If applicable, add screenshots to help explain your problem.
https://imgur.com/SpeN9G6 - works in editor but fails on device

Extenject and Unity info (please complete the following information):

  • Zenject version: 8.0.0
  • Unity version: 2019.4.26
  • Project's scripting backend [e.g. Mono/IL2CPP] il2cpp

Additional context
Add any other context about the problem here.
We had a bit investigation and found out that GetComponent on Behaviour does not returns actual null, so we consider to change all GetComponent to TryGetComponent (for version 19.1) or overload null check for editor

Reflection Baking doesn't work

Describe the bug
I have ZenjectReflectionBakingSettings object in my project but reflection baking doesn't work.

To Reproduce
I have a sample project uploaded on github:
https://github.com/mnarimani/ExtenjectReflectionBakingBug

Build the project and run. I have included InGameConsole package so you can see warnings in the build.
When you run the built executable, you will see that there will be some warnings which say some types don't have reflection baking info (Including my own types which are UserA, UserB and User C).

Expected behavior
All of my types (and probably Zenject's types) should have reflection baking info.

Extenject and Unity info (please complete the following information):

  • Zenject version: 9.0.2
  • Unity version: 2021.1.3
  • Project's scripting backend: Mono

Execution order example is false in Readme

Hello, execution order example has a false comment, it says that AstroidManager gets Initialized earlier but it not true because its execution order is bigger than GameController, also in the example project this code is almost identical, only difference is that -10 and -20 are swapped which makes the comment true in the example game1, I am posting the method in the Readme:

void InitExecutionOrder()
{
    // In many cases you don't need to worry about execution order,
    // however sometimes it can be important
    // If for example we wanted to ensure that AsteroidManager.Initialize
    // always gets called before GameController.Initialize (and similarly for Tick)
    // Then we could do the following:
    Container.BindExecutionOrder<AsteroidManager>(-10);//This should be -20
    Container.BindExecutionOrder<GameController>(-20);//This should be -10

    // Note that they will be disposed of in the reverse order given here
}

Possible memory leak in ZenPools

Describe the bug
When despawn LookupId to ZenPools, LookupId's Provider field may contain a reference to the injected instance, which will leak that reference.

To Reproduce
Just inject any instance with AsSingle scope, you will find that that instance will not be collected even it is out of scope.
For example, with the following Installer attached to a Scene Context, goto that scene, then switch to another scene, you will find that ShouldNotLeak still be referenced.

public class Installer : MonoInstaller
{
    public override void InstallBindings()
    {
        Container.Bind<ShouldNotLeak>().AsSingle().NonLazy();
    }
}

Expected behavior
Inject instance should be collected when out of scope.

Screenshots
leak
(Heap captured by Heap Explorer)

Extenject and Unity info (please complete the following information):

  • Zenject version: 9.1.0
  • Unity version: 2018.4.36f1
  • Project's scripting backend [e.g. Mono/IL2CPP] Mono

Additional context
To fix this leak, simply add these two lines in the ZenPools.cs.

Index: Assets/Plugins/Zenject/Source/Util/ZenPools.cs
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/Assets/Plugins/Zenject/Source/Util/ZenPools.cs b/Assets/Plugins/Zenject/Source/Util/ZenPools.cs
--- a/Assets/Plugins/Zenject/Source/Util/ZenPools.cs	(revision 072a4de9796b65eaa85dfc44ba8f91dc4d6e09a6)
+++ b/Assets/Plugins/Zenject/Source/Util/ZenPools.cs	(date 1704437947544)
@@ -137,6 +137,8 @@
 
         public static void DespawnLookupId(LookupId lookupId)
         {
+            lookupId.BindingId = default;
+            lookupId.Provider = null;
             _lookupIdPool.Despawn(lookupId);
         }
 

Can not inject into object in project context

  1. Add prefab with installer to the project context.
  2. Create object inside scene and installer to find it on the hierarchy
  3. Add the second installer to the project context.
  4. Try to inject scene object via first installer into the object in the project context

Expected behaviour: this scene object is resolved in the object inside the project context.
Observed result: object is not injected into project context object.
See example: https://github.com/Syjgin/ZenjectTest

  • Zenject version: 9.2.0
  • Unity version: 2021.3.4
  • Project's scripting backend: Mono

Unity Package Manager from git manifest not found

Hi, if you install the library through the Package Manager from git, an error occurs when specifying a specific version. If you do not specify the version, the git will return the maximum: 9.2.1.

Request:
ะธะทะพะฑั€ะฐะถะตะฝะธะต

Mistake:
[Package Manager Window] Error adding package: https://github.com/Mathijs-Bakker/Extenject.git?path=UnityProject/Assets/Plugins/Zenject/Source#9.2.1. Unable to add package [https://github.com/Mathijs-Bakker/Extenject.git?path=UnityProject/Assets/Plugins/Zenject/Source#9.2.1]: [https://github.com/Mathijs-Bakker/Extenject.git?path=UnityProject/Assets/Plugins/Zenject/Source#9.2.1] does not point to a valid package. No package manifest was found. Unity Editor.EditorApplication:Internal_Call Update Functions ()

Git tag (9.3.0) does not match package.json version (9.2.0)

Hard to keep track of the right version this way.

Also there are even more confusing some zombie files in this directory. Maybe they can be cleaned up?
https://github.com/Mathijs-Bakker/Extenject/blob/master/UnityProject/Assets/Plugins/Zenject/

especially
https://github.com/Mathijs-Bakker/Extenject/blob/master/UnityProject/Assets/Plugins/Zenject/Version.txt (saying 9.1.0)
and another package.json:
https://github.com/Mathijs-Bakker/Extenject/blob/master/UnityProject/Assets/Plugins/Zenject/package.json (saying 0.0.1)

Link Checker Report

Link Checker

Errors were reported while checking the connectivity of links.

Documentation/Async.md
Documentation/CheatSheet.md
License.md
NonUnityBuild/Zenject-Cecil/LICENSE.md
Documentation/Signals.md
	OK	../README.md#binding
	OK	../README.md#scene-parenting
	OK	../README.md#unirx-integration
Documentation/MemoryPools.md
	OK	../README.md#binding
	OK	Factories.md
	OK	Factories.md#abstract-factories
	OK	Images/PoolMonitor.png?raw=true
Documentation/CompositeInstaller.md
	OK	./Images/CompositeInstaller/CompositeMonoInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeMonoInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCreateAsset.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInstall.jpg
Documentation/DecoratorBindings.md
	OK	../README.md#binding
	OK	https://en.wikipedia.org/wiki/Decorator_pattern
Documentation/WritingAutomatedTests.md
	OK	https://docs.unity3d.com/Packages/[email protected]/manual/index.html
Documentation/SubContainers.md
	OK	../README.md#scene-bindings
	OK	../README.md#zenject-philophy
	OK	Images/ShipFacadeExample1.png?raw=true
	OK	https://en.wikipedia.org/wiki/Facade_pattern
Documentation/AutoMocking.md
	OK	https://github.com/moq/moq4
	OK	https://nsubstitute.github.io
	OK	https://www.nuget.org/packages/NSubstitute/
	OK	https://www.nuget.org/packages/moq
NonUnityBuild/Zenject-Cecil/README.md
	OK	http://www.dotnetfoundation.org/
	OK	https://ci.appveyor.com/api/projects/status/fmhutmhidy1fahl4?svg=true
	OK	https://ci.appveyor.com/project/jbevain/cecil
	OK	https://github.com/jbevain/cecil.samples
	OK	https://github.com/jbevain/cecil/wiki/Users
	OK	https://groups.google.com/group/mono-cecil
Documentation/Factories.md
	OK	../README.md#binding
	OK	../README.md#dicontainer-methods
	OK	../README.md#object-graph-validation
	OK	../README.md#theory
	OK	SubContainers.md
	OK	https://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/
	OK	https://docs.microsoft.com/en-us/dotnet/api/system.type.getfields?redirectedfrom=MSDN&view=netcore-3.1#System_Type_GetFields
Documentation/ReleaseNotes.md
	OK	../README.md#upgrading-from-zenject5
	OK	https://github.com/svermeulen/Zenject#optimization_notes
CONTRIBUTING.md
	OK	https://discord.gg/T5y5TD
	OK	https://forum.unity.com
	OK	https://github.com/ktaranov/naming-convention/blob/master/C%23%20Coding%20Standards%20and%20Naming%20Conventions.md
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/compare
	OK	https://github.com/svermeulen/Extenject/issues/new?template=bug_report.md
	OK	https://github.com/svermeulen/Extenject/issues/new?template=feature_request.md
	OK	https://stackoverflow.com/questions/tagged/zenject
	ERROR	https://help.github.com/articles/markdown-basics/#multiple-lines
		Forbidden (HTTP error 403)
	ERROR	https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests
		Forbidden (HTTP error 403)
Documentation/lawsuit.md
	OK	https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://github.com/modesttree/Projeny
	OK	https://img.shields.io/badge/Projeny-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/badge/Unity3dAsyncAwaitUtil-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=Modest%20Tree%20Filing%20Against%20Me&color=red&url=https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=My%20Defense%20Filing&color=success&url=https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://paypal.me/stevevermeulen
	OK	https://www.patreon.com/extenject
README.md
	OK	Documentation/AutoMocking.md
	OK	Documentation/CheatSheet.md
	OK	Documentation/CompositeInstaller.md
	OK	Documentation/DecoratorBindings.md
	OK	Documentation/Factories.md
	OK	Documentation/Factories.md#custom-factories
	OK	Documentation/GamesThatUseZenject.md
	OK	Documentation/Images/AutoBind1.png?raw=true
	OK	Documentation/Images/ExtenjectMainHeader.png
	OK	Documentation/MemoryPools.md
	OK	Documentation/ReleaseNotes.md
	OK	Documentation/Signals.md
	OK	Documentation/SubContainers.md
	OK	Documentation/WritingAutomatedTests.md
	OK	http://en.wikipedia.org/wiki/Single_responsibility_principle
	OK	http://www.gamasutra.com/blogs/RubenTorresBonet/20180703/316442/A_better_architecture_for_Unity_projects.php
	OK	http://www.reddit.com/r/zenject
	OK	https://assetstore.unity.com/packages/templates/packs/push-the-squares-69780
	OK	https://assetstore.unity.com/packages/templates/packs/quick-golf-67900
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-framework-157735
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-ioc-157735
	OK	https://docs.unity3d.com/Manual/MultiSceneEditing.html
	OK	https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html
	OK	https://docs.unity3d.com/ScriptReference/Object.FindObjectsOfType.html
	OK	https://en.wikipedia.org/wiki/Facade_pattern
	OK	https://forum.unity.com/threads/request-for-world-addmanager.539271/#post-3558224
	OK	https://gist.github.com/svermeulen/8927b29b2bfab4e84c950b6788b0c677
	OK	https://gist.github.com/svermeulen/a6929e6e26f2de2cc697d24f108c5f85
	OK	https://github.com/Crabar/Craberoid-3.0
	OK	https://github.com/Mathijs-Bakker/Extenject
	OK	https://github.com/Mathijs-Bakker/Extenject/actions/workflows/main.yml
	OK	https://github.com/Mathijs-Bakker/Extenject/actions/workflows/main.yml/badge.svg
	OK	https://github.com/Mathijs-Bakker/Extenject/issues/2
	OK	https://github.com/Mathijs-Bakker/Extenject/releases
	OK	https://github.com/Mathijs-Bakker/Zenject-Hero
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/jbevain/cecil
	OK	https://github.com/mob-sakai/UpmGitExtension
	OK	https://github.com/modesttree/Zenject/issues/168
	OK	https://github.com/modesttree/zenject
	OK	https://github.com/neuecc/UniRx
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/ssannandeji/Zenject-2019/issues/275
	OK	https://github.com/ssannandeji/Zenject-2019/issues/301
	OK	https://github.com/starikcetin/Extenject/tree/upm
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/issues/24
	OK	https://github.com/svermeulen/Extenject/releases
	OK	https://github.com/svermeulen/Extenject/tree/0b4a15b1e6e680c94fd34a2d7420eb41e320b21b
	OK	https://github.com/svermeulen/Extenject/tree/dc019e31dbae09eb53c1638be00f7f002898956c
	OK	https://github.com/svermeulen/Extenject/tree/f0dd30ad451dcbc3eb17e636455a6c89b14ad537
	OK	https://github.com/svermeulen/IocPerformance
	OK	https://github.com/svermeulen/UnityCoroutinesWithoutMonoBehaviours
	OK	https://github.com/svermeulen/ZenjectSignalsOld
	OK	https://gitter.im/Extenject/community
	OK	https://gitter.im/Extenject/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
	OK	https://grofit.gitbooks.io/development-for-winners/content/
	OK	https://groups.google.com/forum/#!forum/zenject/
	OK	https://img.shields.io/github/contributors/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/last-commit/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/license/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/v/release/Mathijs-Bakker/Extenject?color=green
	OK	https://img.shields.io/static/v1?label=Gitter&labelColor=ED1965&message=Support&color=grey&logo=Gitter&logoColor=White&url=https://gitter.im/Extenject/community
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=GitHub%20Releases&labelColor=181717&message=Downloads&color=green&logo=GitHub&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Asset%20Store&labelColor=181717&message=Download&color=green&logo=Unity&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Package&labelColor=181717&message=UPM&color=green&logo=Unity&logoColor=white
	OK	https://stackoverflow.com/questions/ask
	OK	https://twitter.com/steve_verm
	OK	https://www.udemy.com/dependency-injection-in-unity3d-using-zenject/
	OK	https://www.youtube.com/watch?v=Bcj35ceGCn0&list=PLyH-qXFkNSxnJbZLrxF0jWGyHB-8Kcd5q
	OK	https://www.youtube.com/watch?v=IS2YUIb_w_M&list=PLKERDLXpXl_jNJPY2czQcfPXW4BJaGZc_
	ERROR	http://codemanship.co.uk/parlezuml/blog/?postid=934
		Internal Server Error (HTTP error 500)
Documentation/GamesThatUseZenject.md
	OK	https://apps.apple.com/de/app/idle-farming-empire/id1018795567?mt=8&ign-mpt=uo%3D4
	OK	https://apps.apple.com/us/app/bedtimemath/id637910701
	OK	https://apps.apple.com/us/app/ingress-prime/id576505181
	OK	https://apps.apple.com/us/app/nova-black-holes/id1114574985
	OK	https://apps.apple.com/us/app/pokemon-go/id1094591345
	OK	https://apps.apple.com/us/app/slugterra-guardian-force/id1043738296
	OK	https://apps.apple.com/us/app/toy-clash-ar/id1274066398
	OK	https://beatsaber.com
	OK	https://bedtimemath.org/what-we-do/apps/
	OK	https://furylion.net
	OK	https://github.com/EcsRx/ecsrx
	OK	https://github.com/cgarciae/karma
	OK	https://github.com/ecsrx/ecsrx.unity
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/svermeulen/Extenject/issues/179
	OK	https://itunes.apple.com/gb/app/stick-soccer-2/id1104214157?mt=8
	OK	https://itunes.apple.com/us/app/id1404769349
	OK	https://kafkaris.com/2019/03/08/spinifex-group-jasper-dome/
	OK	https://kafkaris.com/2019/12/15/spinifex-group-honda-mobile-product-guide/
	OK	https://kafkaris.com/2020/01/15/spinifex-group-gpj-yonex-australian-open/
	OK	https://misfitlabs.itch.io/space-shooter
	OK	https://play.google.com/store/apps/details?id=com.SmoreGames.WordWinner
	OK	https://play.google.com/store/apps/details?id=com.futureplay.boots
	OK	https://play.google.com/store/apps/details?id=com.nerdcorps.slugthree&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticlabs.pokemongo&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticproject.ingress&hl=en_US
	OK	https://play.google.com/store/apps/details?id=com.twofours.bedtimemath
	OK	https://pokemongolive.com/
	OK	https://store.playstation.com/en-cz/product/EP5067-CUSA14143_00-BEATSABERFULL000
	OK	https://store.playstation.com/en-sg/product/HP3823-CUSA11820_00-0000000000000000
	OK	https://store.steampowered.com/app/620360/Toy_Clash/
	OK	https://store.steampowered.com/app/620980/Beat_Saber/
	OK	https://toyclash.com/
	OK	https://user-images.githubusercontent.com/7645831/95634748-e5142780-0a8a-11eb-9a90-37474824cc85.png
	OK	https://user-images.githubusercontent.com/7645831/95634750-e6455480-0a8a-11eb-8586-2d9aad47d83f.png
	OK	https://user-images.githubusercontent.com/7645831/95634751-e6ddeb00-0a8a-11eb-9ee1-2a755fd72e81.png
	OK	https://user-images.githubusercontent.com/7645831/95634753-e7768180-0a8a-11eb-8768-e75801f05a76.png
	OK	https://user-images.githubusercontent.com/7645831/95634818-12f96c00-0a8b-11eb-8532-730fe0bb941c.png
	OK	https://user-images.githubusercontent.com/7645831/95634819-142a9900-0a8b-11eb-8b75-5847aa6e423c.png
	OK	https://user-images.githubusercontent.com/7645831/95634820-142a9900-0a8b-11eb-8605-1103bb78e491.png
	OK	https://user-images.githubusercontent.com/7645831/95634822-14c32f80-0a8b-11eb-9be8-d85d2974540e.png
	OK	https://user-images.githubusercontent.com/7645831/95634823-155bc600-0a8b-11eb-9f13-e809b48e6f97.png
	OK	https://user-images.githubusercontent.com/7645831/95634860-2c9ab380-0a8b-11eb-8cf9-f4876fcaa39a.png
	OK	https://user-images.githubusercontent.com/7645831/95634862-2d334a00-0a8b-11eb-9b97-85387a86a763.png
	OK	https://user-images.githubusercontent.com/7645831/95634863-2dcbe080-0a8b-11eb-860a-7aafadb32758.png
	OK	https://user-images.githubusercontent.com/7645831/95634866-2e647700-0a8b-11eb-8c85-b4669e570ff1.png
	OK	https://user-images.githubusercontent.com/7645831/95634895-3cb29300-0a8b-11eb-814f-69d13c522308.png
	OK	https://user-images.githubusercontent.com/7645831/95634900-3d4b2980-0a8b-11eb-8706-b0976a3bdc9d.png
	OK	https://user-images.githubusercontent.com/7645831/95634901-3de3c000-0a8b-11eb-8595-a1e7f7118016.png
	OK	https://user-images.githubusercontent.com/7645831/95634902-3de3c000-0a8b-11eb-814d-757af61e1dd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634906-3e7c5680-0a8b-11eb-8bde-e4292b10ed0f.png
	OK	https://user-images.githubusercontent.com/7645831/95634931-4b994580-0a8b-11eb-86bf-e3419d182a67.png
	OK	https://user-images.githubusercontent.com/7645831/95634932-4c31dc00-0a8b-11eb-914f-4245841a1ee4.png
	OK	https://user-images.githubusercontent.com/7645831/95634933-4c31dc00-0a8b-11eb-8cce-4c9d0d5805af.png
	OK	https://user-images.githubusercontent.com/7645831/95634934-4cca7280-0a8b-11eb-8eab-114bb6b2ddd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634952-55bb4400-0a8b-11eb-8204-b52c640868b5.png
	OK	https://user-images.githubusercontent.com/7645831/95634955-5653da80-0a8b-11eb-99d5-e360dfcbf164.png
	OK	https://user-images.githubusercontent.com/7645831/95634956-56ec7100-0a8b-11eb-9341-5c2f531be0c5.png
	OK	https://user-images.githubusercontent.com/7645831/95634957-56ec7100-0a8b-11eb-922f-e27d12ed1505.png
	OK	https://user-images.githubusercontent.com/7645831/95634959-57850780-0a8b-11eb-81cf-6b0650edec8e.png
	OK	https://user-images.githubusercontent.com/7645831/95651927-c7c47500-0aed-11eb-917a-676a1bf14ae4.png
	OK	https://user-images.githubusercontent.com/7645831/95662777-a8ebd000-0b39-11eb-8fd2-07923e48a349.png
	OK	https://user-images.githubusercontent.com/7645831/95662778-a9846680-0b39-11eb-9cd9-ab8bd459f436.png
	OK	https://user-images.githubusercontent.com/7645831/95662779-aa1cfd00-0b39-11eb-9b27-566a8a600aae.png
	OK	https://user-images.githubusercontent.com/7645831/95662780-aab59380-0b39-11eb-81d0-431aab26d1db.png
	OK	https://user-images.githubusercontent.com/7645831/95662781-ab4e2a00-0b39-11eb-8bcd-f199dfe484c5.png
	OK	https://user-images.githubusercontent.com/7645831/95662811-dfc1e600-0b39-11eb-8558-d99f9fd126df.png
	OK	https://user-images.githubusercontent.com/7645831/95662814-e18ba980-0b39-11eb-8d36-d4ad5674ba79.png
	OK	https://user-images.githubusercontent.com/7645831/95662815-e2244000-0b39-11eb-8634-4f547e792c92.png
	OK	https://user-images.githubusercontent.com/7645831/95662816-e2bcd680-0b39-11eb-832a-fa288d3adc23.png
	OK	https://user-images.githubusercontent.com/7645831/95662817-e2bcd680-0b39-11eb-9ddd-0bb3e0788fac.png
	OK	https://user-images.githubusercontent.com/7645831/95662823-f5cfa680-0b39-11eb-97f5-8659089285cb.png
	OK	https://user-images.githubusercontent.com/7645831/95662825-f700d380-0b39-11eb-84ff-2211501667bc.png
	OK	https://user-images.githubusercontent.com/7645831/95662826-f700d380-0b39-11eb-862a-d645dddc775d.png
	OK	https://user-images.githubusercontent.com/7645831/95662827-f7996a00-0b39-11eb-8881-2a059b5069d8.png
	OK	https://user-images.githubusercontent.com/7645831/95662829-f8320080-0b39-11eb-862e-5743b5e122fa.png
	OK	https://user-images.githubusercontent.com/7645831/95665315-8fee1980-0b4f-11eb-9567-fb27d6138267.png
	OK	https://user-images.githubusercontent.com/7645831/95665320-92507380-0b4f-11eb-8177-eb45f98ce142.png
	OK	https://user-images.githubusercontent.com/7645831/95665322-9381a080-0b4f-11eb-932e-c10602e5f8a7.png
	OK	https://user-images.githubusercontent.com/7645831/95665324-941a3700-0b4f-11eb-939c-9520bfc20432.png
	OK	https://user-images.githubusercontent.com/7645831/95665326-94b2cd80-0b4f-11eb-8c24-acc6411f773e.png
	OK	https://user-images.githubusercontent.com/7645831/95665336-a09e8f80-0b4f-11eb-9f04-460ceb038c0a.png
	OK	https://user-images.githubusercontent.com/7645831/95665337-a1372600-0b4f-11eb-9c6b-89c2af6bbf91.png
	OK	https://user-images.githubusercontent.com/7645831/95665339-a1cfbc80-0b4f-11eb-9389-6b156b7da0b6.png
	OK	https://user-images.githubusercontent.com/7645831/95665346-b613b980-0b4f-11eb-8111-6afa5d3410fb.png
	OK	https://user-images.githubusercontent.com/7645831/95665348-b744e680-0b4f-11eb-997e-1a28577676b7.png
	OK	https://user-images.githubusercontent.com/7645831/95665349-b744e680-0b4f-11eb-85ca-9b8c102f62b9.png
	OK	https://user-images.githubusercontent.com/7645831/95665350-b7dd7d00-0b4f-11eb-9463-03421cadaeee.png
	OK	https://user-images.githubusercontent.com/7645831/95665351-b8761380-0b4f-11eb-8483-5df5913b070d.png
	OK	https://user-images.githubusercontent.com/7645831/95665360-caf04d00-0b4f-11eb-907b-87947d657fb3.png
	OK	https://user-images.githubusercontent.com/7645831/95665361-cb88e380-0b4f-11eb-9f57-78b59277a927.png
	OK	https://user-images.githubusercontent.com/7645831/95665362-cc217a00-0b4f-11eb-8e81-4f6a08613df8.png
	OK	https://user-images.githubusercontent.com/7645831/95665364-cc217a00-0b4f-11eb-85ec-f1fcd112d304.png
	OK	https://user-images.githubusercontent.com/7645831/95665365-cd52a700-0b4f-11eb-9a25-ce285a02462f.png
	OK	https://user-images.githubusercontent.com/7645831/95665378-e2c7d100-0b4f-11eb-92cd-04eaa3819c50.png
	OK	https://user-images.githubusercontent.com/7645831/95665380-e3f8fe00-0b4f-11eb-98fe-26723822a03e.png
	OK	https://user-images.githubusercontent.com/7645831/95665381-e3f8fe00-0b4f-11eb-9e57-b4844d48e8e4.png
	OK	https://user-images.githubusercontent.com/7645831/95665382-e4919480-0b4f-11eb-8435-80f2db9eec50.png
	OK	https://user-images.githubusercontent.com/7645831/95665384-e5c2c180-0b4f-11eb-8408-672db63d6527.png
	OK	https://user-images.githubusercontent.com/7645831/95666017-ebbba100-0b55-11eb-863a-e9020be7c8af.png
	OK	https://user-images.githubusercontent.com/7645831/95666020-eeb69180-0b55-11eb-8ffd-c25515bfca1a.png
	OK	https://user-images.githubusercontent.com/7645831/95666022-efe7be80-0b55-11eb-9e46-186fbf922937.png
	OK	https://user-images.githubusercontent.com/7645831/95666023-efe7be80-0b55-11eb-9646-8fc42a630a85.png
	OK	https://user-images.githubusercontent.com/7645831/95666024-f0805500-0b55-11eb-9a74-09762c626bb6.png
	OK	https://user-images.githubusercontent.com/7645831/95672778-dd947180-0ba3-11eb-9144-c188ac7b2c17.png
	OK	https://user-images.githubusercontent.com/7645831/95672780-e08f6200-0ba3-11eb-9291-911e0c05da17.png
	OK	https://user-images.githubusercontent.com/7645831/95672782-e127f880-0ba3-11eb-9bfe-c9e64635081e.png
	OK	https://user-images.githubusercontent.com/7645831/95672783-e1c08f00-0ba3-11eb-9032-1e3a92fa74b9.png
	OK	https://user-images.githubusercontent.com/7645831/95672784-e2592580-0ba3-11eb-868a-4d202b7e5483.png
	OK	https://user-images.githubusercontent.com/7645831/95672798-f0a74180-0ba3-11eb-9263-9c63faa1a5b7.png
	OK	https://user-images.githubusercontent.com/7645831/95672799-f13fd800-0ba3-11eb-9db2-f2c82ff5c29f.png
	OK	https://user-images.githubusercontent.com/7645831/95672800-f1d86e80-0ba3-11eb-85ec-1c70b8dbeae6.png
	OK	https://user-images.githubusercontent.com/7645831/95672802-f3099b80-0ba3-11eb-8d38-22eecd86c6dd.png
	OK	https://user-images.githubusercontent.com/7645831/95672811-087ec580-0ba4-11eb-8994-dc383608a57f.png
	OK	https://user-images.githubusercontent.com/7645831/95672813-09175c00-0ba4-11eb-83f5-cf92f145ffd6.png
	OK	https://user-images.githubusercontent.com/7645831/95672814-09aff280-0ba4-11eb-8a2d-ced40e2188e0.png
	OK	https://user-images.githubusercontent.com/7645831/95672815-09aff280-0ba4-11eb-9a40-11f77b12cbf0.png
	OK	https://user-images.githubusercontent.com/7645831/95672816-0a488900-0ba4-11eb-840f-6781ab146068.png
	OK	https://user-images.githubusercontent.com/7645831/95672881-7e832c80-0ba4-11eb-98d7-08b23156e212.png
	OK	https://user-images.githubusercontent.com/7645831/95685582-fc712300-0bf8-11eb-81d7-4d01a617616e.png
	OK	https://user-images.githubusercontent.com/7645831/95685629-422deb80-0bf9-11eb-861e-ef8171c92137.png
	OK	https://user-images.githubusercontent.com/7645831/95685630-42c68200-0bf9-11eb-9e6c-39c8769ad28f.png
	OK	https://user-images.githubusercontent.com/7645831/95685633-51ad3480-0bf9-11eb-82c8-077a9e410a5a.png
	OK	https://user-images.githubusercontent.com/7645831/95685635-54a82500-0bf9-11eb-99cf-e7da86704197.png
	OK	https://www.airconsole.com/#!play=com.octopusgames.golfriends
	OK	https://www.buildawaygame.com
	OK	https://www.epicstoryinteractive.com
	OK	https://www.farmawaygame.com
	OK	https://www.ingress.com
	OK	https://www.microsoft.com/de-de/p/toy-clash/9pn9vbjl9ld4?ocid=badge&rtc=1&activetab=pivot:overviewtab
	OK	https://www.misfitlabs.dev
	OK	https://www.oculus.com/experiences/gear-vr/1407846952568081/
	OK	https://www.oculus.com/experiences/rift/1304877726278670/
	OK	https://www.pbslearningmedia.org/resource/nvbh-sci-blackholesguide/wgbh-nova-black-holes-app-educator-guide/
	OK	https://www.sticksports.com/stick-soccer-2/
	ERROR	https://apps.apple.com/app/id1079852672
		Not Found (HTTP error 404)
	ERROR	https://play.google.com/store/apps/details?id=com.fiveminlab.toyclash.daydream
		Not Found (HTTP error 404)
	ERROR	https://play.google.com/store/apps/details?id=com.futureplay.city
		Not Found (HTTP error 404)

Link Checker Report

Link Checker

Errors were reported while checking the connectivity of links.

Documentation/Async.md
Documentation/CheatSheet.md
License.md
NonUnityBuild/Zenject-Cecil/LICENSE.md
Documentation/CompositeInstaller.md
	OK	./Images/CompositeInstaller/CompositeMonoInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeMonoInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCreateAsset.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInstall.jpg
Documentation/MemoryPools.md
	OK	../README.md#binding
	OK	Factories.md
	OK	Factories.md#abstract-factories
	OK	Images/PoolMonitor.png?raw=true
Documentation/Signals.md
	OK	../README.md#binding
	OK	../README.md#scene-parenting
	OK	../README.md#unirx-integration
Documentation/DecoratorBindings.md
	OK	../README.md#binding
	OK	https://en.wikipedia.org/wiki/Decorator_pattern
Documentation/WritingAutomatedTests.md
	OK	https://docs.unity3d.com/Packages/[email protected]/manual/index.html
Documentation/SubContainers.md
	OK	../README.md#scene-bindings
	OK	../README.md#zenject-philophy
	OK	Images/ShipFacadeExample1.png?raw=true
	OK	https://en.wikipedia.org/wiki/Facade_pattern
Documentation/Factories.md
	OK	../README.md#binding
	OK	../README.md#dicontainer-methods
	OK	../README.md#object-graph-validation
	OK	../README.md#theory
	OK	SubContainers.md
	OK	https://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/
	OK	https://docs.microsoft.com/en-us/dotnet/api/system.type.getfields?redirectedfrom=MSDN&view=netcore-3.1#System_Type_GetFields
Documentation/AutoMocking.md
	OK	https://github.com/moq/moq4
	OK	https://nsubstitute.github.io
NonUnityBuild/Zenject-Cecil/README.md
	OK	http://www.dotnetfoundation.org/
	OK	https://ci.appveyor.com/api/projects/status/fmhutmhidy1fahl4?svg=true
	OK	https://ci.appveyor.com/project/jbevain/cecil
	OK	https://github.com/jbevain/cecil.samples
	OK	https://github.com/jbevain/cecil/wiki/Users
	OK	https://groups.google.com/group/mono-cecil
Documentation/ReleaseNotes.md
	OK	../README.md#upgrading-from-zenject5
	OK	https://github.com/svermeulen/Zenject#optimization_notes
Documentation/lawsuit.md
	OK	https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://github.com/modesttree/Projeny
	OK	https://img.shields.io/badge/Projeny-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/badge/Unity3dAsyncAwaitUtil-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=Modest%20Tree%20Filing%20Against%20Me&color=red&url=https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=My%20Defense%20Filing&color=success&url=https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://paypal.me/stevevermeulen
	OK	https://www.patreon.com/extenject
CONTRIBUTING.md
	OK	https://discord.gg/T5y5TD
	OK	https://forum.unity.com
	OK	https://github.com/ktaranov/naming-convention/blob/master/C%23%20Coding%20Standards%20and%20Naming%20Conventions.md
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/compare
	OK	https://github.com/svermeulen/Extenject/issues/new?template=bug_report.md
	OK	https://github.com/svermeulen/Extenject/issues/new?template=feature_request.md
	OK	https://help.github.com/articles/markdown-basics/#multiple-lines
	OK	https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests
	OK	https://stackoverflow.com/questions/tagged/zenject
README.md
	OK	Documentation/AutoMocking.md
	OK	Documentation/CheatSheet.md
	OK	Documentation/CompositeInstaller.md
	OK	Documentation/DecoratorBindings.md
	OK	Documentation/Factories.md
	OK	Documentation/Factories.md#custom-factories
	OK	Documentation/GamesThatUseZenject.md
	OK	Documentation/Images/AutoBind1.png?raw=true
	OK	Documentation/Images/ExtenjectMainHeader.png
	OK	Documentation/MemoryPools.md
	OK	Documentation/ReleaseNotes.md
	OK	Documentation/Signals.md
	OK	Documentation/SubContainers.md
	OK	Documentation/WritingAutomatedTests.md
	OK	http://codemanship.co.uk/parlezuml/blog/?postid=934
	OK	http://en.wikipedia.org/wiki/Single_responsibility_principle
	OK	http://www.gamasutra.com/blogs/RubenTorresBonet/20180703/316442/A_better_architecture_for_Unity_projects.php
	OK	http://www.reddit.com/r/zenject
	OK	https://assetstore.unity.com/packages/templates/packs/push-the-squares-69780
	OK	https://assetstore.unity.com/packages/templates/packs/quick-golf-67900
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-framework-157735
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-ioc-157735
	OK	https://docs.unity3d.com/Manual/MultiSceneEditing.html
	OK	https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html
	OK	https://docs.unity3d.com/ScriptReference/Object.FindObjectsOfType.html
	OK	https://en.wikipedia.org/wiki/Facade_pattern
	OK	https://forum.unity.com/threads/request-for-world-addmanager.539271/#post-3558224
	OK	https://gist.github.com/svermeulen/8927b29b2bfab4e84c950b6788b0c677
	OK	https://gist.github.com/svermeulen/a6929e6e26f2de2cc697d24f108c5f85
	OK	https://github.com/Crabar/Craberoid-3.0
	OK	https://github.com/Mathijs-Bakker/Extenject
	OK	https://github.com/Mathijs-Bakker/Extenject/actions/workflows/main.yml
	OK	https://github.com/Mathijs-Bakker/Extenject/actions/workflows/main.yml/badge.svg
	OK	https://github.com/Mathijs-Bakker/Extenject/issues/2
	OK	https://github.com/Mathijs-Bakker/Extenject/releases
	OK	https://github.com/Mathijs-Bakker/Zenject-Hero
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/jbevain/cecil
	OK	https://github.com/mob-sakai/UpmGitExtension
	OK	https://github.com/modesttree/Zenject/issues/168
	OK	https://github.com/modesttree/zenject
	OK	https://github.com/neuecc/UniRx
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/ssannandeji/Zenject-2019/issues/275
	OK	https://github.com/ssannandeji/Zenject-2019/issues/301
	OK	https://github.com/starikcetin/Extenject/tree/upm
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/issues/24
	OK	https://github.com/svermeulen/Extenject/releases
	OK	https://github.com/svermeulen/Extenject/tree/0b4a15b1e6e680c94fd34a2d7420eb41e320b21b
	OK	https://github.com/svermeulen/Extenject/tree/dc019e31dbae09eb53c1638be00f7f002898956c
	OK	https://github.com/svermeulen/Extenject/tree/f0dd30ad451dcbc3eb17e636455a6c89b14ad537
	OK	https://github.com/svermeulen/IocPerformance
	OK	https://github.com/svermeulen/UnityCoroutinesWithoutMonoBehaviours
	OK	https://github.com/svermeulen/ZenjectSignalsOld
	OK	https://gitter.im/Extenject/community
	OK	https://gitter.im/Extenject/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
	OK	https://grofit.gitbooks.io/development-for-winners/content/
	OK	https://groups.google.com/forum/#!forum/zenject/
	OK	https://img.shields.io/github/contributors/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/last-commit/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/license/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/v/release/Mathijs-Bakker/Extenject?color=green
	OK	https://img.shields.io/static/v1?label=Gitter&labelColor=ED1965&message=Support&color=grey&logo=Gitter&logoColor=White&url=https://gitter.im/Extenject/community
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=GitHub%20Releases&labelColor=181717&message=Downloads&color=green&logo=GitHub&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Asset%20Store&labelColor=181717&message=Download&color=green&logo=Unity&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Package&labelColor=181717&message=UPM&color=green&logo=Unity&logoColor=white
	OK	https://stackoverflow.com/questions/ask
	OK	https://twitter.com/steve_verm
	OK	https://www.udemy.com/dependency-injection-in-unity3d-using-zenject/
	OK	https://www.youtube.com/watch?v=Bcj35ceGCn0&list=PLyH-qXFkNSxnJbZLrxF0jWGyHB-8Kcd5q
	OK	https://www.youtube.com/watch?v=IS2YUIb_w_M&list=PLKERDLXpXl_jNJPY2czQcfPXW4BJaGZc_
Documentation/GamesThatUseZenject.md
	OK	https://apps.apple.com/app/id1079852672
	OK	https://apps.apple.com/de/app/idle-farming-empire/id1018795567?mt=8&ign-mpt=uo%3D4
	OK	https://apps.apple.com/us/app/bedtimemath/id637910701
	OK	https://apps.apple.com/us/app/ingress-prime/id576505181
	OK	https://apps.apple.com/us/app/nova-black-holes/id1114574985
	OK	https://apps.apple.com/us/app/pokemon-go/id1094591345
	OK	https://apps.apple.com/us/app/slugterra-guardian-force/id1043738296
	OK	https://apps.apple.com/us/app/toy-clash-ar/id1274066398
	OK	https://beatsaber.com
	OK	https://bedtimemath.org/what-we-do/apps/
	OK	https://furylion.net
	OK	https://github.com/EcsRx/ecsrx
	OK	https://github.com/cgarciae/karma
	OK	https://github.com/ecsrx/ecsrx.unity
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/svermeulen/Extenject/issues/179
	OK	https://itunes.apple.com/gb/app/stick-soccer-2/id1104214157?mt=8
	OK	https://itunes.apple.com/us/app/id1404769349
	OK	https://kafkaris.com/2019/03/08/spinifex-group-jasper-dome/
	OK	https://kafkaris.com/2019/12/15/spinifex-group-honda-mobile-product-guide/
	OK	https://kafkaris.com/2020/01/15/spinifex-group-gpj-yonex-australian-open/
	OK	https://misfitlabs.itch.io/space-shooter
	OK	https://play.google.com/store/apps/details?id=com.SmoreGames.WordWinner
	OK	https://play.google.com/store/apps/details?id=com.futureplay.boots
	OK	https://play.google.com/store/apps/details?id=com.futureplay.city
	OK	https://play.google.com/store/apps/details?id=com.nerdcorps.slugthree&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticlabs.pokemongo&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticproject.ingress&hl=en_US
	OK	https://play.google.com/store/apps/details?id=com.twofours.bedtimemath
	OK	https://pokemongolive.com/
	OK	https://store.playstation.com/en-cz/product/EP5067-CUSA14143_00-BEATSABERFULL000
	OK	https://store.playstation.com/en-sg/product/HP3823-CUSA11820_00-0000000000000000
	OK	https://store.steampowered.com/app/620360/Toy_Clash/
	OK	https://store.steampowered.com/app/620980/Beat_Saber/
	OK	https://toyclash.com/
	OK	https://user-images.githubusercontent.com/7645831/95634748-e5142780-0a8a-11eb-9a90-37474824cc85.png
	OK	https://user-images.githubusercontent.com/7645831/95634750-e6455480-0a8a-11eb-8586-2d9aad47d83f.png
	OK	https://user-images.githubusercontent.com/7645831/95634751-e6ddeb00-0a8a-11eb-9ee1-2a755fd72e81.png
	OK	https://user-images.githubusercontent.com/7645831/95634753-e7768180-0a8a-11eb-8768-e75801f05a76.png
	OK	https://user-images.githubusercontent.com/7645831/95634818-12f96c00-0a8b-11eb-8532-730fe0bb941c.png
	OK	https://user-images.githubusercontent.com/7645831/95634819-142a9900-0a8b-11eb-8b75-5847aa6e423c.png
	OK	https://user-images.githubusercontent.com/7645831/95634820-142a9900-0a8b-11eb-8605-1103bb78e491.png
	OK	https://user-images.githubusercontent.com/7645831/95634822-14c32f80-0a8b-11eb-9be8-d85d2974540e.png
	OK	https://user-images.githubusercontent.com/7645831/95634823-155bc600-0a8b-11eb-9f13-e809b48e6f97.png
	OK	https://user-images.githubusercontent.com/7645831/95634860-2c9ab380-0a8b-11eb-8cf9-f4876fcaa39a.png
	OK	https://user-images.githubusercontent.com/7645831/95634862-2d334a00-0a8b-11eb-9b97-85387a86a763.png
	OK	https://user-images.githubusercontent.com/7645831/95634863-2dcbe080-0a8b-11eb-860a-7aafadb32758.png
	OK	https://user-images.githubusercontent.com/7645831/95634866-2e647700-0a8b-11eb-8c85-b4669e570ff1.png
	OK	https://user-images.githubusercontent.com/7645831/95634895-3cb29300-0a8b-11eb-814f-69d13c522308.png
	OK	https://user-images.githubusercontent.com/7645831/95634900-3d4b2980-0a8b-11eb-8706-b0976a3bdc9d.png
	OK	https://user-images.githubusercontent.com/7645831/95634901-3de3c000-0a8b-11eb-8595-a1e7f7118016.png
	OK	https://user-images.githubusercontent.com/7645831/95634902-3de3c000-0a8b-11eb-814d-757af61e1dd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634906-3e7c5680-0a8b-11eb-8bde-e4292b10ed0f.png
	OK	https://user-images.githubusercontent.com/7645831/95634931-4b994580-0a8b-11eb-86bf-e3419d182a67.png
	OK	https://user-images.githubusercontent.com/7645831/95634932-4c31dc00-0a8b-11eb-914f-4245841a1ee4.png
	OK	https://user-images.githubusercontent.com/7645831/95634933-4c31dc00-0a8b-11eb-8cce-4c9d0d5805af.png
	OK	https://user-images.githubusercontent.com/7645831/95634934-4cca7280-0a8b-11eb-8eab-114bb6b2ddd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634952-55bb4400-0a8b-11eb-8204-b52c640868b5.png
	OK	https://user-images.githubusercontent.com/7645831/95634955-5653da80-0a8b-11eb-99d5-e360dfcbf164.png
	OK	https://user-images.githubusercontent.com/7645831/95634956-56ec7100-0a8b-11eb-9341-5c2f531be0c5.png
	OK	https://user-images.githubusercontent.com/7645831/95634957-56ec7100-0a8b-11eb-922f-e27d12ed1505.png
	OK	https://user-images.githubusercontent.com/7645831/95634959-57850780-0a8b-11eb-81cf-6b0650edec8e.png
	OK	https://user-images.githubusercontent.com/7645831/95651927-c7c47500-0aed-11eb-917a-676a1bf14ae4.png
	OK	https://user-images.githubusercontent.com/7645831/95662777-a8ebd000-0b39-11eb-8fd2-07923e48a349.png
	OK	https://user-images.githubusercontent.com/7645831/95662778-a9846680-0b39-11eb-9cd9-ab8bd459f436.png
	OK	https://user-images.githubusercontent.com/7645831/95662779-aa1cfd00-0b39-11eb-9b27-566a8a600aae.png
	OK	https://user-images.githubusercontent.com/7645831/95662780-aab59380-0b39-11eb-81d0-431aab26d1db.png
	OK	https://user-images.githubusercontent.com/7645831/95662781-ab4e2a00-0b39-11eb-8bcd-f199dfe484c5.png
	OK	https://user-images.githubusercontent.com/7645831/95662811-dfc1e600-0b39-11eb-8558-d99f9fd126df.png
	OK	https://user-images.githubusercontent.com/7645831/95662814-e18ba980-0b39-11eb-8d36-d4ad5674ba79.png
	OK	https://user-images.githubusercontent.com/7645831/95662815-e2244000-0b39-11eb-8634-4f547e792c92.png
	OK	https://user-images.githubusercontent.com/7645831/95662816-e2bcd680-0b39-11eb-832a-fa288d3adc23.png
	OK	https://user-images.githubusercontent.com/7645831/95662817-e2bcd680-0b39-11eb-9ddd-0bb3e0788fac.png
	OK	https://user-images.githubusercontent.com/7645831/95662823-f5cfa680-0b39-11eb-97f5-8659089285cb.png
	OK	https://user-images.githubusercontent.com/7645831/95662825-f700d380-0b39-11eb-84ff-2211501667bc.png
	OK	https://user-images.githubusercontent.com/7645831/95662826-f700d380-0b39-11eb-862a-d645dddc775d.png
	OK	https://user-images.githubusercontent.com/7645831/95662827-f7996a00-0b39-11eb-8881-2a059b5069d8.png
	OK	https://user-images.githubusercontent.com/7645831/95662829-f8320080-0b39-11eb-862e-5743b5e122fa.png
	OK	https://user-images.githubusercontent.com/7645831/95665315-8fee1980-0b4f-11eb-9567-fb27d6138267.png
	OK	https://user-images.githubusercontent.com/7645831/95665320-92507380-0b4f-11eb-8177-eb45f98ce142.png
	OK	https://user-images.githubusercontent.com/7645831/95665322-9381a080-0b4f-11eb-932e-c10602e5f8a7.png
	OK	https://user-images.githubusercontent.com/7645831/95665324-941a3700-0b4f-11eb-939c-9520bfc20432.png
	OK	https://user-images.githubusercontent.com/7645831/95665326-94b2cd80-0b4f-11eb-8c24-acc6411f773e.png
	OK	https://user-images.githubusercontent.com/7645831/95665336-a09e8f80-0b4f-11eb-9f04-460ceb038c0a.png
	OK	https://user-images.githubusercontent.com/7645831/95665337-a1372600-0b4f-11eb-9c6b-89c2af6bbf91.png
	OK	https://user-images.githubusercontent.com/7645831/95665339-a1cfbc80-0b4f-11eb-9389-6b156b7da0b6.png
	OK	https://user-images.githubusercontent.com/7645831/95665346-b613b980-0b4f-11eb-8111-6afa5d3410fb.png
	OK	https://user-images.githubusercontent.com/7645831/95665348-b744e680-0b4f-11eb-997e-1a28577676b7.png
	OK	https://user-images.githubusercontent.com/7645831/95665349-b744e680-0b4f-11eb-85ca-9b8c102f62b9.png
	OK	https://user-images.githubusercontent.com/7645831/95665350-b7dd7d00-0b4f-11eb-9463-03421cadaeee.png
	OK	https://user-images.githubusercontent.com/7645831/95665351-b8761380-0b4f-11eb-8483-5df5913b070d.png
	OK	https://user-images.githubusercontent.com/7645831/95665360-caf04d00-0b4f-11eb-907b-87947d657fb3.png
	OK	https://user-images.githubusercontent.com/7645831/95665361-cb88e380-0b4f-11eb-9f57-78b59277a927.png
	OK	https://user-images.githubusercontent.com/7645831/95665362-cc217a00-0b4f-11eb-8e81-4f6a08613df8.png
	OK	https://user-images.githubusercontent.com/7645831/95665364-cc217a00-0b4f-11eb-85ec-f1fcd112d304.png
	OK	https://user-images.githubusercontent.com/7645831/95665365-cd52a700-0b4f-11eb-9a25-ce285a02462f.png
	OK	https://user-images.githubusercontent.com/7645831/95665378-e2c7d100-0b4f-11eb-92cd-04eaa3819c50.png
	OK	https://user-images.githubusercontent.com/7645831/95665380-e3f8fe00-0b4f-11eb-98fe-26723822a03e.png
	OK	https://user-images.githubusercontent.com/7645831/95665381-e3f8fe00-0b4f-11eb-9e57-b4844d48e8e4.png
	OK	https://user-images.githubusercontent.com/7645831/95665382-e4919480-0b4f-11eb-8435-80f2db9eec50.png
	OK	https://user-images.githubusercontent.com/7645831/95665384-e5c2c180-0b4f-11eb-8408-672db63d6527.png
	OK	https://user-images.githubusercontent.com/7645831/95666017-ebbba100-0b55-11eb-863a-e9020be7c8af.png
	OK	https://user-images.githubusercontent.com/7645831/95666020-eeb69180-0b55-11eb-8ffd-c25515bfca1a.png
	OK	https://user-images.githubusercontent.com/7645831/95666022-efe7be80-0b55-11eb-9e46-186fbf922937.png
	OK	https://user-images.githubusercontent.com/7645831/95666023-efe7be80-0b55-11eb-9646-8fc42a630a85.png
	OK	https://user-images.githubusercontent.com/7645831/95666024-f0805500-0b55-11eb-9a74-09762c626bb6.png
	OK	https://user-images.githubusercontent.com/7645831/95672778-dd947180-0ba3-11eb-9144-c188ac7b2c17.png
	OK	https://user-images.githubusercontent.com/7645831/95672780-e08f6200-0ba3-11eb-9291-911e0c05da17.png
	OK	https://user-images.githubusercontent.com/7645831/95672782-e127f880-0ba3-11eb-9bfe-c9e64635081e.png
	OK	https://user-images.githubusercontent.com/7645831/95672783-e1c08f00-0ba3-11eb-9032-1e3a92fa74b9.png
	OK	https://user-images.githubusercontent.com/7645831/95672784-e2592580-0ba3-11eb-868a-4d202b7e5483.png
	OK	https://user-images.githubusercontent.com/7645831/95672798-f0a74180-0ba3-11eb-9263-9c63faa1a5b7.png
	OK	https://user-images.githubusercontent.com/7645831/95672799-f13fd800-0ba3-11eb-9db2-f2c82ff5c29f.png
	OK	https://user-images.githubusercontent.com/7645831/95672800-f1d86e80-0ba3-11eb-85ec-1c70b8dbeae6.png
	OK	https://user-images.githubusercontent.com/7645831/95672802-f3099b80-0ba3-11eb-8d38-22eecd86c6dd.png
	OK	https://user-images.githubusercontent.com/7645831/95672811-087ec580-0ba4-11eb-8994-dc383608a57f.png
	OK	https://user-images.githubusercontent.com/7645831/95672813-09175c00-0ba4-11eb-83f5-cf92f145ffd6.png
	OK	https://user-images.githubusercontent.com/7645831/95672814-09aff280-0ba4-11eb-8a2d-ced40e2188e0.png
	OK	https://user-images.githubusercontent.com/7645831/95672815-09aff280-0ba4-11eb-9a40-11f77b12cbf0.png
	OK	https://user-images.githubusercontent.com/7645831/95672816-0a488900-0ba4-11eb-840f-6781ab146068.png
	OK	https://user-images.githubusercontent.com/7645831/95672881-7e832c80-0ba4-11eb-98d7-08b23156e212.png
	OK	https://user-images.githubusercontent.com/7645831/95685582-fc712300-0bf8-11eb-81d7-4d01a617616e.png
	OK	https://user-images.githubusercontent.com/7645831/95685629-422deb80-0bf9-11eb-861e-ef8171c92137.png
	OK	https://user-images.githubusercontent.com/7645831/95685630-42c68200-0bf9-11eb-9e6c-39c8769ad28f.png
	OK	https://user-images.githubusercontent.com/7645831/95685633-51ad3480-0bf9-11eb-82c8-077a9e410a5a.png
	OK	https://user-images.githubusercontent.com/7645831/95685635-54a82500-0bf9-11eb-99cf-e7da86704197.png
	OK	https://www.airconsole.com/#!play=com.octopusgames.golfriends
	OK	https://www.buildawaygame.com
	OK	https://www.epicstoryinteractive.com
	OK	https://www.farmawaygame.com
	OK	https://www.ingress.com
	OK	https://www.microsoft.com/de-de/p/toy-clash/9pn9vbjl9ld4?ocid=badge&rtc=1&activetab=pivot:overviewtab
	OK	https://www.misfitlabs.dev
	OK	https://www.oculus.com/experiences/gear-vr/1407846952568081/
	OK	https://www.oculus.com/experiences/rift/1304877726278670/
	OK	https://www.pbslearningmedia.org/resource/nvbh-sci-blackholesguide/wgbh-nova-black-holes-app-educator-guide/
	OK	https://www.sticksports.com/stick-soccer-2/
	ERROR	https://play.google.com/store/apps/details?id=com.fiveminlab.toyclash.daydream
		Not Found (HTTP error 404)

Allow to use closures for factories

Instead of forcing to create a new class, it would be great if Exenject allowed to pass a closure that takes a DiContainer as input and returns a function that represents the factory.

I might submit a PR for this.

Decorators binding managed interfaces

Describe the bug
Binding objects implementing IInitializable or IDisposable makes them initialized/disposed by the kernel. Binding a decorator via Container.Decorate<TContract>().With<TDecorator>() decorates an already bound object. But binding a decorator which implements any of the former interfaces will not register them to the corresponding manager of the kernel.

To Reproduce
Bind a type via an interface. Then on top of that interface bind a decorator which implements IInitializable or IDisposable.

Expected behavior
Expected Initialize() and Dispose() methods of the decorator to be invoked, but these are not invoked, even if other methods implemented by the interface is properly decorated.

Extenject and Unity info (please complete the following information):

  • Zenject version: latest master (cc02082)
  • Unity version: 2021.3.13f1
  • Project's scripting backend: both Mono/IL2CPP

Reflection baking doesn't work for assembly definitions

Describe the bug
When a DLL of an assembly definition is added to assemblies included in Reflection Baking, the DLL gets broken and is not executed.

To Reproduce
Steps to reproduce the behavior:

  1. Import Zenject into an empty project.
  2. Go to Assets/Plugins/Zenject/OptionalExtras/SampleGame1 (Beginner)/Scripts
  3. Create an assembly definition called Beginner and add Zenject to assembly definition references.
  4. Create the ZenjectReflectionBakingSettings scriptable object.
  5. Untick "All Generated Assemblies", tick "Is Enabled In Editor".
  6. Add Zenject.dll and Beginner.dll to included assemblies.
  7. Open the Asteroids scene.
  8. Enter Play Mode.
  9. Get the following errors:

Error when modifying type 'Asteroid'

FileNotFoundException: Could not load file or assembly 'Zenject-usage, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.

Unloading broken assembly Library/ScriptAssemblies/Beginner.dll, this assembly can cause crashes in the runtime

Detailed stack traces:

Error when modifying type 'Asteroid'
UnityEngine.Debug:LogError (object)
ModestTree.Log:ErrorException (string,System.Exception)
Zenject.ReflectionBaking.ReflectionBakingModuleEditor:TryEditType (Zenject.ReflectionBaking.Mono.Cecil.TypeDefinition,System.Type) (at Assets/Plugins/Zenject/OptionalExtras/ReflectionBaking/Common/ReflectionBakingModuleEditor.cs:158)
Zenject.ReflectionBaking.ReflectionBakingModuleEditor:Run () (at Assets/Plugins/Zenject/OptionalExtras/ReflectionBaking/Common/ReflectionBakingModuleEditor.cs:84)
Zenject.ReflectionBaking.ReflectionBakingModuleEditor:WeaveAssembly (Zenject.ReflectionBaking.Mono.Cecil.ModuleDefinition,System.Reflection.Assembly,System.Collections.Generic.List`1<string>) (at Assets/Plugins/Zenject/OptionalExtras/ReflectionBaking/Common/ReflectionBakingModuleEditor.cs:56)
Zenject.ReflectionBaking.ReflectionBakingBuildObserver:TryWeaveAssembly (string) (at Assets/Plugins/Zenject/OptionalExtras/ReflectionBaking/Unity/ReflectionBakingBuildObserver.cs:93)
Zenject.ReflectionBaking.ReflectionBakingBuildObserver:OnAssemblyCompiled (string,UnityEditor.Compilation.CompilerMessage[]) (at Assets/Plugins/Zenject/OptionalExtras/ReflectionBaking/Unity/ReflectionBakingBuildObserver.cs:37)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:TickCompilationPipeline (UnityEditor.Scripting.ScriptCompilation.EditorScriptCompilationOptions,UnityEditor.BuildTargetGroup,UnityEditor.BuildTarget,string[])
FileNotFoundException: Could not load file or assembly 'Zenject-usage, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
System.MonoCustomAttrs.GetCustomAttributesBase (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inheritedOnly) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.MonoCustomAttrs.GetCustomAttributes (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inherit) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.Reflection.MonoMethod.GetCustomAttributes (System.Type attributeType, System.Boolean inherit) (at <695d1cc93cca45069c528c15c9fdd749>:0)
Zenject.Internal.ReflectionTypeAnalyzer+<>c__DisplayClass12_1.<GetMethodInfos>b__1 (System.Type a) (at <e711547f4dd74929ab297f402fe81f63>:0)
System.Linq.Enumerable.Any[TSource] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] predicate) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
Zenject.Internal.ReflectionTypeAnalyzer+<>c.<GetMethodInfos>b__12_0 (System.Reflection.MethodInfo x) (at <e711547f4dd74929ab297f402fe81f63>:0)
System.Linq.Enumerable+WhereArrayIterator`1[TSource].ToList () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable`1[T] source) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
Zenject.Internal.ReflectionTypeAnalyzer.GetMethodInfos (System.Type type) (at <e711547f4dd74929ab297f402fe81f63>:0)
Zenject.Internal.ReflectionTypeAnalyzer.GetReflectionInfo (System.Type type) (at <e711547f4dd74929ab297f402fe81f63>:0)
Zenject.ReflectionBaking.ReflectionBakingModuleEditor.TryEditType (Zenject.ReflectionBaking.Mono.Cecil.TypeDefinition typeDef, System.Type actualType) (at Assets/Plugins/Zenject/OptionalExtras/ReflectionBaking/Common/ReflectionBakingModuleEditor.cs:144)
UnityEngine.Debug:LogException(Exception)
ModestTree.Log:ErrorException(String, Exception)
Zenject.ReflectionBaking.ReflectionBakingModuleEditor:TryEditType(TypeDefinition, Type) (at Assets/Plugins/Zenject/OptionalExtras/ReflectionBaking/Common/ReflectionBakingModuleEditor.cs:158)
Zenject.ReflectionBaking.ReflectionBakingModuleEditor:Run() (at Assets/Plugins/Zenject/OptionalExtras/ReflectionBaking/Common/ReflectionBakingModuleEditor.cs:84)
Zenject.ReflectionBaking.ReflectionBakingModuleEditor:WeaveAssembly(ModuleDefinition, Assembly, List`1) (at Assets/Plugins/Zenject/OptionalExtras/ReflectionBaking/Common/ReflectionBakingModuleEditor.cs:56)
Zenject.ReflectionBaking.ReflectionBakingBuildObserver:TryWeaveAssembly(String) (at Assets/Plugins/Zenject/OptionalExtras/ReflectionBaking/Unity/ReflectionBakingBuildObserver.cs:93)
Zenject.ReflectionBaking.ReflectionBakingBuildObserver:OnAssemblyCompiled(String, CompilerMessage[]) (at Assets/Plugins/Zenject/OptionalExtras/ReflectionBaking/Unity/ReflectionBakingBuildObserver.cs:37)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:TickCompilationPipeline(EditorScriptCompilationOptions, BuildTargetGroup, BuildTarget, String[])

Expected behavior
Reflection is baked for Beginner.dll, the are no broken DLLs.

Screenshots
image
image

Extenject and Unity info (please complete the following information):

  • Zenject version: 9.2.0 (also tried to build a package with the recent changes from @mnarimani (#5 #6 #9) and use it.)
  • Unity version: 2020.3.8f1, 2020.3.10f1
  • Project's scripting backend: Tried both Mono and IL2CPP, NET Standard 2.0 and NET4.x

The reflection baking works fine for Zenject itself, and for Assembly-CSharp.dll, but not for in-project assembly definitions.

Missing Create -> Zenject -> Reflection Baking Settings

Describe the bug
Missing "Create -> Zenject -> Reflection Baking Settings" option.

To Reproduce
Try to create a Reflection Baking Settings asset but there is no option for it.

Expected behavior
A way to create a Reflection Baking Settings asset.

Screenshots
projecttab
assets

Extenject and Unity info (please complete the following information):

  • Zenject version: 9.2.0
  • Unity version: 2021.3.1f
  • Project's scripting backend [e.g. Mono/IL2CPP]: IL2CPP

Additional context
I wonder if it is possible to create a Reflection Baking Settings asset in another way.

Ignore all types in UnityEngine namespace

Currently TypeAnalyzer class tries to get type info of all classes that are in UnityEngine namespaces. I think this is a waste of time since no component or behaviour in UnityEngine namespace uses injection.

I created this issue to discuss this potential change and see if anything breaks if we ignore everything from Unity.

WebGL build error.

Describe the bug
Unity does not build a WebGL project while zenject is imported. The Android build works fine.

To Reproduce
Import Extenject, run the build for WebGL.

Expected behavior
Build completed with a result of 'Completed'.

Screenshots
WebGL build error

Extenject and Unity info (please complete the following information):

  • Zenject version: 9.2.1, 9.3.1
  • Unity version: 2022.1.1f1.3174
  • Project's scripting backend IL2CPP

Additional context
Text errors:


Building Library\Bee\artifacts\WebGL\ManagedStripped failed with output:
E:\Programs\2022.1.1f1\Editor\Data\il2cpp\build\deploy\UnityLinker.exe --search-directory=E:/Programs/unity progect/Drone/Drone/UnityProject/Library/Bee/PlayerScriptAssemblies --search-directory=E:/Programs/2022.1.1f1/Editor/Data/PlaybackEngines/WebGLSupport/Managed --search-directory=E:/Programs/unity progect/Drone/Drone/UnityProject/Library/PackageCache/[email protected]/Runtime/AOT --search-directory=E:/Programs/unity progect/Drone/Drone/UnityProject/Assets/Plugins/Zenject/Source/Usage --search-directory=E:/Programs/unity progect/Drone/Drone/UnityProject/Library/PackageCache/[email protected]/Runtime/VisualScripting.Flow/Dependencies/NCalc --search-directory=E:/Programs/2022.1.1f1/Editor/Data/MonoBleedingEdge/lib/mono/unityaot-linux --search-directory=E:/Programs/2022.1.1f1/Editor/Data/MonoBleedingEdge/lib/mono/unityaot-linux/Facades --out=Library/Bee/artifacts/WebGL/ManagedStripped --include-link-xml=E:/Programs/unity progect/Drone/Drone/UnityProject/Temp/StagingArea/Data/Managed\MethodsToPreserve.xml --include-link-xml=E:/Programs/unity progect/Drone/Drone/UnityProject/Temp/StagingArea/Data/Managed\TypesInScenes.xml --include-link-xml=E:/Programs/unity progect/Drone/Drone/UnityProject/Temp/StagingArea/Data/Managed\SerializedTypes.xml --include-link-xml=E:\Programs\unity progect\Drone\Drone\UnityProject\Assets\Plugins\Zenject\Source\Runtime\link.xml --include-link-xml=E:\Programs\unity progect\Drone\Drone\UnityProject\Assets\Plugins\Zenject\Source\Usage\link.xml --include-directory=E:/Programs/unity progect/Drone/Drone/UnityProject/Library/Bee/PlayerScriptAssemblies --include-directory=E:/Programs/2022.1.1f1/Editor/Data/PlaybackEngines/WebGLSupport/Managed --include-directory=E:/Programs/unity progect/Drone/Drone/UnityProject/Library/PackageCache/[email protected]/Runtime/AOT --include-directory=E:/Programs/unity progect/Drone/Drone/UnityProject/Assets/Plugins/Zenject/Source/Usage --include-directory=E:/Programs/unity progect/Drone/Drone/UnityProject/Library/PackageCache/[email protected]/Runtime/VisualScripting.Flow/Dependencies/NCalc --include-directory=E:/Programs/2022.1.1f1/Editor/Data/MonoBleedingEdge/lib/mono/unityaot-linux --include-directory=E:/Programs/2022.1.1f1/Editor/Data/MonoBleedingEdge/lib/mono/unityaot-linux/Facades --dotnetprofile=unityaot-linux --dotnetruntime=Il2Cpp --architecture=EmscriptenJavaScript --platform=WebGL --use-editor-options --enable-engine-module-stripping --engine-modules-asset-file=E:/Programs/2022.1.1f1/Editor/Data/PlaybackEngines/WebGLSupport/modules.asset --editor-data-file=E:/Programs/unity progect/Drone/Drone/UnityProject/Temp/StagingArea/Data/Managed/EditorToUnityLinkerData.json --include-unity-root-assembly=E:/Programs/unity progect/Drone/Drone/UnityProject/Library/Bee/PlayerScriptAssemblies/Assembly-CSharp-firstpass.dll --include-unity-root-assembly=E:/Programs/unity progect/Drone/Drone/UnityProject/Library/Bee/PlayerScriptAssemblies/Assembly-CSharp.dll --include-unity-root-assembly=E:/Programs/unity progect/Drone/Drone/UnityProject/Library/Bee/PlayerScriptAssemblies/Unity.TextMeshPro.dll --include-unity-root-assembly=E:/Programs/unity progect/Drone/Drone/UnityProject/Library/Bee/PlayerScriptAssemblies/UnityEngine.UI.dll --include-unity-root-assembly=E:/Programs/unity progect/Drone/Drone/UnityProject/Library/Bee/PlayerScriptAssemblies/Extenject-Async.dll --include-unity-root-assembly=E:/Programs/unity progect/Drone/Drone/UnityProject/Library/Bee/PlayerScriptAssemblies/Zenject.dll --print-command-line
Fatal error in Unity CIL Linker
Mono.Linker.LinkerFatalErrorException: E:\Programs\unity progect\Drone\Drone\UnityProject\Assets\Plugins\Zenject\Source\Editor\TestFramework\SceneTestFixture.cs(90,13): error IL1005: Zenject.SceneTestFixture.SetUp(): Error processing method 'Zenject.SceneTestFixture.SetUp()' in assembly 'Zenject-TestFramework.dll'
---> Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'nunit.framework, Version=3.5.0.0, Culture=neutral, PublicKeyToken=null'
at Unity.IL2CPP.Common.MissingMethodStubber.GetTypeModule(TypeReference type, IEnumerable`1 assemblies)
at Unity.Linker.Steps.AddUnresolvedStubsStep.MarkAssemblyOfType(UnityLinkContext context, TypeReference type)
at Unity.Linker.Steps.Marking.UnresolvedStubMarking.HandleUnresolvedType(TypeReference reference)
at Unity.Linker.Steps.UnityMarkStep.HandleUnresolvedType(TypeReference reference)
at Mono.Linker.Steps.MarkStep.MarkCustomAttributes(ICustomAttributeProvider provider, DependencyInfo& reason, IMemberDefinition sourceLocationMember)
at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method, DependencyInfo& reason)
at Unity.Linker.Steps.UnityMarkStep.ProcessMethod(MethodDefinition method, DependencyInfo& reason)
at Mono.Linker.Steps.MarkStep.ProcessQueue()
--- End of inner exception stack trace ---
at Mono.Linker.Steps.MarkStep.ProcessQueue()
at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
at Mono.Linker.Steps.MarkStep.Process()
at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
at Unity.Linker.Steps.UnityMarkStep.Process(LinkContext context)
at Unity.Linker.UnityPipeline.ProcessStep(LinkContext context, IStep step)
at Mono.Linker.Pipeline.Process(LinkContext context)
at Unity.Linker.UnityDriver.UnityRun(Boolean noProfilerAllowed, ILogger customLogger)
at Unity.Linker.UnityDriver.RunDriverWithoutErrorHandling(ILogger customLogger, Boolean noProfilerAllowed)
at Unity.Linker.UnityDriver.RunDriver()
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)


BuildFailedException: Incremental Player build failed!
UnityEditor.Modules.BeeBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at <93a8a0e4d90646a89754560ed9e0635a>:0)
UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:161)
UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <93a8a0e4d90646a89754560ed9e0635a>:0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.Int32 subtarget, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <93a8a0e4d90646a89754560ed9e0635a>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)


Build completed with a result of 'Failed' in 17 seconds (17374 ms)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)


UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002da] in <93a8a0e4d90646a89754560ed9e0635a>:0
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <93a8a0e4d90646a89754560ed9e0635a>:0
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

TickableManager is not able to handle Remove and Add in the same frame

Describe the bug
When manually adding/removing objects to/from the TickableManager an Assert exceptiion is thrown when doing so in the same frame

To Reproduce

  • Get the reference to the TickableManager in a class
  • Add for example the ILateUpdate interface to the class
  • call tickableManager.AddLate(this)
  • remove the object by calling tickableManager.RemoveLate(this)
  • add it again in the same frame with tickableManager.AddLate(this)

Note that there is an assertion exception saying "Assert hit! Duplicate task added to DependencyRoot with name XXX"
The task is marked as IsRemoved = TRUE but it is still in the list, IsRemoved is not checked by the assertion

Expected behavior
Since it can happen that objects get removed and added in the same frame I would expect that the TickableManager can handle this. When adding a Task which is already present and marked as IsRemoved, IsRemoved could be set to False and simply return.

Extenject and Unity info (please complete the following information):

  • Zenject version: 9.2.0
  • Unity version: 2021.3.5f1
  • Project's scripting backend: IL2CPP

Additional context
I'm instantiating GameObjects dynamically via a asset pool factory, when an object gets instantiated it gets disabled instantly. When the pool is empty when a new object is required it creates a new object, disables iut and enables it in the same frame which leads to this described issue

Project Context fails to inject properly in newly loaded scene on Windows build only.

Describe the bug
There is an issue when changing scenes and the newly loaded scene is trying to resolve its dependencies from the project context, on windows build only. Instances (monobehaviours) bound from the project context seems to be destroyed on scene change (this can be seen in the logs) even though they are present in the "DontDestroyOnLoad" scene.
The problem only occurs in windows builds. It works as intended in the editor itself.

To Reproduce

  • Clone project: https://github.com/sorenbn/extenject-bug
  • Open project and make a Windows build.
  • Play the game and click "Load Next Level" button.
  • Open the player log and notice Player(clone) has been destroyed on scene change and player is null when injected in the newly created scene.
    (C:\Users\USERNAME\AppData\LocalLow\DefaultCompany\extenject-bug\Player.log)

Expected behavior
Expected behaviour should be as the edtior behaviour. Player object should not be destroyed, and the scene context should be able to resolve its dependencies without trouble.

Extenject and Unity info (please complete the following information):

  • Zenject version: Extenject-9.2.1 (from releases page, but version.txt says 9.1.0)
  • Unity version: 2021.3.8f1
  • Project's scripting backend [e.g. Mono/IL2CPP]: mono

Additional context
When downgrading to old Zenject version (9.0.0) the bug is not present and the behaviour works as expected.

Installing via upm/git spams warnings due to sample games' scripts

Describe the bug

Whenever I open my project or recompilation of zenject is triggered, I several screens of warnings from extenject.

This makes it harder to spot real problems in my repo.

To Reproduce

Open a fresh unity project.

Add extenject as a upm git dependency:

Wait for import and watch 54 warnings appear in the console.

    "com.svermeulen.extenject": "https://github.com/Mathijs-Bakker/Extenject.git?path=/UnityProject/Assets/Plugins/Zenject",

These warnings re-appear on certain times when I develop without actually touching extenject. I'm not sure exactly why/when Unity sometimes decides to reimport extenject.

Expected behavior

A clean import with no warnings.

Screenshots

image

Extenject and Unity info (please complete the following information):

  • Zenject version: 5d39c2f
  • Unity version: 2021.3.8

I made an attempt to fix this here: modesttree#220

It kind of stalled because maybe it broke asset store and or .unitypackage installation of samples and I didn't have the time to investigate and fix potential issues for a build system I was not going to use anyway.

However a lot has happened since then. The original svermeulen/extenject repo and its PRs was hijacked by modesttree after the lawsuit and then the zenject project was once again abandoned.

I'm not sure if all 4 installation options listed in the readme are still supported? It would certainly make fixing this issue a lot easier if we can drop the asset store path and focus on the upm distribution only.

Importing Extenject into Unity from GitHub (via Packages/manifest.json) results in an error.

Describe the bug
Importing Extenject into Unity from GitHub (via Packages/manifest.json) results in an error.
To Reproduce

  1. Open Packages/manifest.json
  2. Add "com.svermeulen.extenject": "https://github.com/Mathijs-Bakker/Extenject.git?path=UnityProject/Assets/Plugins/Zenject/#9.2.0"
  3. After Unity finishes the import you get an error in the console saying: Unable to parse file Packages/com.svermeulen.extenject/package.json.meta: [Parser Failure at line 9: Expect ':' between key and value within mapping] This happens to extra newlines in package.json.meta which this PR: #16 fixes

Expected behavior
No errors in console.

Screenshots

Extenject and Unity info (please complete the following information):

  • Zenject version: 9.2.0
  • Unity version: 2020.3.18f1
  • Project's scripting backend IL2CPP

Additional context

Add a Scripting Define Symbol which shows the presence of Zenject in project

Is your feature request related to a problem? Please describe.
It is impossible for other plugin developers to know if the project uses Zenject or not. It forces other libraries to have their own dependency management system.

Describe the solution you'd like
If we add a Scripting Define Symbol such as ZENJECT_9 to the Unity project, other plugin developers can check for this symbol and change their dependency management and instantiation to work with Zenject.

Describe alternatives you've considered
It's also possible to do this with the new package manager. If all plugins are provided via Unity's Package Manager, it is possible to add symbols when a particular package is present.

Additional context
Odin Inspector also does this too. In project which Odin Inspector is present, symbol ODIN_INSPECTOR is defined. That way, other plugin developers can use Odin features only when user has Odin.

Inject Methods marked as 'unused' by C# analyser (IDE0051)

Describe the bug
Methods with the Inject attribute are marked as unused by the C# code analyser.
We have observed this in both Visual Studio, and VS Code with Omnisharp.

This is undesirable as we get false-positives for unused methods from the analyser and have to either ignore the warnings; or explicitly disable them with an additional attribute on each such method.

To Reproduce

  1. Create a new Unity project.
  2. Import Zenject.
  3. Setup Omnisharp for VS Code with "RoslynExtensionsOptions": { "enableAnalyzersSupport": true }; or use Visual Studio.
  4. Create a new C# script containing a single method with the Inject attribute.
  5. The method name will be dulled and the suggestion will appear to remove the unused method.

For completeness we should also create an installer and bind to the class, but doing so does not change the outcome.

Expected behavior
The method should not be marked as unused since it will be called by Zenject.

Screenshots
Screenshots of the issue in VS Code.
image image

Extenject and Unity info (please complete the following information):

  • Zenject version: 9.2.0
  • Unity version: 2020.3.33f1
  • Project's scripting backend [e.g. Mono/IL2CPP] IL2CPP

Additional context
The Jetbrains annotations used by Zenject don't appear to be considered by the out-of-the-box C# analyser (which makes sense).
I've been unable to find an acceptable workaround.
Perhaps there is another analyser we should be using instead?
Any help with this would be greatly appreciated.

Helps

Hi there! Guys, we need help, we launched our project and on some devices we get errors in the crash that the properties that we inject are null.
Errors are visible after users restore the session. As an example, the user minimized the application, opened it again after a couple of minutes and at that moment we get property errors

Fatal error in Unity CIL Linker when using ZenjectTestFramework and stripping is enabled - Failed to resolve assembly : NUnit

Describe the bug
Unity linker fail when building a project that use ZenjectTestFramework in project and stripping is enabled.

Building Library\Bee\artifacts\WinPlayerBuildProgram\ManagedStripped failed with output:
D:\Program Files\Unity\Hub\Editor\2022.2.3f1\Editor\Data\il2cpp\build\deploy\UnityLinker.exe --search-directory=D:/documents/dev/tests/buildissue/Test Build Issue/Library/Bee/PlayerScriptAssemblies --search-directory=D:/Program Files/Unity/Hub/Editor/2022.2.3f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Variations/il2cpp/Managed --search-directory=D:/documents/dev/tests/buildissue/Test Build Issue/Library/PackageCache/com.svermeulen.extenject@8495d61ceb/Usage --search-directory=D:/documents/dev/tests/buildissue/Test Build Issue/Library/PackageCache/[email protected]/Runtime/VisualScripting.Flow/Dependencies/NCalc --search-directory=D:/documents/dev/tests/buildissue/Test Build Issue/Library/PackageCache/[email protected] --search-directory=D:/documents/dev/tests/buildissue/Test Build Issue/Library/PackageCache/[email protected]/Runtime/AOT --search-directory=D:/Program Files/Unity/Hub/Editor/2022.2.3f1/Editor/Data/MonoBleedingEdge/lib/mono/unityaot-win32 --search-directory=D:/Program Files/Unity/Hub/Editor/2022.2.3f1/Editor/Data/MonoBleedingEdge/lib/mono/unityaot-win32/Facades --out=Library/Bee/artifacts/WinPlayerBuildProgram/ManagedStripped --include-link-xml=D:/documents/dev/tests/buildissue/Test Build Issue/Temp/StagingArea/Data/Managed\MethodsToPreserve.xml --include-link-xml=D:/documents/dev/tests/buildissue/Test Build Issue/Temp/StagingArea/Data/Managed\TypesInScenes.xml --include-link-xml=D:/documents/dev/tests/buildissue/Test Build Issue/Temp/StagingArea/Data/Managed\SerializedTypes.xml --include-directory=D:/documents/dev/tests/buildissue/Test Build Issue/Library/Bee/PlayerScriptAssemblies --include-directory=D:/Program Files/Unity/Hub/Editor/2022.2.3f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Variations/il2cpp/Managed --include-directory=D:/documents/dev/tests/buildissue/Test Build Issue/Library/PackageCache/com.svermeulen.extenject@8495d61ceb/Usage --include-directory=D:/documents/dev/tests/buildissue/Test Build Issue/Library/PackageCache/[email protected]/Runtime/VisualScripting.Flow/Dependencies/NCalc --include-directory=D:/documents/dev/tests/buildissue/Test Build Issue/Library/PackageCache/[email protected] --include-directory=D:/documents/dev/tests/buildissue/Test Build Issue/Library/PackageCache/[email protected]/Runtime/AOT --include-directory=D:/Program Files/Unity/Hub/Editor/2022.2.3f1/Editor/Data/MonoBleedingEdge/lib/mono/unityaot-win32 --include-directory=D:/Program Files/Unity/Hub/Editor/2022.2.3f1/Editor/Data/MonoBleedingEdge/lib/mono/unityaot-win32/Facades --profiler-report --profiler-output-file=D:/documents/dev/tests/buildissue/Test Build Issue/Library/Bee/artifacts/unitylinker_dwek.traceevents --dotnetprofile=unityaot-win32 --dotnetruntime=Il2Cpp --platform=WindowsDesktop --use-editor-options --engine-modules-asset-file=D:/Program Files/Unity/Hub/Editor/2022.2.3f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/modules.asset --editor-data-file=D:/documents/dev/tests/buildissue/Test Build Issue/Temp/StagingArea/Data/Managed/EditorToUnityLinkerData.json --include-unity-root-assembly=D:/documents/dev/tests/buildissue/Test Build Issue/Library/Bee/PlayerScriptAssemblies/Assembly-CSharp.dll --include-unity-root-assembly=D:/documents/dev/tests/buildissue/Test Build Issue/Library/Bee/PlayerScriptAssemblies/Unity.RenderPipelines.Core.Runtime.dll --include-unity-root-assembly=D:/documents/dev/tests/buildissue/Test Build Issue/Library/Bee/PlayerScriptAssemblies/Unity.RenderPipelines.Universal.Runtime.dll --include-unity-root-assembly=D:/documents/dev/tests/buildissue/Test Build Issue/Library/Bee/PlayerScriptAssemblies/Game.dll --print-command-line --enable-analytics
Fatal error in Unity CIL Linker
Mono.Linker.LinkerFatalErrorException: .\Library\PackageCache\com.svermeulen.extenject@8495d61ceb\Editor\TestFramework\SceneTestFixture.cs(90,13): error IL1005: Zenject.SceneTestFixture.SetUp(): Error processing method 'Zenject.SceneTestFixture.SetUp()' in assembly 'Zenject-TestFramework.dll'
 ---> Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'nunit.framework, Version=3.5.0.0, Culture=neutral, PublicKeyToken=null'
   at Unity.IL2CPP.Common.MissingMethodStubber.GetTypeModule(TypeReference type, IEnumerable`1 assemblies)
   at Unity.Linker.Steps.AddUnresolvedStubsStep.MarkAssemblyOfType(UnityLinkContext context, TypeReference type)
   at Unity.Linker.Steps.Marking.UnresolvedStubMarking.HandleUnresolvedType(TypeReference reference)
   at Unity.Linker.Steps.UnityMarkStep.HandleUnresolvedType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.MarkCustomAttributes(ICustomAttributeProvider provider, DependencyInfo& reason, IMemberDefinition sourceLocationMember)
   at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method, DependencyInfo& reason)
   at Unity.Linker.Steps.UnityMarkStep.ProcessMethod(MethodDefinition method, DependencyInfo& reason)
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   --- End of inner exception stack trace ---
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
   at Mono.Linker.Steps.MarkStep.Process()
   at Unity.Linker.Steps.UnityMarkStep.Process(LinkContext context)
   at Unity.Linker.UnityPipeline.ProcessStep(LinkContext context, IStep step)
   at Mono.Linker.Pipeline.Process(LinkContext context)
   at Unity.Linker.UnityDriver.UnityRun(UnityLinkContext context, UnityPipeline p, LinkRequest linkerOptions, TinyProfiler2 tinyProfiler, ILogger customLogger)
   at Unity.Linker.UnityDriver.RunDriverWithoutErrorHandling(TinyProfiler2 tinyProfiler, ILogger customLogger)
   at Unity.Linker.UnityDriver.RunDriverWithoutErrorHandling()
   at Unity.Linker.UnityDriver.RunDriver()

To Reproduce
Download the attached project and build OR :

  • Create a project
  • Add an assembly for the game scripts with one script
  • Add a test assembly (play mode) with a SceneTestFixture. The test assembly should reference the game assembly.

Extenject and Unity info (please complete the following information):

  • Zenject version: 9.3.1
  • Unity version: 2022.2.2f1 or 2022.2.3f1
  • Project's scripting backend : Mono with stripping or IL2CPP

Additional context
The issue disappear when stripping is disabled. The error occure with any stripping level.

Test Build Issue.zip

Unable to inject into MonoBehaviour from SubContainer

Describe the bug
While trying to bind MonoBehaviour in SubContainer (FromSubContainerResolve ByMethod) I cant inject anything (both field and method injection failed).

To Reproduce

  1. Create Installer and SubContainer, register in project/scene context
  2. Create MonoBehaviour class and bind it in SubContainer as FromInstance
  3. Bind any other stuff in SubContainer and try to inject it it MonoBehaviour class.
  4. Validate and play

Expected behavior
Scene validation succeeded

Extenject and Unity info (please complete the following information):

  • Zenject version: reproduced on 9.2.0, 9.2.1 and 9.3.0
  • Unity version: 2020.3.15f2
  • Project's scripting backend IL2CPP

Gist with files to reproduce
https://gist.github.com/JChudinov/cc4867ef1aef3fb7597d3831a66bb202

[Question] Injection on instantiated Scriptable Object from Game Object Context Installer

Hey guys, I'm stuck on something about Zenject/Extenject. Any one has any idea how I can fix that ?
btw, sorry for filing an issue here, I can't get my answer from anywhere.

I have Player gameObject with Game Object Context which instantiate Character prefab by factory and Charcater has Game Object Context. In CharacterController which is a facade class on Character I instantiate a few Scriptable Objects in this way:

private readonly DiContainer _container;

public ZenjectResourceFactory(DiContainer container)
{
    _container = container;
}
public Object Instantiate(Object @object)
{
    Object instance = Object.Instantiate(@object);
    _container.QueueForInject(instance);
    return instance;
}

In the Character Installer CharacterBehavior and CharacterPowerup are bound by Container.Bind<CharacterBehaviorContext>().AsSingle().NonLazy(); and Container.Bind<CharacterPowerupContext>().AsSingle().NonLazy();

But the issue is CharacterBehavior and CharacterPowerup are not injected into those Scriptable Objects [Inject] methods.

Link Checker Report

Link Checker

Errors were reported while checking the connectivity of links.

Documentation/Async.md
License.md
Documentation/CheatSheet.md
Documentation/MemoryPools.md
	OK	../README.md#binding
	OK	Factories.md
	OK	Factories.md#abstract-factories
	OK	Images/PoolMonitor.png?raw=true
Documentation/CompositeInstaller.md
	OK	./Images/CompositeInstaller/CompositeMonoInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeMonoInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCreateAsset.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInstall.jpg
NonUnityBuild/Zenject-Cecil/LICENSE.md
Documentation/Signals.md
	OK	../README.md#binding
	OK	../README.md#scene-parenting
	OK	../README.md#unirx-integration
Documentation/WritingAutomatedTests.md
	OK	https://docs.unity3d.com/Packages/[email protected]/manual/index.html
Documentation/SubContainers.md
	OK	../README.md#scene-bindings
	OK	../README.md#zenject-philophy
	OK	Images/ShipFacadeExample1.png?raw=true
	OK	https://en.wikipedia.org/wiki/Facade_pattern
Documentation/DecoratorBindings.md
	OK	../README.md#binding
	OK	https://en.wikipedia.org/wiki/Decorator_pattern
Documentation/Factories.md
	OK	../README.md#binding
	OK	../README.md#dicontainer-methods
	OK	../README.md#object-graph-validation
	OK	../README.md#theory
	OK	SubContainers.md
	OK	https://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/
	OK	https://docs.microsoft.com/en-us/dotnet/api/system.type.getfields?redirectedfrom=MSDN&view=netcore-3.1#System_Type_GetFields
Documentation/ReleaseNotes.md
	OK	../README.md#upgrading-from-zenject5
	OK	https://github.com/svermeulen/Zenject#optimization_notes
Documentation/AutoMocking.md
	OK	https://github.com/moq/moq4
	OK	https://nsubstitute.github.io
	OK	https://www.nuget.org/packages/NSubstitute/
	OK	https://www.nuget.org/packages/moq
NonUnityBuild/Zenject-Cecil/README.md
	OK	http://www.dotnetfoundation.org/
	OK	https://ci.appveyor.com/api/projects/status/fmhutmhidy1fahl4?svg=true
	OK	https://ci.appveyor.com/project/jbevain/cecil
	OK	https://github.com/jbevain/cecil.samples
	OK	https://github.com/jbevain/cecil/wiki/Users
	OK	https://groups.google.com/group/mono-cecil
CONTRIBUTING.md
	OK	https://discord.gg/T5y5TD
	OK	https://forum.unity.com
	OK	https://github.com/ktaranov/naming-convention/blob/master/C%23%20Coding%20Standards%20and%20Naming%20Conventions.md
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/compare
	OK	https://github.com/svermeulen/Extenject/issues/new?template=bug_report.md
	OK	https://github.com/svermeulen/Extenject/issues/new?template=feature_request.md
	OK	https://stackoverflow.com/questions/tagged/zenject
	ERROR	https://help.github.com/articles/markdown-basics/#multiple-lines
		Forbidden (HTTP error 403)
	ERROR	https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests
		Forbidden (HTTP error 403)
Documentation/lawsuit.md
	OK	https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://github.com/modesttree/Projeny
	OK	https://img.shields.io/badge/Projeny-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/badge/Unity3dAsyncAwaitUtil-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=Modest%20Tree%20Filing%20Against%20Me&color=red&url=https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=My%20Defense%20Filing&color=success&url=https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://paypal.me/stevevermeulen
	OK	https://www.patreon.com/extenject
Documentation/GamesThatUseZenject.md
	OK	https://apps.apple.com/de/app/idle-farming-empire/id1018795567?mt=8&ign-mpt=uo%3D4
	OK	https://apps.apple.com/us/app/bedtimemath/id637910701
	OK	https://apps.apple.com/us/app/ingress-prime/id576505181
	OK	https://apps.apple.com/us/app/nova-black-holes/id1114574985
	OK	https://apps.apple.com/us/app/pokemon-go/id1094591345
	OK	https://apps.apple.com/us/app/slugterra-guardian-force/id1043738296
	OK	https://apps.apple.com/us/app/toy-clash-ar/id1274066398
	OK	https://beatsaber.com
	OK	https://bedtimemath.org/what-we-do/apps/
	OK	https://furylion.net
	OK	https://github.com/EcsRx/ecsrx
	OK	https://github.com/cgarciae/karma
	OK	https://github.com/ecsrx/ecsrx.unity
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/svermeulen/Extenject/issues/179
	OK	https://itunes.apple.com/gb/app/stick-soccer-2/id1104214157?mt=8
	OK	https://itunes.apple.com/us/app/id1404769349
	OK	https://kafkaris.com/2019/03/08/spinifex-group-jasper-dome/
	OK	https://kafkaris.com/2019/12/15/spinifex-group-honda-mobile-product-guide/
	OK	https://kafkaris.com/2020/01/15/spinifex-group-gpj-yonex-australian-open/
	OK	https://misfitlabs.itch.io/space-shooter
	OK	https://play.google.com/store/apps/details?id=com.SmoreGames.WordWinner
	OK	https://play.google.com/store/apps/details?id=com.futureplay.boots
	OK	https://play.google.com/store/apps/details?id=com.nerdcorps.slugthree&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticlabs.pokemongo&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticproject.ingress&hl=en_US
	OK	https://play.google.com/store/apps/details?id=com.twofours.bedtimemath
	OK	https://pokemongolive.com/
	OK	https://store.playstation.com/en-cz/product/EP5067-CUSA14143_00-BEATSABERFULL000
	OK	https://store.playstation.com/en-sg/product/HP3823-CUSA11820_00-0000000000000000
	OK	https://store.steampowered.com/app/620360/Toy_Clash/
	OK	https://store.steampowered.com/app/620980/Beat_Saber/
	OK	https://toyclash.com/
	OK	https://user-images.githubusercontent.com/7645831/95634748-e5142780-0a8a-11eb-9a90-37474824cc85.png
	OK	https://user-images.githubusercontent.com/7645831/95634750-e6455480-0a8a-11eb-8586-2d9aad47d83f.png
	OK	https://user-images.githubusercontent.com/7645831/95634751-e6ddeb00-0a8a-11eb-9ee1-2a755fd72e81.png
	OK	https://user-images.githubusercontent.com/7645831/95634753-e7768180-0a8a-11eb-8768-e75801f05a76.png
	OK	https://user-images.githubusercontent.com/7645831/95634818-12f96c00-0a8b-11eb-8532-730fe0bb941c.png
	OK	https://user-images.githubusercontent.com/7645831/95634819-142a9900-0a8b-11eb-8b75-5847aa6e423c.png
	OK	https://user-images.githubusercontent.com/7645831/95634820-142a9900-0a8b-11eb-8605-1103bb78e491.png
	OK	https://user-images.githubusercontent.com/7645831/95634822-14c32f80-0a8b-11eb-9be8-d85d2974540e.png
	OK	https://user-images.githubusercontent.com/7645831/95634823-155bc600-0a8b-11eb-9f13-e809b48e6f97.png
	OK	https://user-images.githubusercontent.com/7645831/95634860-2c9ab380-0a8b-11eb-8cf9-f4876fcaa39a.png
	OK	https://user-images.githubusercontent.com/7645831/95634862-2d334a00-0a8b-11eb-9b97-85387a86a763.png
	OK	https://user-images.githubusercontent.com/7645831/95634863-2dcbe080-0a8b-11eb-860a-7aafadb32758.png
	OK	https://user-images.githubusercontent.com/7645831/95634866-2e647700-0a8b-11eb-8c85-b4669e570ff1.png
	OK	https://user-images.githubusercontent.com/7645831/95634895-3cb29300-0a8b-11eb-814f-69d13c522308.png
	OK	https://user-images.githubusercontent.com/7645831/95634900-3d4b2980-0a8b-11eb-8706-b0976a3bdc9d.png
	OK	https://user-images.githubusercontent.com/7645831/95634901-3de3c000-0a8b-11eb-8595-a1e7f7118016.png
	OK	https://user-images.githubusercontent.com/7645831/95634902-3de3c000-0a8b-11eb-814d-757af61e1dd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634906-3e7c5680-0a8b-11eb-8bde-e4292b10ed0f.png
	OK	https://user-images.githubusercontent.com/7645831/95634931-4b994580-0a8b-11eb-86bf-e3419d182a67.png
	OK	https://user-images.githubusercontent.com/7645831/95634932-4c31dc00-0a8b-11eb-914f-4245841a1ee4.png
	OK	https://user-images.githubusercontent.com/7645831/95634933-4c31dc00-0a8b-11eb-8cce-4c9d0d5805af.png
	OK	https://user-images.githubusercontent.com/7645831/95634934-4cca7280-0a8b-11eb-8eab-114bb6b2ddd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634952-55bb4400-0a8b-11eb-8204-b52c640868b5.png
	OK	https://user-images.githubusercontent.com/7645831/95634955-5653da80-0a8b-11eb-99d5-e360dfcbf164.png
	OK	https://user-images.githubusercontent.com/7645831/95634956-56ec7100-0a8b-11eb-9341-5c2f531be0c5.png
	OK	https://user-images.githubusercontent.com/7645831/95634957-56ec7100-0a8b-11eb-922f-e27d12ed1505.png
	OK	https://user-images.githubusercontent.com/7645831/95634959-57850780-0a8b-11eb-81cf-6b0650edec8e.png
	OK	https://user-images.githubusercontent.com/7645831/95651927-c7c47500-0aed-11eb-917a-676a1bf14ae4.png
	OK	https://user-images.githubusercontent.com/7645831/95662777-a8ebd000-0b39-11eb-8fd2-07923e48a349.png
	OK	https://user-images.githubusercontent.com/7645831/95662778-a9846680-0b39-11eb-9cd9-ab8bd459f436.png
	OK	https://user-images.githubusercontent.com/7645831/95662779-aa1cfd00-0b39-11eb-9b27-566a8a600aae.png
	OK	https://user-images.githubusercontent.com/7645831/95662780-aab59380-0b39-11eb-81d0-431aab26d1db.png
	OK	https://user-images.githubusercontent.com/7645831/95662781-ab4e2a00-0b39-11eb-8bcd-f199dfe484c5.png
	OK	https://user-images.githubusercontent.com/7645831/95662811-dfc1e600-0b39-11eb-8558-d99f9fd126df.png
	OK	https://user-images.githubusercontent.com/7645831/95662814-e18ba980-0b39-11eb-8d36-d4ad5674ba79.png
	OK	https://user-images.githubusercontent.com/7645831/95662815-e2244000-0b39-11eb-8634-4f547e792c92.png
	OK	https://user-images.githubusercontent.com/7645831/95662816-e2bcd680-0b39-11eb-832a-fa288d3adc23.png
	OK	https://user-images.githubusercontent.com/7645831/95662817-e2bcd680-0b39-11eb-9ddd-0bb3e0788fac.png
	OK	https://user-images.githubusercontent.com/7645831/95662823-f5cfa680-0b39-11eb-97f5-8659089285cb.png
	OK	https://user-images.githubusercontent.com/7645831/95662825-f700d380-0b39-11eb-84ff-2211501667bc.png
	OK	https://user-images.githubusercontent.com/7645831/95662826-f700d380-0b39-11eb-862a-d645dddc775d.png
	OK	https://user-images.githubusercontent.com/7645831/95662827-f7996a00-0b39-11eb-8881-2a059b5069d8.png
	OK	https://user-images.githubusercontent.com/7645831/95662829-f8320080-0b39-11eb-862e-5743b5e122fa.png
	OK	https://user-images.githubusercontent.com/7645831/95665315-8fee1980-0b4f-11eb-9567-fb27d6138267.png
	OK	https://user-images.githubusercontent.com/7645831/95665320-92507380-0b4f-11eb-8177-eb45f98ce142.png
	OK	https://user-images.githubusercontent.com/7645831/95665322-9381a080-0b4f-11eb-932e-c10602e5f8a7.png
	OK	https://user-images.githubusercontent.com/7645831/95665324-941a3700-0b4f-11eb-939c-9520bfc20432.png
	OK	https://user-images.githubusercontent.com/7645831/95665326-94b2cd80-0b4f-11eb-8c24-acc6411f773e.png
	OK	https://user-images.githubusercontent.com/7645831/95665336-a09e8f80-0b4f-11eb-9f04-460ceb038c0a.png
	OK	https://user-images.githubusercontent.com/7645831/95665337-a1372600-0b4f-11eb-9c6b-89c2af6bbf91.png
	OK	https://user-images.githubusercontent.com/7645831/95665339-a1cfbc80-0b4f-11eb-9389-6b156b7da0b6.png
	OK	https://user-images.githubusercontent.com/7645831/95665346-b613b980-0b4f-11eb-8111-6afa5d3410fb.png
	OK	https://user-images.githubusercontent.com/7645831/95665348-b744e680-0b4f-11eb-997e-1a28577676b7.png
	OK	https://user-images.githubusercontent.com/7645831/95665349-b744e680-0b4f-11eb-85ca-9b8c102f62b9.png
	OK	https://user-images.githubusercontent.com/7645831/95665350-b7dd7d00-0b4f-11eb-9463-03421cadaeee.png
	OK	https://user-images.githubusercontent.com/7645831/95665351-b8761380-0b4f-11eb-8483-5df5913b070d.png
	OK	https://user-images.githubusercontent.com/7645831/95665360-caf04d00-0b4f-11eb-907b-87947d657fb3.png
	OK	https://user-images.githubusercontent.com/7645831/95665361-cb88e380-0b4f-11eb-9f57-78b59277a927.png
	OK	https://user-images.githubusercontent.com/7645831/95665362-cc217a00-0b4f-11eb-8e81-4f6a08613df8.png
	OK	https://user-images.githubusercontent.com/7645831/95665364-cc217a00-0b4f-11eb-85ec-f1fcd112d304.png
	OK	https://user-images.githubusercontent.com/7645831/95665365-cd52a700-0b4f-11eb-9a25-ce285a02462f.png
	OK	https://user-images.githubusercontent.com/7645831/95665378-e2c7d100-0b4f-11eb-92cd-04eaa3819c50.png
	OK	https://user-images.githubusercontent.com/7645831/95665380-e3f8fe00-0b4f-11eb-98fe-26723822a03e.png
	OK	https://user-images.githubusercontent.com/7645831/95665381-e3f8fe00-0b4f-11eb-9e57-b4844d48e8e4.png
	OK	https://user-images.githubusercontent.com/7645831/95665382-e4919480-0b4f-11eb-8435-80f2db9eec50.png
	OK	https://user-images.githubusercontent.com/7645831/95665384-e5c2c180-0b4f-11eb-8408-672db63d6527.png
	OK	https://user-images.githubusercontent.com/7645831/95666017-ebbba100-0b55-11eb-863a-e9020be7c8af.png
	OK	https://user-images.githubusercontent.com/7645831/95666020-eeb69180-0b55-11eb-8ffd-c25515bfca1a.png
	OK	https://user-images.githubusercontent.com/7645831/95666022-efe7be80-0b55-11eb-9e46-186fbf922937.png
	OK	https://user-images.githubusercontent.com/7645831/95666023-efe7be80-0b55-11eb-9646-8fc42a630a85.png
	OK	https://user-images.githubusercontent.com/7645831/95666024-f0805500-0b55-11eb-9a74-09762c626bb6.png
	OK	https://user-images.githubusercontent.com/7645831/95672778-dd947180-0ba3-11eb-9144-c188ac7b2c17.png
	OK	https://user-images.githubusercontent.com/7645831/95672780-e08f6200-0ba3-11eb-9291-911e0c05da17.png
	OK	https://user-images.githubusercontent.com/7645831/95672782-e127f880-0ba3-11eb-9bfe-c9e64635081e.png
	OK	https://user-images.githubusercontent.com/7645831/95672783-e1c08f00-0ba3-11eb-9032-1e3a92fa74b9.png
	OK	https://user-images.githubusercontent.com/7645831/95672784-e2592580-0ba3-11eb-868a-4d202b7e5483.png
	OK	https://user-images.githubusercontent.com/7645831/95672798-f0a74180-0ba3-11eb-9263-9c63faa1a5b7.png
	OK	https://user-images.githubusercontent.com/7645831/95672799-f13fd800-0ba3-11eb-9db2-f2c82ff5c29f.png
	OK	https://user-images.githubusercontent.com/7645831/95672800-f1d86e80-0ba3-11eb-85ec-1c70b8dbeae6.png
	OK	https://user-images.githubusercontent.com/7645831/95672802-f3099b80-0ba3-11eb-8d38-22eecd86c6dd.png
	OK	https://user-images.githubusercontent.com/7645831/95672811-087ec580-0ba4-11eb-8994-dc383608a57f.png
	OK	https://user-images.githubusercontent.com/7645831/95672813-09175c00-0ba4-11eb-83f5-cf92f145ffd6.png
	OK	https://user-images.githubusercontent.com/7645831/95672814-09aff280-0ba4-11eb-8a2d-ced40e2188e0.png
	OK	https://user-images.githubusercontent.com/7645831/95672815-09aff280-0ba4-11eb-9a40-11f77b12cbf0.png
	OK	https://user-images.githubusercontent.com/7645831/95672816-0a488900-0ba4-11eb-840f-6781ab146068.png
	OK	https://user-images.githubusercontent.com/7645831/95672881-7e832c80-0ba4-11eb-98d7-08b23156e212.png
	OK	https://user-images.githubusercontent.com/7645831/95685582-fc712300-0bf8-11eb-81d7-4d01a617616e.png
	OK	https://user-images.githubusercontent.com/7645831/95685629-422deb80-0bf9-11eb-861e-ef8171c92137.png
	OK	https://user-images.githubusercontent.com/7645831/95685630-42c68200-0bf9-11eb-9e6c-39c8769ad28f.png
	OK	https://user-images.githubusercontent.com/7645831/95685633-51ad3480-0bf9-11eb-82c8-077a9e410a5a.png
	OK	https://user-images.githubusercontent.com/7645831/95685635-54a82500-0bf9-11eb-99cf-e7da86704197.png
	OK	https://www.airconsole.com/#!play=com.octopusgames.golfriends
	OK	https://www.buildawaygame.com
	OK	https://www.epicstoryinteractive.com
	OK	https://www.farmawaygame.com
	OK	https://www.ingress.com
	OK	https://www.microsoft.com/de-de/p/toy-clash/9pn9vbjl9ld4?ocid=badge&rtc=1&activetab=pivot:overviewtab
	OK	https://www.misfitlabs.dev
	OK	https://www.oculus.com/experiences/gear-vr/1407846952568081/
	OK	https://www.oculus.com/experiences/rift/1304877726278670/
	OK	https://www.pbslearningmedia.org/resource/nvbh-sci-blackholesguide/wgbh-nova-black-holes-app-educator-guide/
	OK	https://www.sticksports.com/stick-soccer-2/
	ERROR	https://apps.apple.com/app/id1079852672
		Not Found (HTTP error 404)
	ERROR	https://play.google.com/store/apps/details?id=com.fiveminlab.toyclash.daydream
		Not Found (HTTP error 404)
	ERROR	https://play.google.com/store/apps/details?id=com.futureplay.city
		Not Found (HTTP error 404)
README.md
	OK	Documentation/AutoMocking.md
	OK	Documentation/CheatSheet.md
	OK	Documentation/CompositeInstaller.md
	OK	Documentation/DecoratorBindings.md
	OK	Documentation/Factories.md
	OK	Documentation/Factories.md#custom-factories
	OK	Documentation/GamesThatUseZenject.md
	OK	Documentation/Images/AutoBind1.png?raw=true
	OK	Documentation/Images/ExtenjectMainHeader.png
	OK	Documentation/MemoryPools.md
	OK	Documentation/ReleaseNotes.md
	OK	Documentation/Signals.md
	OK	Documentation/SubContainers.md
	OK	Documentation/WritingAutomatedTests.md
	OK	http://en.wikipedia.org/wiki/Single_responsibility_principle
	OK	http://www.gamasutra.com/blogs/RubenTorresBonet/20180703/316442/A_better_architecture_for_Unity_projects.php
	OK	http://www.reddit.com/r/zenject
	OK	https://assetstore.unity.com/packages/templates/packs/push-the-squares-69780
	OK	https://assetstore.unity.com/packages/templates/packs/quick-golf-67900
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-framework-157735
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-ioc-157735
	OK	https://docs.unity3d.com/Manual/MultiSceneEditing.html
	OK	https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html
	OK	https://docs.unity3d.com/ScriptReference/Object.FindObjectsOfType.html
	OK	https://en.wikipedia.org/wiki/Facade_pattern
	OK	https://forum.unity.com/threads/request-for-world-addmanager.539271/#post-3558224
	OK	https://gist.github.com/svermeulen/8927b29b2bfab4e84c950b6788b0c677
	OK	https://gist.github.com/svermeulen/a6929e6e26f2de2cc697d24f108c5f85
	OK	https://github.com/Crabar/Craberoid-3.0
	OK	https://github.com/Mathijs-Bakker/Extenject
	OK	https://github.com/Mathijs-Bakker/Extenject/actions/workflows/main.yml
	OK	https://github.com/Mathijs-Bakker/Extenject/actions/workflows/main.yml/badge.svg
	OK	https://github.com/Mathijs-Bakker/Extenject/issues/2
	OK	https://github.com/Mathijs-Bakker/Extenject/releases
	OK	https://github.com/Mathijs-Bakker/Zenject-Hero
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/jbevain/cecil
	OK	https://github.com/mob-sakai/UpmGitExtension
	OK	https://github.com/modesttree/Zenject/issues/168
	OK	https://github.com/modesttree/zenject
	OK	https://github.com/neuecc/UniRx
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/ssannandeji/Zenject-2019/issues/275
	OK	https://github.com/ssannandeji/Zenject-2019/issues/301
	OK	https://github.com/starikcetin/Extenject/tree/upm
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/issues/24
	OK	https://github.com/svermeulen/Extenject/releases
	OK	https://github.com/svermeulen/Extenject/tree/0b4a15b1e6e680c94fd34a2d7420eb41e320b21b
	OK	https://github.com/svermeulen/Extenject/tree/dc019e31dbae09eb53c1638be00f7f002898956c
	OK	https://github.com/svermeulen/Extenject/tree/f0dd30ad451dcbc3eb17e636455a6c89b14ad537
	OK	https://github.com/svermeulen/IocPerformance
	OK	https://github.com/svermeulen/UnityCoroutinesWithoutMonoBehaviours
	OK	https://github.com/svermeulen/ZenjectSignalsOld
	OK	https://gitter.im/Extenject/community
	OK	https://gitter.im/Extenject/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
	OK	https://grofit.gitbooks.io/development-for-winners/content/
	OK	https://groups.google.com/forum/#!forum/zenject/
	OK	https://img.shields.io/github/contributors/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/last-commit/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/license/Mathijs-Bakker/Extenject
	OK	https://img.shields.io/github/v/release/Mathijs-Bakker/Extenject?color=green
	OK	https://img.shields.io/static/v1?label=Gitter&labelColor=ED1965&message=Support&color=grey&logo=Gitter&logoColor=White&url=https://gitter.im/Extenject/community
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=GitHub%20Releases&labelColor=181717&message=Downloads&color=green&logo=GitHub&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Asset%20Store&labelColor=181717&message=Download&color=green&logo=Unity&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Package&labelColor=181717&message=UPM&color=green&logo=Unity&logoColor=white
	OK	https://stackoverflow.com/questions/ask
	OK	https://www.udemy.com/dependency-injection-in-unity3d-using-zenject/
	OK	https://www.youtube.com/watch?v=Bcj35ceGCn0&list=PLyH-qXFkNSxnJbZLrxF0jWGyHB-8Kcd5q
	OK	https://www.youtube.com/watch?v=IS2YUIb_w_M&list=PLKERDLXpXl_jNJPY2czQcfPXW4BJaGZc_
	ERROR	http://codemanship.co.uk/parlezuml/blog/?postid=934
		Internal Server Error (HTTP error 500)
	ERROR	https://twitter.com/steve_verm
		Dialing to the given TCP address timed out

Auto-mocking extension code was removed

In commit 2c29dc2 the zip files used for auto-mocking in unit and integration tests were removed.

While those zip files did contain copies of the mocking libraries (Moq and NSubstitute), and those libraries can be obtained from other sources such as nuget (the docs were later updated to reflect that). However, the zip files also contained some Zenject-specific code to provide the extension methods that are discussed in the code samples in the auto-mocking documentation.

Currently it seems that the auto-mocking documentation cannot be followed as the extension methods are unavailable even when the third-party mocking libraries are installed. The documentation for auto-mocking should perhaps be removed, or possibly the necessary code should be added back into the repo from those zip files. I'm not sure if the latter option is possible as that code likely would not build unless the library it depends upon is present.

ZenjectSignalsOld is not supporting the new versions of zenject

When i upgrade my unity project from 2018 to 2020 .I am getting issue related to zenject. So i update zenject from 6.0 to 9 version. I am also using zenjectsignalold in my project .Zenjectsignalold is now not supporting zenject. Is it possible you support the zenjectsignalold with new zenject version?

ArgumentNullException when using UI Toolkit and Extenject on WebGL

Describe the bug
An "ArgumentNullException: Value cannot be null." appears when SceneContext is added to a scene with UI Document (UI Toolkit component) in scene and the project is built for WebGL. Also, the injection does not seem to happen after that error appears.

To Reproduce
Steps to reproduce the behavior:

  1. Create an empty project.
  2. Create an empty UI Document (uxml) file.
  3. Add UIDocument MonoBehaviour to the scene, add the uxml file to it along with the default panel settings.
  4. Add Zenject/SceneContext MonoBehaviour.
  5. Build project
  6. Deploy/run the build. The error will appear in the browser console:

ArgumentNullException: Value cannot be null.
Parameter name: e
at UnityEngine.UIElements.UQueryExtensions.Query (UnityEngine.UIElements.VisualElement e)

Expected behavior
There should be no exception and the injection should happen

Screenshots
InjectionBug

Extenject and Unity info:

  • Zenject version: 9.3.1
  • Unity version: 2021.3.11f1
  • L2CPP

Additional context
The sample repro project is attached:
UIToolkitIssue.zip

Link Checker Report

Link Checker

Errors were reported while checking the connectivity of links.

Documentation/Async.md
Documentation/MemoryPools.md
	OK	../README.md#binding
	OK	Factories.md
	OK	Factories.md#abstract-factories
	OK	Images/PoolMonitor.png?raw=true
License.md
NonUnityBuild/Zenject-Cecil/LICENSE.md
Documentation/CheatSheet.md
Documentation/CompositeInstaller.md
	OK	./Images/CompositeInstaller/CompositeMonoInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeMonoInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCircularReference.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerCreateAsset.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInspector.jpg
	OK	./Images/CompositeInstaller/CompositeScriptableObjectInstallerInstall.jpg
Documentation/Signals.md
	OK	../README.md#binding
	OK	../README.md#scene-parenting
	OK	../README.md#unirx-integration
Documentation/SubContainers.md
	OK	../README.md#scene-bindings
	OK	../README.md#zenject-philophy
	OK	Images/ShipFacadeExample1.png?raw=true
	OK	https://en.wikipedia.org/wiki/Facade_pattern
Documentation/DecoratorBindings.md
	OK	../README.md#binding
	OK	https://en.wikipedia.org/wiki/Decorator_pattern
Documentation/WritingAutomatedTests.md
	OK	https://docs.unity3d.com/Packages/[email protected]/manual/index.html
Documentation/Factories.md
	OK	../README.md#binding
	OK	../README.md#dicontainer-methods
	OK	../README.md#object-graph-validation
	OK	../README.md#theory
	OK	SubContainers.md
	OK	https://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/
	OK	https://docs.microsoft.com/en-us/dotnet/api/system.type.getfields?redirectedfrom=MSDN&view=netcore-3.1#System_Type_GetFields
Documentation/AutoMocking.md
	OK	https://github.com/moq/moq4
	OK	https://nsubstitute.github.io
NonUnityBuild/Zenject-Cecil/README.md
	OK	http://www.dotnetfoundation.org/
	OK	https://ci.appveyor.com/api/projects/status/fmhutmhidy1fahl4?svg=true
	OK	https://ci.appveyor.com/project/jbevain/cecil
	OK	https://github.com/jbevain/cecil.samples
	OK	https://github.com/jbevain/cecil/wiki/Users
	OK	https://groups.google.com/group/mono-cecil
Documentation/ReleaseNotes.md
	OK	../README.md#upgrading-from-zenject5
	OK	https://github.com/svermeulen/Zenject#optimization_notes
README.md
	OK	Documentation/AutoMocking.md
	OK	Documentation/CheatSheet.md
	OK	Documentation/CompositeInstaller.md
	OK	Documentation/DecoratorBindings.md
	OK	Documentation/Factories.md
	OK	Documentation/Factories.md#custom-factories
	OK	Documentation/GamesThatUseZenject.md
	OK	Documentation/Images/AutoBind1.png?raw=true
	OK	Documentation/Images/ExtenjectMainHeader.png
	OK	Documentation/MemoryPools.md
	OK	Documentation/ReleaseNotes.md
	OK	Documentation/Signals.md
	OK	Documentation/SubContainers.md
	OK	Documentation/WritingAutomatedTests.md
	OK	http://codemanship.co.uk/parlezuml/blog/?postid=934
	OK	http://en.wikipedia.org/wiki/Single_responsibility_principle
	OK	http://www.gamasutra.com/blogs/RubenTorresBonet/20180703/316442/A_better_architecture_for_Unity_projects.php
	OK	http://www.reddit.com/r/zenject
	OK	https://assetstore.unity.com/packages/templates/packs/push-the-squares-69780
	OK	https://assetstore.unity.com/packages/templates/packs/quick-golf-67900
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-framework-157735
	OK	https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-ioc-157735
	OK	https://docs.unity3d.com/Manual/MultiSceneEditing.html
	OK	https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html
	OK	https://docs.unity3d.com/ScriptReference/Object.FindObjectsOfType.html
	OK	https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://en.wikipedia.org/wiki/Facade_pattern
	OK	https://forum.unity.com/threads/request-for-world-addmanager.539271/#post-3558224
	OK	https://gist.github.com/svermeulen/8927b29b2bfab4e84c950b6788b0c677
	OK	https://gist.github.com/svermeulen/a6929e6e26f2de2cc697d24f108c5f85
	OK	https://github.com/Crabar/Craberoid-3.0
	OK	https://github.com/Mathijs-Bakker/Zenject-Hero
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/jbevain/cecil
	OK	https://github.com/mob-sakai/UpmGitExtension
	OK	https://github.com/modesttree/Projeny
	OK	https://github.com/modesttree/Zenject/commit/2cbbf11b344d083cc697d8b248acf41520d72da3
	OK	https://github.com/modesttree/Zenject/issues/168
	OK	https://github.com/modesttree/zenject
	OK	https://github.com/neuecc/UniRx
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/starikcetin/Extenject/tree/upm
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/issues/2
	OK	https://github.com/svermeulen/Extenject/issues/24
	OK	https://github.com/svermeulen/Extenject/releases
	OK	https://github.com/svermeulen/Extenject/tree/0b4a15b1e6e680c94fd34a2d7420eb41e320b21b
	OK	https://github.com/svermeulen/Extenject/tree/dc019e31dbae09eb53c1638be00f7f002898956c
	OK	https://github.com/svermeulen/Extenject/tree/f0dd30ad451dcbc3eb17e636455a6c89b14ad537
	OK	https://github.com/svermeulen/Extenject/workflows/Continuous%20Integration/badge.svg?branch=master
	OK	https://github.com/svermeulen/IocPerformance
	OK	https://github.com/svermeulen/UnityCoroutinesWithoutMonoBehaviours
	OK	https://github.com/svermeulen/ZenjectSignalsOld
	OK	https://gitter.im/Extenject/community
	OK	https://gitter.im/Extenject/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
	OK	https://grofit.gitbooks.io/development-for-winners/content/
	OK	https://groups.google.com/forum/#!forum/zenject/
	OK	https://img.shields.io/badge/Projeny-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/badge/Unity3dAsyncAwaitUtil-181717?logo=GitHub&logoColor=white
	OK	https://img.shields.io/github/contributors/svermeulen/Extenject
	OK	https://img.shields.io/github/last-commit/svermeulen/Extenject
	OK	https://img.shields.io/github/license/svermeulen/Extenject
	OK	https://img.shields.io/github/release-date/svermeulen/Extenject
	OK	https://img.shields.io/github/v/release/svermeulen/Extenject?color=green
	OK	https://img.shields.io/static/v1?label=Gitter&labelColor=ED1965&message=Support&color=grey&logo=Gitter&logoColor=White&url=https://gitter.im/Extenject/community
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=Modest%20Tree%20Filing%20Against%20Me&color=red&url=https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF
	OK	https://img.shields.io/static/v1?label=Public%20PDF&message=My%20Defense%20Filing&color=success&url=https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=GitHub%20Releases&labelColor=181717&message=Downloads&color=green&logo=GitHub&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Asset%20Store&labelColor=181717&message=Download&color=green&logo=Unity&logoColor=white
	OK	https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Package&labelColor=181717&message=UPM&color=green&logo=Unity&logoColor=white
	OK	https://paypal.me/stevevermeulen
	OK	https://stackoverflow.com/questions/ask
	OK	https://twitter.com/steve_verm
	OK	https://www.patreon.com/extenject
	OK	https://www.udemy.com/dependency-injection-in-unity3d-using-zenject/
	OK	https://www.youtube.com/watch?v=Bcj35ceGCn0&list=PLyH-qXFkNSxnJbZLrxF0jWGyHB-8Kcd5q
	OK	https://www.youtube.com/watch?v=IS2YUIb_w_M&list=PLKERDLXpXl_jNJPY2czQcfPXW4BJaGZc_
	ERROR	https://github.com/modesttree/Zenject/issues/275#issuecomment-377619400
		Not Found (HTTP error 404)
	ERROR	https://github.com/modesttree/Zenject/issues/301
		Not Found (HTTP error 404)
CONTRIBUTING.md
	OK	https://discord.gg/T5y5TD
	OK	https://forum.unity.com
	OK	https://github.com/ktaranov/naming-convention/blob/master/C%23%20Coding%20Standards%20and%20Naming%20Conventions.md
	OK	https://github.com/svermeulen/Extenject
	OK	https://github.com/svermeulen/Extenject/compare
	OK	https://github.com/svermeulen/Extenject/issues/new?template=bug_report.md
	OK	https://github.com/svermeulen/Extenject/issues/new?template=feature_request.md
	OK	https://help.github.com/articles/markdown-basics/#multiple-lines
	OK	https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests
	OK	https://stackoverflow.com/questions/tagged/zenject
Documentation/GamesThatUseZenject.md
	OK	https://apps.apple.com/app/id1079852672
	OK	https://apps.apple.com/de/app/idle-farming-empire/id1018795567?mt=8&ign-mpt=uo%3D4
	OK	https://apps.apple.com/us/app/bedtimemath/id637910701
	OK	https://apps.apple.com/us/app/ingress-prime/id576505181
	OK	https://apps.apple.com/us/app/nova-black-holes/id1114574985
	OK	https://apps.apple.com/us/app/pokemon-go/id1094591345
	OK	https://apps.apple.com/us/app/slugterra-guardian-force/id1043738296
	OK	https://apps.apple.com/us/app/toy-clash-ar/id1274066398
	OK	https://beatsaber.com
	OK	https://furylion.net
	OK	https://github.com/EcsRx/ecsrx
	OK	https://github.com/cgarciae/karma
	OK	https://github.com/ecsrx/ecsrx.unity
	OK	https://github.com/grofit/ecsrx.roguelike2d
	OK	https://github.com/shiwano/submarine
	OK	https://github.com/svermeulen/Extenject/issues/179
	OK	https://itunes.apple.com/gb/app/stick-soccer-2/id1104214157?mt=8
	OK	https://itunes.apple.com/us/app/id1404769349
	OK	https://kafkaris.com/2019/03/08/spinifex-group-jasper-dome/
	OK	https://kafkaris.com/2019/12/15/spinifex-group-honda-mobile-product-guide/
	OK	https://kafkaris.com/2020/01/15/spinifex-group-gpj-yonex-australian-open/
	OK	https://misfitlabs.itch.io/space-shooter
	OK	https://play.google.com/store/apps/details?id=com.SmoreGames.WordWinner
	OK	https://play.google.com/store/apps/details?id=com.fiveminlab.toyclash.daydream
	OK	https://play.google.com/store/apps/details?id=com.futureplay.boots
	OK	https://play.google.com/store/apps/details?id=com.futureplay.city
	OK	https://play.google.com/store/apps/details?id=com.nerdcorps.slugthree&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticlabs.pokemongo&hl=en
	OK	https://play.google.com/store/apps/details?id=com.nianticproject.ingress&hl=en_US
	OK	https://play.google.com/store/apps/details?id=com.twofours.bedtimemath
	OK	https://pokemongolive.com/
	OK	https://store.playstation.com/en-cz/product/EP5067-CUSA14143_00-BEATSABERFULL000
	OK	https://store.playstation.com/en-sg/product/HP3823-CUSA11820_00-0000000000000000
	OK	https://store.steampowered.com/app/620360/Toy_Clash/
	OK	https://store.steampowered.com/app/620980/Beat_Saber/
	OK	https://toyclash.com/
	OK	https://user-images.githubusercontent.com/7645831/95634748-e5142780-0a8a-11eb-9a90-37474824cc85.png
	OK	https://user-images.githubusercontent.com/7645831/95634750-e6455480-0a8a-11eb-8586-2d9aad47d83f.png
	OK	https://user-images.githubusercontent.com/7645831/95634751-e6ddeb00-0a8a-11eb-9ee1-2a755fd72e81.png
	OK	https://user-images.githubusercontent.com/7645831/95634753-e7768180-0a8a-11eb-8768-e75801f05a76.png
	OK	https://user-images.githubusercontent.com/7645831/95634818-12f96c00-0a8b-11eb-8532-730fe0bb941c.png
	OK	https://user-images.githubusercontent.com/7645831/95634819-142a9900-0a8b-11eb-8b75-5847aa6e423c.png
	OK	https://user-images.githubusercontent.com/7645831/95634820-142a9900-0a8b-11eb-8605-1103bb78e491.png
	OK	https://user-images.githubusercontent.com/7645831/95634822-14c32f80-0a8b-11eb-9be8-d85d2974540e.png
	OK	https://user-images.githubusercontent.com/7645831/95634823-155bc600-0a8b-11eb-9f13-e809b48e6f97.png
	OK	https://user-images.githubusercontent.com/7645831/95634860-2c9ab380-0a8b-11eb-8cf9-f4876fcaa39a.png
	OK	https://user-images.githubusercontent.com/7645831/95634862-2d334a00-0a8b-11eb-9b97-85387a86a763.png
	OK	https://user-images.githubusercontent.com/7645831/95634863-2dcbe080-0a8b-11eb-860a-7aafadb32758.png
	OK	https://user-images.githubusercontent.com/7645831/95634866-2e647700-0a8b-11eb-8c85-b4669e570ff1.png
	OK	https://user-images.githubusercontent.com/7645831/95634895-3cb29300-0a8b-11eb-814f-69d13c522308.png
	OK	https://user-images.githubusercontent.com/7645831/95634900-3d4b2980-0a8b-11eb-8706-b0976a3bdc9d.png
	OK	https://user-images.githubusercontent.com/7645831/95634901-3de3c000-0a8b-11eb-8595-a1e7f7118016.png
	OK	https://user-images.githubusercontent.com/7645831/95634902-3de3c000-0a8b-11eb-814d-757af61e1dd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634906-3e7c5680-0a8b-11eb-8bde-e4292b10ed0f.png
	OK	https://user-images.githubusercontent.com/7645831/95634931-4b994580-0a8b-11eb-86bf-e3419d182a67.png
	OK	https://user-images.githubusercontent.com/7645831/95634932-4c31dc00-0a8b-11eb-914f-4245841a1ee4.png
	OK	https://user-images.githubusercontent.com/7645831/95634933-4c31dc00-0a8b-11eb-8cce-4c9d0d5805af.png
	OK	https://user-images.githubusercontent.com/7645831/95634934-4cca7280-0a8b-11eb-8eab-114bb6b2ddd5.png
	OK	https://user-images.githubusercontent.com/7645831/95634952-55bb4400-0a8b-11eb-8204-b52c640868b5.png
	OK	https://user-images.githubusercontent.com/7645831/95634955-5653da80-0a8b-11eb-99d5-e360dfcbf164.png
	OK	https://user-images.githubusercontent.com/7645831/95634956-56ec7100-0a8b-11eb-9341-5c2f531be0c5.png
	OK	https://user-images.githubusercontent.com/7645831/95634957-56ec7100-0a8b-11eb-922f-e27d12ed1505.png
	OK	https://user-images.githubusercontent.com/7645831/95634959-57850780-0a8b-11eb-81cf-6b0650edec8e.png
	OK	https://user-images.githubusercontent.com/7645831/95651927-c7c47500-0aed-11eb-917a-676a1bf14ae4.png
	OK	https://user-images.githubusercontent.com/7645831/95662777-a8ebd000-0b39-11eb-8fd2-07923e48a349.png
	OK	https://user-images.githubusercontent.com/7645831/95662778-a9846680-0b39-11eb-9cd9-ab8bd459f436.png
	OK	https://user-images.githubusercontent.com/7645831/95662779-aa1cfd00-0b39-11eb-9b27-566a8a600aae.png
	OK	https://user-images.githubusercontent.com/7645831/95662780-aab59380-0b39-11eb-81d0-431aab26d1db.png
	OK	https://user-images.githubusercontent.com/7645831/95662781-ab4e2a00-0b39-11eb-8bcd-f199dfe484c5.png
	OK	https://user-images.githubusercontent.com/7645831/95662811-dfc1e600-0b39-11eb-8558-d99f9fd126df.png
	OK	https://user-images.githubusercontent.com/7645831/95662814-e18ba980-0b39-11eb-8d36-d4ad5674ba79.png
	OK	https://user-images.githubusercontent.com/7645831/95662815-e2244000-0b39-11eb-8634-4f547e792c92.png
	OK	https://user-images.githubusercontent.com/7645831/95662816-e2bcd680-0b39-11eb-832a-fa288d3adc23.png
	OK	https://user-images.githubusercontent.com/7645831/95662817-e2bcd680-0b39-11eb-9ddd-0bb3e0788fac.png
	OK	https://user-images.githubusercontent.com/7645831/95662823-f5cfa680-0b39-11eb-97f5-8659089285cb.png
	OK	https://user-images.githubusercontent.com/7645831/95662825-f700d380-0b39-11eb-84ff-2211501667bc.png
	OK	https://user-images.githubusercontent.com/7645831/95662826-f700d380-0b39-11eb-862a-d645dddc775d.png
	OK	https://user-images.githubusercontent.com/7645831/95662827-f7996a00-0b39-11eb-8881-2a059b5069d8.png
	OK	https://user-images.githubusercontent.com/7645831/95662829-f8320080-0b39-11eb-862e-5743b5e122fa.png
	OK	https://user-images.githubusercontent.com/7645831/95665315-8fee1980-0b4f-11eb-9567-fb27d6138267.png
	OK	https://user-images.githubusercontent.com/7645831/95665320-92507380-0b4f-11eb-8177-eb45f98ce142.png
	OK	https://user-images.githubusercontent.com/7645831/95665322-9381a080-0b4f-11eb-932e-c10602e5f8a7.png
	OK	https://user-images.githubusercontent.com/7645831/95665324-941a3700-0b4f-11eb-939c-9520bfc20432.png
	OK	https://user-images.githubusercontent.com/7645831/95665326-94b2cd80-0b4f-11eb-8c24-acc6411f773e.png
	OK	https://user-images.githubusercontent.com/7645831/95665336-a09e8f80-0b4f-11eb-9f04-460ceb038c0a.png
	OK	https://user-images.githubusercontent.com/7645831/95665337-a1372600-0b4f-11eb-9c6b-89c2af6bbf91.png
	OK	https://user-images.githubusercontent.com/7645831/95665339-a1cfbc80-0b4f-11eb-9389-6b156b7da0b6.png
	OK	https://user-images.githubusercontent.com/7645831/95665346-b613b980-0b4f-11eb-8111-6afa5d3410fb.png
	OK	https://user-images.githubusercontent.com/7645831/95665348-b744e680-0b4f-11eb-997e-1a28577676b7.png
	OK	https://user-images.githubusercontent.com/7645831/95665349-b744e680-0b4f-11eb-85ca-9b8c102f62b9.png
	OK	https://user-images.githubusercontent.com/7645831/95665350-b7dd7d00-0b4f-11eb-9463-03421cadaeee.png
	OK	https://user-images.githubusercontent.com/7645831/95665351-b8761380-0b4f-11eb-8483-5df5913b070d.png
	OK	https://user-images.githubusercontent.com/7645831/95665360-caf04d00-0b4f-11eb-907b-87947d657fb3.png
	OK	https://user-images.githubusercontent.com/7645831/95665361-cb88e380-0b4f-11eb-9f57-78b59277a927.png
	OK	https://user-images.githubusercontent.com/7645831/95665362-cc217a00-0b4f-11eb-8e81-4f6a08613df8.png
	OK	https://user-images.githubusercontent.com/7645831/95665364-cc217a00-0b4f-11eb-85ec-f1fcd112d304.png
	OK	https://user-images.githubusercontent.com/7645831/95665365-cd52a700-0b4f-11eb-9a25-ce285a02462f.png
	OK	https://user-images.githubusercontent.com/7645831/95665378-e2c7d100-0b4f-11eb-92cd-04eaa3819c50.png
	OK	https://user-images.githubusercontent.com/7645831/95665380-e3f8fe00-0b4f-11eb-98fe-26723822a03e.png
	OK	https://user-images.githubusercontent.com/7645831/95665381-e3f8fe00-0b4f-11eb-9e57-b4844d48e8e4.png
	OK	https://user-images.githubusercontent.com/7645831/95665382-e4919480-0b4f-11eb-8435-80f2db9eec50.png
	OK	https://user-images.githubusercontent.com/7645831/95665384-e5c2c180-0b4f-11eb-8408-672db63d6527.png
	OK	https://user-images.githubusercontent.com/7645831/95666017-ebbba100-0b55-11eb-863a-e9020be7c8af.png
	OK	https://user-images.githubusercontent.com/7645831/95666020-eeb69180-0b55-11eb-8ffd-c25515bfca1a.png
	OK	https://user-images.githubusercontent.com/7645831/95666022-efe7be80-0b55-11eb-9e46-186fbf922937.png
	OK	https://user-images.githubusercontent.com/7645831/95666023-efe7be80-0b55-11eb-9646-8fc42a630a85.png
	OK	https://user-images.githubusercontent.com/7645831/95666024-f0805500-0b55-11eb-9a74-09762c626bb6.png
	OK	https://user-images.githubusercontent.com/7645831/95672778-dd947180-0ba3-11eb-9144-c188ac7b2c17.png
	OK	https://user-images.githubusercontent.com/7645831/95672780-e08f6200-0ba3-11eb-9291-911e0c05da17.png
	OK	https://user-images.githubusercontent.com/7645831/95672782-e127f880-0ba3-11eb-9bfe-c9e64635081e.png
	OK	https://user-images.githubusercontent.com/7645831/95672783-e1c08f00-0ba3-11eb-9032-1e3a92fa74b9.png
	OK	https://user-images.githubusercontent.com/7645831/95672784-e2592580-0ba3-11eb-868a-4d202b7e5483.png
	OK	https://user-images.githubusercontent.com/7645831/95672798-f0a74180-0ba3-11eb-9263-9c63faa1a5b7.png
	OK	https://user-images.githubusercontent.com/7645831/95672799-f13fd800-0ba3-11eb-9db2-f2c82ff5c29f.png
	OK	https://user-images.githubusercontent.com/7645831/95672800-f1d86e80-0ba3-11eb-85ec-1c70b8dbeae6.png
	OK	https://user-images.githubusercontent.com/7645831/95672802-f3099b80-0ba3-11eb-8d38-22eecd86c6dd.png
	OK	https://user-images.githubusercontent.com/7645831/95672811-087ec580-0ba4-11eb-8994-dc383608a57f.png
	OK	https://user-images.githubusercontent.com/7645831/95672813-09175c00-0ba4-11eb-83f5-cf92f145ffd6.png
	OK	https://user-images.githubusercontent.com/7645831/95672814-09aff280-0ba4-11eb-8a2d-ced40e2188e0.png
	OK	https://user-images.githubusercontent.com/7645831/95672815-09aff280-0ba4-11eb-9a40-11f77b12cbf0.png
	OK	https://user-images.githubusercontent.com/7645831/95672816-0a488900-0ba4-11eb-840f-6781ab146068.png
	OK	https://user-images.githubusercontent.com/7645831/95672881-7e832c80-0ba4-11eb-98d7-08b23156e212.png
	OK	https://user-images.githubusercontent.com/7645831/95685582-fc712300-0bf8-11eb-81d7-4d01a617616e.png
	OK	https://user-images.githubusercontent.com/7645831/95685629-422deb80-0bf9-11eb-861e-ef8171c92137.png
	OK	https://user-images.githubusercontent.com/7645831/95685630-42c68200-0bf9-11eb-9e6c-39c8769ad28f.png
	OK	https://user-images.githubusercontent.com/7645831/95685633-51ad3480-0bf9-11eb-82c8-077a9e410a5a.png
	OK	https://user-images.githubusercontent.com/7645831/95685635-54a82500-0bf9-11eb-99cf-e7da86704197.png
	OK	https://www.airconsole.com/#!play=com.octopusgames.golfriends
	OK	https://www.buildawaygame.com
	OK	https://www.epicstoryinteractive.com
	OK	https://www.farmawaygame.com
	OK	https://www.ingress.com
	OK	https://www.microsoft.com/de-de/p/toy-clash/9pn9vbjl9ld4?ocid=badge&rtc=1&activetab=pivot:overviewtab
	OK	https://www.misfitlabs.dev
	OK	https://www.oculus.com/experiences/gear-vr/1407846952568081/
	OK	https://www.oculus.com/experiences/rift/1304877726278670/
	OK	https://www.pbslearningmedia.org/resource/nvbh-sci-blackholesguide/wgbh-nova-black-holes-app-educator-guide/
	OK	https://www.sticksports.com/stick-soccer-2/
	ERROR	http://bedtimemath.org/bedtimemath-app/
		Not Found (HTTP error 404)

Instantiating with null extra args ends with exception

Once creating game object for component via IInstantiator, like:

_instantiator.InstantiateComponent<MyComponent>(_executor, new object[] { task = task, onSuccess = onSuccess // <-- this is null });

ends with error indebug:

ZenjectException: Assert hit! Cannot include null values when creating a zenject argument list because zenject has no way of deducing the type from a null value. If you want to allow null, use the Explicit form.

what does the If you want to allow null, use the Explicit form actually means? Cannot find any official docs on it.

RuntimeInitializeOnLoadMethodAttribute is not allowed on Generic classes

Describe the bug

When building a project with Extenject I got three similar errors related to those classes HashSetPool, DictionaryPool, ListPool.

RuntimeInitializeOnLoadMethodAttribute: Is not allowed on a Generic class DictionaryPool`2.ResetStaticValues
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)

To Reproduce

  1. Download the sample project
  2. Try to build the app for iOS, Android, or Desktop.
  3. Check the three errors in Console.

Expected behavior
The app should build without errors.

Screenshots
image

Extenject and Unity info

  • Extenject version: 9.3.0
  • Unity version: 2021.2.7f1 and 2021.2.9f1
  • Project's scripting backend - The errors happen regardless of Mono or IL2CPP.
  • Tested only on MacOS Monterey 12.2

Additional context

  • The problem seems to be introduced in this PR
  • Those three generic classes are using that attribute RuntimeInitializeOnLoadMethodAttribute on methods (e.g. HashSetPool.ResetStaticValues()) that seems that they are never called. From what I understood they should be called when you Press play in the Unity Editor for instance.
    • I've tried to put a breakPoint or a dummy Debug.Log message and press Play in Unity Editor, but those methods are never called. Regardless of EnterPlayModeSettings or ReloadDomain are enabled or not. (Edit -> Project Settings -> Editor)
    • Similar methods in non-generic classes are called as expected (e.g. ProjectContext.ResetStaticValues())
  • Removing those three methods ResetStaticValues() in the three classes seems to solve the problem, still I am not sure if that would break the fix that the aforementioned PR tried to solve.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.