All Projects → yanghuan → Csharpluaforunity

yanghuan / Csharpluaforunity

Licence: mit
CSharp.lua的Unity适配,可将Unity工程中的C#代码编译至Lua

Labels

Projects that are alternatives of or similar to Csharpluaforunity

Unium
Automation for Unity games
Stars: ✭ 132 (-5.71%)
Mutual labels:  unity
Eazy Sound Manager
Eazy Sound Manager is a simple Unity3D tool which aims to make sound and music management in games easier
Stars: ✭ 135 (-3.57%)
Mutual labels:  unity
Urp kawase blur
URP renderfeature test project
Stars: ✭ 138 (-1.43%)
Mutual labels:  unity
Textureupdateexample
An example showing how to update textures from a native plugin in Unity.
Stars: ✭ 133 (-5%)
Mutual labels:  unity
Dxr
DXR is a Unity package for rapid prototyping of immersive data visualizations in augmented, mixed, and virtual reality (AR, MR, VR) or XR for short.
Stars: ✭ 134 (-4.29%)
Mutual labels:  unity
Unitylauncher
Unity Version Launcher
Stars: ✭ 137 (-2.14%)
Mutual labels:  unity
Parlour
A package of UI extensions, components and improvements for Unity's UI frameworks.
Stars: ✭ 132 (-5.71%)
Mutual labels:  unity
Unityurp Billboardlensflareshader
(1)Add a new Quad GameObject (2)Use this shader (3)Done! Now you have billboard lens flare shader for URP!
Stars: ✭ 140 (+0%)
Mutual labels:  unity
Ml Agents
Unity Machine Learning Agents Toolkit
Stars: ✭ 12,134 (+8567.14%)
Mutual labels:  unity
Exportscenetoobj
Export scene (including objects and terrain ) or fbx to .obj file for Unity. | 导出Unity的场景或FBX到obj文件
Stars: ✭ 137 (-2.14%)
Mutual labels:  unity
Steamworks.net
Steamworks wrapper for Unity / C#
Stars: ✭ 1,855 (+1225%)
Mutual labels:  unity
Unity Webxr Export
Develop and export WebXR experiences using Unity WebGL
Stars: ✭ 130 (-7.14%)
Mutual labels:  unity
Unity Android Live Wallpaper
Run your Unity game as live wallpaper on Android
Stars: ✭ 138 (-1.43%)
Mutual labels:  unity
Retrosuite3d
Some image effects and shaders to achieve a retro look in Unity
Stars: ✭ 132 (-5.71%)
Mutual labels:  unity
Kinostreak
Anamorphic lens flare effect for Unity
Stars: ✭ 139 (-0.71%)
Mutual labels:  unity
Arkit Cardboard Vr
ARkit + GVR to make VR and Mixed Reality 6dof AR for iphone
Stars: ✭ 132 (-5.71%)
Mutual labels:  unity
Beatsabercustomavatars
Allows the use of custom player models for body presence in Beat Saber.
Stars: ✭ 137 (-2.14%)
Mutual labels:  unity
Unityraytracinggem
💎 Ray tracing gem shader for Unity
Stars: ✭ 140 (+0%)
Mutual labels:  unity
Unitask
Provides an efficient allocation free async/await integration for Unity.
Stars: ✭ 2,547 (+1719.29%)
Mutual labels:  unity
Play Instant Unity Plugin
Google Play Instant Plugin for Unity Beta (Archived)
Stars: ✭ 139 (-0.71%)
Mutual labels:  unity

CSharpLuaForUnity

CSharpLuaForUnity尝试使用CSharp.lua将Unity工程中的C#脚本编译至Lua,以使其可用C#进行高效的开发,但是也能用Lua完成热更新,也已经开始在部分新项目中被采用。

依赖说明

如何使用

  • 在Unity编辑器环境下,会新增菜单项'CSharpLua',子菜单'Compile'可将工程目录Compiled下的C#代码编译成Lua代码放置到Assets/Lua/Compiled目录,子菜单'Switch to XXX'可在运行C#代码还是编译后的Lua代码中切换。设想的是实际开发中一直使用C#代码开发和调试,需要真机发布时,才编译到Lua代码
  • Examples目录下有一个简易的列子,可直接运行。可以看出能够支持在预设中挂载自定义的C#脚本,在运行Lua代码时,预设会被动态适配处理,具体实现可见代码。因而在打包时也需要对存在挂载了自定义C#脚本的的预设做相同的处理。

项目结构

使用了assembly definition files额外定义了一些程序集工程,依赖顺序如下。

Assembly-CSharp.dll --------> Compiled.dll --------> Bridge.dll --------> Base.dll

  • Compiled 此工程中的代码可编译至Lua,需要热更新的代码放到这个工程中
  • Bridge 可被Compiled引用的代码,需要Wrap到Lua的环境中
  • Base 可被Bridge引用的代码,但是不需要被Compiled所引用到

交流讨论

致谢

相关工程

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].