All Projects → mob-sakai → InternalAccessibleCompilerForUnity

mob-sakai / InternalAccessibleCompilerForUnity

Licence: MIT license
Compile a c# project to a internal accessible dll (for Unity)

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to InternalAccessibleCompilerForUnity

openapi-filter
Filter internal paths, operations, parameters, schemas etc from OpenAPI/Swagger/AsyncAPI definitions
Stars: ✭ 112 (+460%)
Mutual labels:  internal
CGSInternal
A collection of private CoreGraphics and SkyLight routines.
Stars: ✭ 146 (+630%)
Mutual labels:  internal
Osiris
Free open-source game cheat for Counter-Strike: Global Offensive, written in modern C++. GUI powered by Dear ImGui.
Stars: ✭ 1,851 (+9155%)
Mutual labels:  internal
Node Cache
a node internal (in-memory) caching module
Stars: ✭ 1,660 (+8200%)
Mutual labels:  internal
Tipi
Thinking In PHP Internals, An open book on PHP Internals
Stars: ✭ 2,760 (+13700%)
Mutual labels:  internal
pglet
Pglet - build internal web apps quickly in the language you already know!
Stars: ✭ 555 (+2675%)
Mutual labels:  internal
babel-collect-imports
Recursively collect all the internal and external dependencies from an entry point
Stars: ✭ 33 (+65%)
Mutual labels:  internal
ExecutionMaster
Windows utility for intercepting process creation and assigning standard actions to program startup
Stars: ✭ 54 (+170%)
Mutual labels:  internal
nuxt-interpolation
Nuxt.js module as directive for binding every link to catch the click event, and if it's a relative link router will push.
Stars: ✭ 38 (+90%)
Mutual labels:  internal
project-template
No description or website provided.
Stars: ✭ 14 (-30%)
Mutual labels:  internal
cstrike-basehook-linux
Internal project base for Counter-Strike: Source on Linux.
Stars: ✭ 36 (+80%)
Mutual labels:  internal
WunderTools
Project reference configuration for use with Ansible & Vagrant
Stars: ✭ 18 (-10%)
Mutual labels:  internal
Chameleon
Basic skin & knife changer for Counter-Strike: Global Offensive
Stars: ✭ 58 (+190%)
Mutual labels:  internal
software-project-blueprint
Project blueprint for Fintech Open Source Foundation hosted projects.
Stars: ✭ 21 (+5%)
Mutual labels:  internal

Internal Accessible Compiler

⚠️ NOTE: This project has been integrated into CSharpCompilerSettingsForUnity. We are NOT continuing development in this repository. ⚠️





This package generates an 'internal accessible' dll.

In other words, you can internally access to other assemblies without reflection.

PRs Welcome

<< Description | Install | Usage >>

What's new? See changelog

Do you want to receive notifications for new releases? Watch this repo

Support me on GitHub!

become_a_sponsor_on_github





Description

About IgnoresAccessChecksToAttribute
No InternalsVisibleTo, no problem – bypassing C# visibility rules with Roslyn





Install

Find Packages/manifest.json in your project and edit it to look like this:

{
  "dependencies": {
    "com.coffee.internal-accessible-compiler": "https://github.com/mob-sakai/InternalAccessibleCompilerForUnity.git",
    ...
  },
}

To update the package, add/change prefix #version to the target version.
Or, use UpmGitExtension.

Requirement

  • Unity 2018.3 or later
  • Dot Net 2.1 or later





Usage

Compile AssemblyDefinitionFile to an 'internal accessible' dll

  1. Select *.asmdef in project view.
  2. Click Right button and select Internal Accessible Compiler > Setting in context menu.
  3. Open Internal Accessible Compiler Setting and configure compile setting.
    • Assembly Names To Access: Target assembly names separated by semicolons to access internally (eg. UnityEditor;UnityEditor.UI)
    • OutputDllPath: Output dll path (eg. Assets/Editor/SomeAssembly.dll)
  4. Press Compile button to start compiling. After compilation, the dll will be automatically imported.
  5. Enjoy!





Demo

A demo project that dynamically changes the text displayed in UnityEditor's title bar. (This package is used in Solution 3.) https://github.com/mob-sakai/MainWindowTitleModifierForUnity

In this class, ApplicationTitleDescriptor, EditorApplication.updateMainWindowTitle and EditorApplication.UpdateMainWindowTitle are internal elements. However, the class accesses to them without reflection.

For more details, see this article (Japanese)





License

  • MIT

Author

mob-sakai
become_a_sponsor_on_github

See Also

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].