yanghuan / Csharpluaforunity
Licence: mit
CSharp.lua的Unity适配,可将Unity工程中的C#代码编译至Lua
Stars: ✭ 140
Labels
Projects that are alternatives of or similar to Csharpluaforunity
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
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
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
Exportscenetoobj
Export scene (including objects and terrain ) or fbx to .obj file for Unity. | 导出Unity的场景或FBX到obj文件
Stars: ✭ 137 (-2.14%)
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
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
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完成热更新,也已经开始在部分新项目中被采用。
依赖说明
- 使用tolua版本作为Lua支持环境
- 使用LuaFramework_UGUI_V2编译的动态链接tolua库(集成了pbc)
- 使用CSharp.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所引用到
交流讨论
- Issues
- 邮箱:[email protected]
- QQ群: 715350749
致谢
相关工程
- DCET 在ET框架的基础上集成了CSharp.lua和xlua
https://github.com/DukeChiang/DCET - ILRuntime C#实现的IL运行环境
https://github.com/Ourpalm/ILRuntime
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].