All Projects → esnya → UdonRabbit.Analyzer

esnya / UdonRabbit.Analyzer

Licence: MIT license
DEPRECATED (U#1.0 not supported) .NET Roslyn Analyzer for VRChat Udon and UdonSharp.

Programming Languages

C#
18002 projects
powershell
5483 projects
typescript
32286 projects

Projects that are alternatives of or similar to UdonRabbit.Analyzer

VRC-Ender-3
A functional 3d printer for VRChat worlds
Stars: ✭ 44 (+0%)
Mutual labels:  vrchat, udon, vrchat-udon, udonsharp
UdonVideoplayer
VRChat Videoplayer for Quest and PC
Stars: ✭ 20 (-54.55%)
Mutual labels:  vrchat, vrchat-udon, udonsharp
UNet
Network system for VRChat UDON
Stars: ✭ 19 (-56.82%)
Mutual labels:  vrchat, udon, udonsharp
USharpVideo
A basic video player made for VRChat using Udon and UdonSharp
Stars: ✭ 238 (+440.91%)
Mutual labels:  vrchat, udon, udonsharp
WorldCreatorAssistant
Unity Editor extension for automating VRChat world project package management
Stars: ✭ 133 (+202.27%)
Mutual labels:  vrchat
DisposableFixer
This is a Visual Studio Extension and NuGet package that should identify and fix problems as memleaks while using IDisposables.
Stars: ✭ 37 (-15.91%)
Mutual labels:  roslyn-analyzer
EasyEventEditor
Drop in replacement for the default Unity event editor drawer that allows listener reordering
Stars: ✭ 103 (+134.09%)
Mutual labels:  vrchat
nunit.analyzers
Roslyn analyzers for writing unit tests with NUnit
Stars: ✭ 69 (+56.82%)
Mutual labels:  roslyn-analyzer
VRChat-Tools
A collection of useful VRChat related tools for Unity!
Stars: ✭ 43 (-2.27%)
Mutual labels:  vrchat
DynamicBonesStudio
A useful tool for quickly setting up and manipulating dynamic bones for Unity characters
Stars: ✭ 60 (+36.36%)
Mutual labels:  vrchat
SlimeVR-Server
Server app for SlimeVR ecosystem
Stars: ✭ 361 (+720.45%)
Mutual labels:  vrchat
ExhaustiveMatching
C# Analyzer Adding Exhaustive Checking of Switch Statements and Expressions
Stars: ✭ 60 (+36.36%)
Mutual labels:  roslyn-analyzer
Unity-MSDF-Fonts
Basic tool to convert Unity fonts to use Multichannel Signed Distance Field fonts
Stars: ✭ 54 (+22.73%)
Mutual labels:  vrchat
Analyzers
C# code analyzers
Stars: ✭ 18 (-59.09%)
Mutual labels:  roslyn-analyzer
vrchatapi-csharp
🟣VRChat API Library for C#
Stars: ✭ 27 (-38.64%)
Mutual labels:  vrchat
VRCMods
⚙️ New features & quality of life improvements for VRChat
Stars: ✭ 21 (-52.27%)
Mutual labels:  vrchat
KorikasAvatarPlugin
🐈 Manage your VRChat avatars with ease!
Stars: ✭ 27 (-38.64%)
Mutual labels:  vrchat
100Avatars
100Avatars - 200 open-source Avatars
Stars: ✭ 82 (+86.36%)
Mutual labels:  vrchat
VRCFaceTracking
VRChat OSC App to allow AV3 Avatars to interact with Vive SRanipal Eye and Lip Tracking SDK
Stars: ✭ 176 (+300%)
Mutual labels:  vrchat
material-combiner-addon
Blender addon for material combining, uv bounds fixing
Stars: ✭ 309 (+602.27%)
Mutual labels:  vrchat

UdonRabbit.Analyzer

!!Attention!!: This project has been taken over by the current Owner from the original author. At the request of the original author, all past history has also been made anonymous. All branches are force-pushed for this operation. Also, there is no active maintenance as before. We are desperately looking for collaborators to keep up with the fast-changing Udon.

Experimental .NET Roslyn Analyzer, Code Fixes, Refactorings for VRChat Udon and UdonSharp. This analyzer accelerates Udon development with UdonSharp by detecting syntaxes/language features that are not supported by Udon and/or UdonSharp in the editor stage. Check out the list of analyzers for supported syntaxes and other information.

Features

  • It reports the part of the behaviour that doesn't work well on VRChat as an error in editor
  • It reports an error in the editor that about the syntax that cannot be compiled by the UdonSharp
  • etc

Getting Started

Requirements

  • Microsoft Visual Studio 2019 or IDE that supports Roslyn Analyzer
  • VRCSDK3 that supports Udon
  • UdonSharp

Development

This is how to develop the UdonRabbit Analyzer (not your UdonSharp project). If you want to load it into the UdonSharp project, refer to the installation for each IDE in the "Getting Started" section. Unless you are developing an Analyzer, I do not recommend doing the following section unless you have enough machine power.

Requirements

  • .NET 5
  • Visual Studio Version 16.8+ or Visual Studio for Mac 8.8+
  • Unity Project that containing VRCSDK3 and UdonSharp

How to develop

  1. Open Source/UdonRabbit.Analyzer.sln in your Visual Studio
  2. Start UdonRabbit.Analyzer.VisualStudio.XXXX as debug profile
  3. After the Visual Studio Experimental Instance starts, open the Unity project that has VRCSDK3 and UdonSharp installed
  4. Open any source file that inherits from UdonSharp.UdonSharpBehaviour

Create a new analyzer

  1. Open Source/UdonRabbit.Analyzer.sln in your Visual Studio or other IDE
  2. Build UdonRabbit.Analyzer.CodeGen
  3. Run dotnet ./UdonRabbit.Analyzer.CodeGen.dll -i IDENTIFIER -l "CLASS_NAME" -t "TITLE" -d "DESCRIPTION" -m "MESSAGE_FORMAT" -c CATEGORY -s SEVERITY -w ../ in ROOT/bin
  4. Rebuild ResX in Visual Studio or run ResGen.exe
  5. Start Coding!

Testing

Requirements

  • .NET 5
  • Visual Studio Version 16.8+
  • Unity Project that containing VRCSDK3 and UdonSharp

How to test

  1. Configure the following environment variables in Source/UdonRabbit.Analyzer.Test/bin/Debug/net5.0/UdonRabbit.runsettings
    • UDONRABBIT_ANALYZER_TEST_PROJECT : Unity 2018.4.20f1 Test Project Location (.csproj)
      • I recommended to reference to Assembly-CSharp.csproj because it has all references to DLLs.
      • If you are not want to reference to Assembly-CSharp.csproj, add the following external references:
        • TextMeshPro
        • UdonSharp.Runtime
    • UDONRABBIT_ANALYZER_TEST_UDON_SHARP : UdonSharp.Runtime.dll Location
  2. Run dotnet test

ScreenShots

Report Unsupported Language Features

Report Unsupported Udon APIs

Report Unsupported Unity Messages

License

MIT by esnya

Third Party Notices

This project contains some code from the following project. See method comments for details.

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