Skip to content

Fork of Unity mono that's used to compile mono.dll with debugging support enabled

Notifications You must be signed in to change notification settings

cgsgood/dnSpy-Unity-mono

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repo contains all files needed to build mono.dll & mono-2.0-bdwgc.dll with debugging support for Unity.

The master branch contains the original files. You have to check out the dnSpy branch to build everything. Use VS2017.

Supporting a new Unity version for Dummies

  • Pull in the latest Unity mono.dll source code (either git pull if you have it or git clone https://github.com/Unity-Technologies/mono.git)
  • Get this repo and make sure master and dnSpy branches are at the latest commit (git pull in both branches)
  • Compile umpatcher in this repo
  • Download and install the correct Unity editor version
  • Locate the compiled mono.dll & mono-2.0-bdwgc.dll files, eg.:
    • C:\Program Files\Unity\Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win32_nondevelopment_mono\Data\Mono\EmbedRuntime\mono.dll
    • C:\Program Files\Unity\Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win64_nondevelopment_mono\Data\Mono\EmbedRuntime\mono.dll
    • C:\Program Files\Unity\Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win64_development_mono\MonoBleedingEdge\EmbedRuntime\mono-2.0-bdwgc.dll
    • C:\Program Files\Unity\Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win64_nondevelopment_mono\MonoBleedingEdge\EmbedRuntime\mono-2.0-bdwgc.dll
  • Get the timestamp stored in mono.dll's PE header
    • umpatcher --timestamp "C:\path\to\the\correct\version\mono.dll"
  • Check out the correct version branch in the Unity mono repo, eg. if it's v5.4.3, the branch is called unity-5.4. Branches ending in -mbe use .NET 4.x assemblies.
    • Use git branch -a to see all remote branches
  • git checkout unity-5.4 (or whatever version you need)
  • git pull (make sure it has the latest stuff)
  • gitk to start a UI
    • Find the closest merge by comparing the merge date with the timestamp reported by umpatcher above
    • Remember the commit hash, you'll need it later
  • Run umpatcher again to patch the code and commit it to the dnSpy-Unity-mono repo
    • umpatcher 5.4.3 aa8a6e7afc2f4fe63921df4fe8a18cfd0a441d19 "C:\path\to\Unity-mono" "C:\path\to\dnSpy-Unity-mono"

Building mono.dll & mono-2.0-bdwgc.dll

  • dnSpy-Unity-mono.sln (Unity with .NET 2.0-3.5 assemblies)

    • Use configuration Release_eglib
    • Use platform x86 or x64
  • dnSpy-Unity-mono-V40.sln (Unity with .NET 4.x assemblies)

    • Use configuration Release
    • Use platform x86 or x64

Commit hashes

A few versions have the same hash. -mbe = MonoBleedingEdge branch (.NET 4.x assemblies).

version git hash
4.0.0 7ec3cabdff850179420727c42bc73a91d1a97a29
4.0.1 7ec3cabdff850179420727c42bc73a91d1a97a29
4.1.0 6232bc3853ea9881fd87db0198486304f0619274
4.1.2 6232bc3853ea9881fd87db0198486304f0619274
4.1.3 98d922bd3445bf022be90dae4ab9e65b588279c3
4.1.4 499f8bdf30282419ff830e00a36aab185da7fca8
4.1.5 499f8bdf30282419ff830e00a36aab185da7fca8
4.2.0 21f2c5856b2b57fee7c0bdaf9b10f90386b15f30
4.2.1 ac09c9bb53471083b961dbb95ec747176bad6aa9
4.2.2 ac09c9bb53471083b961dbb95ec747176bad6aa9
4.3.0 affd2dfa7e152ff89edda6daa6a1eaba9d36635e
4.3.1 593baca940f9238b693b6843882442664e38a5f2
4.3.2 593baca940f9238b693b6843882442664e38a5f2
4.3.3 663508eae2c9bac2d1d51fafd2de173fb83c329f
4.3.4 663508eae2c9bac2d1d51fafd2de173fb83c329f
4.5.0 1d6076a7fbb17a89eb13446ac4dad1470d4c2ed8
4.5.1 1d6076a7fbb17a89eb13446ac4dad1470d4c2ed8
4.5.2 6d301e8bf32e50808f0101a12b03c976d8546b71
4.5.3 2b39f03a86e603dd01daf8684e28280863f1dab8
4.5.4 74242f8238bf81055e7a9179a2ad207ef0be4b39
4.5.5 b6c89ce33f404463751003e1328edf8a3d8e6fd3
4.6.0 b6c89ce33f404463751003e1328edf8a3d8e6fd3
4.6.1 2f808416774125014e03f4a85b8b7df7a26c3db8
4.6.2 f5af3c697aa14eaefc0ecec39846dfeb8298db3e
4.6.3 4ccc9d766b5e37b86e2db4cf8a7251166706b451
4.6.4 9cdfd37df707daa3ab0d19bff2ce93aa82ef6bd7
4.6.5 94fc25748d3d63feec85ff86683fb1361b2381c4
4.6.6 afb14df41b50125acd930a226bc9f0a5d5b29496
4.6.7 afb14df41b50125acd930a226bc9f0a5d5b29496
4.6.8 f24711c7235afa235d8db647c22c85675da1b75c
4.6.9 f24711c7235afa235d8db647c22c85675da1b75c
4.7.0 dce5affd7506ddbe1f8449a73d9d52b3ede01e42
4.7.1 dce5affd7506ddbe1f8449a73d9d52b3ede01e42
4.7.2 6288f2b6a22d5f48feff5ae279844e3387672edb
5.0.0 bfc0b170d55d50c6f3f08941e21e73cce7e47692
5.0.1 eacf7dc705f07d62981216402c7242d6e084863f
5.0.2 46da7397c4ae32539e44ab4c64362158a7f8d9c5
5.0.3 944a1294616548560d220be060a7599013371b85
5.0.4 5f17675341de3d3c9e4027241c7c3d971c4ef9c1
5.1.0 e7470728f0d77c0e44aabf9209d136ed9c17cb38
5.1.1 8cc67d6e880e365631872e4e8ede273fe6dd1b96
5.1.2 2c6d1ad3510d57e1653888a72cc19510fbf7fd6a
5.1.3 adce0585e3ae5dd014e70e3197f50f4fcf3905a7
5.1.4 adce0585e3ae5dd014e70e3197f50f4fcf3905a7
5.1.5 ecec8aba4e735e96f886fb7bbd736c569d8998fd
5.2.0 990d4243b192298e079b94996f9afe06da43f5c5
5.2.1 990d4243b192298e079b94996f9afe06da43f5c5
5.2.2 dd13669b78d04117a74a68f6b57286ac7aa0f11e
5.2.3 dd13669b78d04117a74a68f6b57286ac7aa0f11e
5.2.4 07337a5ad920d0d2349677a125f921225e423bdb
5.2.5 d52ec8fb6c9c8d7777dc0da9f4769160918c4cf4
5.3.0 12ad0fb3b08d260dce20d3d906643026b51c0a42
5.3.1 12ad0fb3b08d260dce20d3d906643026b51c0a42
5.3.2 e67f70e197cdc120b3f6b78e2c4a9b2abf8073be
5.3.3 a0c32dbacb1594464bee45638839452f7d49eedc
5.3.4 da080ba6db629d00c52bbc1146b1fca21d22ec7f
5.3.5 32dd5015852131c334fd9be915c7eb47b9c7ce9d
5.3.6 465a117be0859b9de7e7f54d7a2cb49a83816242
5.3.7 ab5d69a9ea45530e92b457c7792e64963c68d7e8
5.3.8 12ac9d2d802867d06c066b5b330e50df94bf1f13
5.4.0 737162df810edbe681553b1161a4e85c4815eff1
5.4.1 1932a0c940aa9906a5ef417d7032484070535462
5.4.2 a10ee4dd3735084f7b7e9864fe01ba690e536b96
5.4.3 aa8a6e7afc2f4fe63921df4fe8a18cfd0a441d19
5.4.4 aa8a6e7afc2f4fe63921df4fe8a18cfd0a441d19
5.4.5 98743ee2d770ba0c461940806d1b582c654eb0f3
5.4.6 98743ee2d770ba0c461940806d1b582c654eb0f3
5.5.0 942d467726dc8b8c25576ae91c46ac488f113f0e
5.5.1 942d467726dc8b8c25576ae91c46ac488f113f0e
5.5.2 e63de00f88941237b4021991fb16203094865a69
5.5.3 98d65b1b3de869688b83c0a5e0c966fe9925d29b
5.5.4 1257261cb4342a4e57691462d8ae961729026c3b
5.5.5 5a670fd418c3fbde85226e9573976cec730561c1
5.5.6 63dbc53086468ca76287f6c5f2326f0b2b5c4ab6
5.6.0 78505a00c8a9668fcf64ef0e3f1e5d3cade4b0b7
5.6.1 3ce3097320f2a4ecc486477434a99ec2327933ae
5.6.2 a4d8fea68a59fe5d297740c271a60a7f2dc827c2
5.6.3 6a3c0a37e1fad3caf8b6f61e891c67b340d18d20
5.6.4 7c1507f591db29dc9f22fa401e9bfb224361ab03
5.6.5 ba1c3af38f252cd5ef8b4ba6621713e54c1abbca
5.6.6 dcc7b162a38950eb06a7c2222bf244c2b9d71e83
2017.1.0 284c883072cb5fdf21ed9ca4dbe8e7e6d3e7d145
2017.1.0-mbe 1f917a16d7a1b970cf6f6b26b8ea2921f5a585d4
2017.1.1 8c37e8d3077124bc33a12df74a71b0575cd9a05f
2017.1.1-mbe 62053e35f98ae152265f73d71dbd9a8f8cc0c3fb
2017.1.2 3ca35a90d3c4c41f3abe53ed518d46732fe8a79e
2017.1.2-mbe 817bc9cdc770971f138ccc217d2b8c35efa2c585
2017.1.3 e91b9e0f1956ff1e646e221391fbaf72427fa1be
2017.1.3-mbe 43d2623170407181033ce97b2d390419e0721e98
2017.1.4 8dae61f6399c3e548515277e140e5338b229c6fd
2017.1.4-mbe 0bfec058cebc920b13b721ccfa1f693d0b5471ab
2017.1.5 8dae61f6399c3e548515277e140e5338b229c6fd
2017.1.5-mbe 0bfec058cebc920b13b721ccfa1f693d0b5471ab
2017.2.0 2fea43d2755abd9aace913a596dd4f7d011014c5
2017.2.0-mbe fb0f5388459b087bec262f5f58559e715607fe62
2017.2.1 540e1297eefe581a588a80173fd41ae6b8c1cc78
2017.2.1-mbe 6145288f04dbaeece44a027f59e55dc009abea8d
2017.2.2 cb14ed619c5ba0ce7d62cd472c70123b2705b6fd
2017.2.2-mbe 248184700da4c7487e6f3f1ffde35a3c959d058d
2017.2.3 c1a42bd93091402d759577c58827962c0f60c176
2017.2.3-mbe b8def36628743d5b037fac5a3c3dc63c4ccd99ca
2017.2.4 c1a42bd93091402d759577c58827962c0f60c176
2017.2.4-mbe b8def36628743d5b037fac5a3c3dc63c4ccd99ca
2017.2.5 cf5dccc2c5019f5dca4947976782d739f551b1b5
2017.2.5-mbe b8def36628743d5b037fac5a3c3dc63c4ccd99ca
2017.3.0 94a03ac32cab0d7c1d663fd5ee415ecf8c707ca3
2017.3.0-mbe 61f95e5dbbe0a1132203553a065d6a791089ff9b
2017.3.1 8029f0de9515592df96d13d9b0137db037de25e5
2017.3.1-mbe b8f086ef1819b5c31e91d0cd64db102e9b5d72d1
2017.4.0 249f4d5471a4a686f6b7177ac935b20b1586af2a
2017.4.0-mbe 11d3ee1fd8dc7c35296db4ab3d440f1f7d8ed428
2017.4.1 c8bf3c9f134208cc8539ba0f989f9ec07ae32c1b
2017.4.1-mbe f1b3cc1149819b54e13232f1d359b14bc7ffd7a3
2017.4.2 99c6989aca514ccfc805b976f0e0ee8a44bdc35e
2017.4.2-mbe f1b3cc1149819b54e13232f1d359b14bc7ffd7a3
2017.4.3 99c6989aca514ccfc805b976f0e0ee8a44bdc35e
2017.4.3-mbe f1b3cc1149819b54e13232f1d359b14bc7ffd7a3
2017.4.4 99c6989aca514ccfc805b976f0e0ee8a44bdc35e
2017.4.4-mbe f1b3cc1149819b54e13232f1d359b14bc7ffd7a3
2017.4.5 99c6989aca514ccfc805b976f0e0ee8a44bdc35e
2017.4.5-mbe f1b3cc1149819b54e13232f1d359b14bc7ffd7a3
2017.4.6 1895d46c0b092bf91d4fb15414dd5cc7b9d4d59a
2017.4.6-mbe 16e0200d3f1a3ae1d6ec548d14e527af267daafd
2017.4.7 1895d46c0b092bf91d4fb15414dd5cc7b9d4d59a
2017.4.7-mbe 16e0200d3f1a3ae1d6ec548d14e527af267daafd
2017.4.8 1895d46c0b092bf91d4fb15414dd5cc7b9d4d59a
2017.4.8-mbe 16e0200d3f1a3ae1d6ec548d14e527af267daafd
2017.4.9 1895d46c0b092bf91d4fb15414dd5cc7b9d4d59a
2017.4.9-mbe 16e0200d3f1a3ae1d6ec548d14e527af267daafd
2017.4.10 1895d46c0b092bf91d4fb15414dd5cc7b9d4d59a
2017.4.10-mbe 16e0200d3f1a3ae1d6ec548d14e527af267daafd
2017.4.11 1895d46c0b092bf91d4fb15414dd5cc7b9d4d59a
2017.4.11-mbe 16e0200d3f1a3ae1d6ec548d14e527af267daafd
2017.4.12 1895d46c0b092bf91d4fb15414dd5cc7b9d4d59a
2017.4.12-mbe 16e0200d3f1a3ae1d6ec548d14e527af267daafd
2017.4.13 1895d46c0b092bf91d4fb15414dd5cc7b9d4d59a
2017.4.13-mbe 16e0200d3f1a3ae1d6ec548d14e527af267daafd
2017.4.14 1895d46c0b092bf91d4fb15414dd5cc7b9d4d59a
2017.4.14-mbe 16e0200d3f1a3ae1d6ec548d14e527af267daafd
2017.4.15 9b35b3dabde5d3dea924b246281ad463f1c48e1c
2017.4.15-mbe 10aeba76d03315c0c7bce66ac08ab1dc4d8e8af1
2017.4.16 9b35b3dabde5d3dea924b246281ad463f1c48e1c
2017.4.16-mbe 10aeba76d03315c0c7bce66ac08ab1dc4d8e8af1
2017.4.17 9b35b3dabde5d3dea924b246281ad463f1c48e1c
2017.4.17-mbe 10aeba76d03315c0c7bce66ac08ab1dc4d8e8af1
2018.1.0 8545891c59bf53ffbabfa34cbe7e096a28fa5db6
2018.1.0-mbe bcb3e8e3b5993e330372396a18b2a8177005eff8
2018.1.1 8545891c59bf53ffbabfa34cbe7e096a28fa5db6
2018.1.1-mbe bcb3e8e3b5993e330372396a18b2a8177005eff8
2018.1.2 8545891c59bf53ffbabfa34cbe7e096a28fa5db6
2018.1.2-mbe bcb3e8e3b5993e330372396a18b2a8177005eff8
2018.1.3 8545891c59bf53ffbabfa34cbe7e096a28fa5db6
2018.1.3-mbe bcb3e8e3b5993e330372396a18b2a8177005eff8
2018.1.4 23ee0f389d7a077b74e05a033bbfcf2b493cb341
2018.1.4-mbe 9ac4d3a2910715be69062434854310e83e03013f
2018.1.5 23ee0f389d7a077b74e05a033bbfcf2b493cb341
2018.1.5-mbe 9ac4d3a2910715be69062434854310e83e03013f
2018.1.6 23ee0f389d7a077b74e05a033bbfcf2b493cb341
2018.1.6-mbe 9ac4d3a2910715be69062434854310e83e03013f
2018.1.7 ae4c17e9c4fc0c648db0d19be1c028bab1a10dc1
2018.1.7-mbe 8f28c532ed0709781dcca95beab1c095ca36c9f8
2018.1.8 ae4c17e9c4fc0c648db0d19be1c028bab1a10dc1
2018.1.8-mbe 8f28c532ed0709781dcca95beab1c095ca36c9f8
2018.1.9 ae4c17e9c4fc0c648db0d19be1c028bab1a10dc1
2018.1.9-mbe 8f28c532ed0709781dcca95beab1c095ca36c9f8
2018.2.0 c263243c1e6ca70faecbcba2626e821112008a2c
2018.2.0-mbe cc6db3ba879c8ce7c8faed680b25c80f1e00582f
2018.2.1 c263243c1e6ca70faecbcba2626e821112008a2c
2018.2.1-mbe cc6db3ba879c8ce7c8faed680b25c80f1e00582f
2018.2.2 c263243c1e6ca70faecbcba2626e821112008a2c
2018.2.2-mbe cc6db3ba879c8ce7c8faed680b25c80f1e00582f
2018.2.3 19b1837c145f93961ee2a1c61cd835ea89e37889
2018.2.3-mbe 9b59ce9197dd47e7074fe6490859f8ae06193e38
2018.2.4 19b1837c145f93961ee2a1c61cd835ea89e37889
2018.2.4-mbe 74da9525f7f1356a7cbdf476bbf67735a4f2267b
2018.2.5 19b1837c145f93961ee2a1c61cd835ea89e37889
2018.2.5-mbe 74da9525f7f1356a7cbdf476bbf67735a4f2267b
2018.2.6 19b1837c145f93961ee2a1c61cd835ea89e37889
2018.2.6-mbe 74da9525f7f1356a7cbdf476bbf67735a4f2267b
2018.2.7 19b1837c145f93961ee2a1c61cd835ea89e37889
2018.2.7-mbe 74da9525f7f1356a7cbdf476bbf67735a4f2267b
2018.2.8 19b1837c145f93961ee2a1c61cd835ea89e37889
2018.2.8-mbe a16c9800d4f14bad151c1e523c3f09e900b420f4
2018.2.9 19b1837c145f93961ee2a1c61cd835ea89e37889
2018.2.9-mbe a16c9800d4f14bad151c1e523c3f09e900b420f4
2018.2.10 19b1837c145f93961ee2a1c61cd835ea89e37889
2018.2.10-mbe a16c9800d4f14bad151c1e523c3f09e900b420f4
2018.2.11 19b1837c145f93961ee2a1c61cd835ea89e37889
2018.2.11-mbe a16c9800d4f14bad151c1e523c3f09e900b420f4
2018.2.12 19b1837c145f93961ee2a1c61cd835ea89e37889
2018.2.12-mbe 56508975f1f49e584389770c3f06a61806da3270
2018.2.13 19b1837c145f93961ee2a1c61cd835ea89e37889
2018.2.13-mbe 56508975f1f49e584389770c3f06a61806da3270
2018.2.14 19b1837c145f93961ee2a1c61cd835ea89e37889
2018.2.14-mbe 56508975f1f49e584389770c3f06a61806da3270
2018.2.15 15d6da03fc8718d73b9622a6bfb055b159229d62
2018.2.15-mbe becf72c525e6f84327fb75f8e4a2fea5eceb578e
2018.2.16 15d6da03fc8718d73b9622a6bfb055b159229d62
2018.2.16-mbe becf72c525e6f84327fb75f8e4a2fea5eceb578e
2018.2.17 15d6da03fc8718d73b9622a6bfb055b159229d62
2018.2.17-mbe becf72c525e6f84327fb75f8e4a2fea5eceb578e
2018.2.18 15d6da03fc8718d73b9622a6bfb055b159229d62
2018.2.18-mbe becf72c525e6f84327fb75f8e4a2fea5eceb578e
2018.2.19 15d6da03fc8718d73b9622a6bfb055b159229d62
2018.2.19-mbe becf72c525e6f84327fb75f8e4a2fea5eceb578e
2018.2.20 15d6da03fc8718d73b9622a6bfb055b159229d62
2018.2.20-mbe becf72c525e6f84327fb75f8e4a2fea5eceb578e
2018.3.0 a5dd8007612078d6eb292e3930171d8e2b5a41fd
2018.3.0-mbe 6efc5ea98866cb7a1972d9757aed25372059bcde

About

Fork of Unity mono that's used to compile mono.dll with debugging support enabled

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published