Skip to content

fix: Resolve an issue where 2019.4 would not properly run ILPP with a clean import #645

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Mar 18, 2021

Conversation

wackoisgod
Copy link
Contributor

There is a behavior difference between 2019.4 and 2020+ codegen that essentially does checking on the existence of ILPP vs if a CodeGen assembly is present. So in order to make sure ILPP runs properly in 2019.4 from a clean import of the project we add this dummy ILPP which forces the callback to made and meets the internal ScriptCompilation pipeline requirements.

@wackoisgod wackoisgod changed the title Fix: Resolve an issue where 2019.4 would not properly run ILPP with a clean import fix: Resolve an issue where 2019.4 would not properly run ILPP with a clean import Mar 18, 2021
// is present. So in order to make sure ILPP runs properly in 2019.4 from a clean
// import of the project we add this dummy ILPP which forces the callback to made
// and meets the internal ScriptCompilation pipeline requirements
internal sealed class HackILPPToMakeThingsWork : ILPPInterface
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recommend against using the word "Hack" in any method name.

Copy link
Contributor

@0xFA11 0xFA11 Mar 18, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, let me try another name here.

Suggested change
internal sealed class HackILPPToMakeThingsWork : ILPPInterface
internal sealed class DefaultILPP : ILPPInterface

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DefaultILPP would also look nice too!

Copy link
Contributor

@seanstolberg-unity seanstolberg-unity Mar 18, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like DefaultILPP the best

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to go with ILPP2019CodegenWorkaround

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sounds good to me!

Copy link
Contributor

@0xFA11 0xFA11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had a look at assembly IL on fresh import 2019.4 testproject, I can confirm this fix indeed works! 🚀

@mattwalsh-unity mattwalsh-unity enabled auto-merge (squash) March 18, 2021 21:32
@mattwalsh-unity mattwalsh-unity merged commit cfef12c into release/0.1.0 Mar 18, 2021
@mattwalsh-unity mattwalsh-unity deleted the fix/2019.4-ilpp-fix branch March 18, 2021 22:41
0xFA11 added a commit that referenced this pull request Mar 23, 2021
* fix: implement warning logs on non-owner invoking ServerRpc that requires ownership (#627)

* add todo comments

* fix: implement warning logs on non-owner invoking ServerRpc that requires ownership

* fix: Correcting the profiler names for network vars to be appropriately named. Should address issue #605 (#632)

* test: NetworkTickSystem test (#630)

* test: NetworkTickSystem test

* test: NetworkTickSystem test, removed unneeded code

* fix: Fix object traversal assigning instanceIds to none scene objects (#629)

* fix: Fix object traversal assigning instanceIds to none scene objects

* comment added

Co-authored-by: Matt Walsh <matt.walsh@unity3d.com>

* fix: Correcting the profiler names for named messages vars to be appropriately named. Should address issue #604 (#634)

* fix: prevent OnPerformanceTickData from sending data on null (#614)

If something causes an exception it's possible that the profiler never allocates data. in these cases, there is no point in sending data outside of MLAPI

* fix: use specified transport channel instead of hardcoded reliablerpc channel (#638)

* docs: added release notes to changelog.md (#569)

* Add release notes to changelog

* docs: added release notes to changelog

* Update com.unity.multiplayer.mlapi/CHANGELOG.md

Co-authored-by: Luke Stampfli <43687322+LukeStampfli@users.noreply.github.com>

* update per review for bitserializer and networkserializer

* revised per feedback - API refactor

* update remove bitserializer

* renaming

* Update com.unity.multiplayer.mlapi/CHANGELOG.md

Co-authored-by: M. Fatih MAR <mfatihmar@gmail.com>

* Update com.unity.multiplayer.mlapi/CHANGELOG.md

* Update com.unity.multiplayer.mlapi/CHANGELOG.md

* added known issues and scene mgmt fix

* revisions per review

* profiler final - no more updates

* format

Co-authored-by: Luke Stampfli <43687322+LukeStampfli@users.noreply.github.com>
Co-authored-by: Matt Walsh <69258106+mattwalsh-unity@users.noreply.github.com>
Co-authored-by: M. Fatih MAR <mfatihmar@gmail.com>

* docs: Update repository/project docs (#636)

- Mirror package readme.md in root readme.md
- Add repo directory structure description
- Remove contributing and code of conduct from package directory

* docs: Add content for mlapi manual.md (#639)

resolves #553
resolves MTT-534

* fix: Removed per-tick runtime allocations by reusing memory between ticks (#640)

PerformanceDataManager reuses PerformanceTickData by resetting per-frame
Replaces deferred linq query in PerformanceTickData loop.

* fix: fixed network activity occurring outside the core update getting missed in the profiler (#641)

Co-authored-by: Matt Walsh <69258106+mattwalsh-unity@users.noreply.github.com>

* fix: Resolve an issue where 2019.4 would not properly run ILPP with a clean import (#645)

* Add an dummy ILPP to force 2019.4 to proper compilation order

* Turning on this test for 2019.4

* Hack -> Workaround rename

Co-authored-by: Matt Walsh <matt.walsh@unity3d.com>
Co-authored-by: Matt Walsh <69258106+mattwalsh-unity@users.noreply.github.com>

* build: add Unity module dependencies explicitly (#648)

Co-authored-by: kvassall-unity <68920108+kvassall-unity@users.noreply.github.com>
Co-authored-by: Jeffrey Rainy <jeffreyrainy@gmail.com>
Co-authored-by: Albin Corén <2108U9@gmail.com>
Co-authored-by: Matt Walsh <matt.walsh@unity3d.com>
Co-authored-by: Lori Krell <76010626+lkrell@users.noreply.github.com>
Co-authored-by: Luke Stampfli <43687322+LukeStampfli@users.noreply.github.com>
Co-authored-by: Matt Walsh <69258106+mattwalsh-unity@users.noreply.github.com>
Co-authored-by: Jesse Olmer <jesseo@unity3d.com>
Co-authored-by: becksebenius-unity <74328025+becksebenius-unity@users.noreply.github.com>
Co-authored-by: Andrew Spiering <aspiering@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants