codewriter-packages / tri-inspector Goto Github PK
View Code? Open in Web Editor NEWFree inspector attributes for Unity [Custom Editor, Custom Inspector, Inspector Attributes, Attribute Extensions]
License: MIT License
Free inspector attributes for Unity [Custom Editor, Custom Inspector, Inspector Attributes, Attribute Extensions]
License: MIT License
Describe the bug
When a project has EasyButtons installed via PackageManager (https://github.com/madsbangh/EasyButtons) when TriInspector is installed, it would appear that TriInspector does not draw. I am guessing that EasyButtons is also drawing the inspector and does so after or in conflict with TriInspector.
EasyButtons is an older package which has a [Button] attribute as well, so this might be something that comes up for other potential users of TriInspector.
Expected behavior
TriInspector should draw.
Code Sample
To fix, uninstall EasyButtons before installing TriInspector. Then replace using EasyButtons with using TriInspector and in most cases the attribute signature remains the same.
//
Screenshots
Desktop:
Unity version:
Tri Inspector version:
[SceneObjectsOnly] public GameObject obj;
WTR:
Note: You can still see Mesh field if inspector is in the debug mode. If you add serialized Mesh field to your scripts it is visible in the inspector, so looks like the issue is with MeshFilter component only.
Describe the bug
A serialized property in a class with the [ReadOnly] attribute becomes editable when it is declared with the [InlineEditor]
Expected behavior
The [ReadOnly] attribute must be active for all time.
Code Sample
//
[Serializable]
public class Data
{
[SerializedField,ReadOnly]
private float a; // a is not editable in inspector here :)
}
public class Test : MonoBehaviour
{
[SerializedField,InlineEditor]
private Data data; // data.a become editable in inspector here :(
}
**Screenshots**
<!-- If applicable, add screenshots to help explain your problem. -->
**Desktop:** <!-- e.g. Windows 11 -->
**Unity version:** <!-- e.g. 2021.3.33f1 -->
**Tri Inspector version:** <!-- e.g. 1.13.2 -->
Describe the bug
Add an InfoBox attribute to a field.
Give the InfoBox a 'showif' parameter
Observe showif is initially respected.
Change state such that showif result would change
Observe the visibility of the InfoBox does not change until you navigate away or cause some other update of the inspector
Expected behavior
Changing the state such that the showif result would change should update visibility immediately.
Code Sample
[InfoBox("Some message", TriMessageType.Info, "$SomeConditionCheck")]
private int field;
Desktop: Windows 10
Unity version: 2021.1.24
Tri Inspector version: 1.10.1
Describe the bug
Dropdown attribute not working as expected. it updates on specific timing that's not on par with the serializableObejct.Apply...() nor serializableObject.Update(). so it neither receives data on time nor applies it on time
Expected behavior
update like other (i.e. float) fields
Code Sample
the editor window is here
and the class itself is here (look for word 'dropdown')
Screenshots
here's a video demonstrating the problem
Desktop: Windows 10
Unity version: 2021.2.13f1
Tri Inspector version: 1.9.7
Originally posted by piscopancer July 15, 2022
textfield of a string property becomes invisible when textarea attribute is assigned. I have a large poem to write in inspector though. my version is 1.6.0. I have tried it with different versions of Unity starting from 2021s and nowhere does it seem working. Can you check it out on your own bcs I still doubt that it is a 100% my setup error. โบ
BTW what I mean by not working is that there are 2 cases in one of which the whole textField of a string in inspector is invisible and in another case that TextArea sliders on the right truly appear BUT the textField remains invisible anyway.
Describe the bug
TableList is not draggable. Try "Tri Samples" have the same error.
Code Sample
[TableList(Draggable = true,
HideAddButton = false,
HideRemoveButton = false,
AlwaysExpanded = false
)]
Unity version: 2021.3.7f1
Tri Inspector version: 0.18
Describe the bug
i expect it should have body box like in screenshot in readme. but after i try, it did not have box on content. so i think it is a bug?
Code Sample
From Tri-inspector sample code.
using UnityEngine;
using TriInspector;
[DeclareBoxGroup("box", Title = "My Box")]
[CreateAssetMenu(fileName = "BoxGroupSample", menuName = "BoxGroupSample")]
public class BoxGroupSample : ScriptableObject
{
[Group("box")] public int a;
[Group("box")] public bool b;
}
Screenshots
This what i do for test;
Expected result: (Having content box)
Result: (Not having content box)
Desktop: Windows 10
Unity version: 2021.3.15f1
Tri Inspector version: 1.9.7
[ValueDropdown(nameof(Names))]
public string name;
public static string[] Names = { "One", "Two", "Three" };
Describe the bug
Installing tri inspector results in this error in the console:
Library\PackageCache\com.codewriter.triinspector@0e23ca4\Unity.InternalAPIEditorBridge.012\ReorderableListProxy.cs(66,31): error CS1501: No overload for method 'DoAddButton' takes 2 arguments
Unity version: 2019.4.36f1
Tri Inspector version: 0e23ca4 (1.13.2)
Describe the bug
Hello.
Today, I installed TriInspector and nothing was working, and it seems TriInspector conflicts with installation of MyBox.
Install MyBox and all TriInspector's attributes are ignored silently. No Error. MyBox side works fine. As soon as I uninstall MyBox, all things go back to normal. Samples from Tools menu works fine regardless.
Desktop:
MacOS 13.6
Unity version:
Tested with 2023.2.20f1
Tri Inspector version:
1.14.0
Describe the bug
Unity [Range] attribute don't show correctly with Tri inspector, and float field exceed inspector width.
When part of an horizontal group, sliders width get wrong and can overlap with label.
Expected behavior
[Range] attribute show correctly in all cases
Code Sample
using TriInspector;
using UnityEngine;
[DeclareBoxGroup("Test")]
[DeclareHorizontalGroup("TestHorizontal")]
public class TestComponent : MonoBehaviour
{
[Range(0, 1)]
public float simpleRange;
[Group("TestHorizontal"), Range(0, 1)]
public float horizontalRange1;
[Group("TestHorizontal"), Range(0, 1)]
public float horizontalRange2;
}
Desktop: Windows 11
Unity version: 2022.3.11
Tri Inspector version: 1.13.2
Describe the bug
I wanted to replace Odin Inspector with Tri-Inspector in one of my open-source sample.
I followed install instruction from Readme, but bump with error:
[Package Manager Window] Unable to add package [https://github.com/codewriter-packages/Tri-Inspector.git]:
Package com.codewriter.triinspector@https://github.com/codewriter-packages/Tri-Inspector.git has invalid dependencies or related test packages:
com.unity.localization (dependency): Package [[email protected]] cannot be found
UnityEditor.EditorApplication:Internal_CallUpdateFunctions ()
Is Tri-Inspector compatible only with Unity 2021+?
Expected behavior
I expected everything will be going smooth as butter.
Desktop: Windows 10 LTSC
Unity version: 2020.3.48f1
Tri Inspector version: Latest
Describe the bug
The TriInspector probably doesn't serialize and support dictionaries, but for some reason it trys. and as a result, a broken inspector will be shown for them
Expected behavior
Either don't show them or show them properly
Code Sample
public Dictionary<string, Object> listeners;
Desktop: Windows 10
Unity version: 2021.2.13f1
Tri Inspector version: 1.9.5
Originally posted by somedeveloper00 January 4, 2023
hi. straight to the point, the InfoBox attribute is being ignored in the final height by box layouts.
here's a video showcasing it:
Describe the bug
Collections such as List and Array do not show the index of each element. Problem may exists for other colllection types as well.
Expected behavior
Show indexes to elements.
Code Sample
public class NoIndexDemo : MonoBehaviour
{
public List<int> _lst;
public int[] _arry;
}
Unity version: 2019, 2020, 2021 LTS
Tri Inspector version: 1.13.0
The following features will be added to the Tri Inspector when the required number of is reached on the project page.
[Scene] public string sceneName;
[Scene] public int sceneIndex;
[ChildGameObjectsOnly] public GameObject asset;
[ParentGameObjectsOnly] public GameObject sceneObject;
[DeclareFoldoutGroup("demo")]
public class DemoClass {
[Group("demo")] public bool;
[Group("demo")] List<Vector3> list;
}
Soon
Describe the bug
Dupplicate draw field when attach value for field after attach component to GameObject.
Wrong positon draw field
I was check with Unity 2021.3 and it still work correctly
Expected behavior
Code Sample
Create class player look like
public class Player : MonoBehaviour
{
public string id;
}
And create CustomPropertyDrawer for it
[CustomPropertyDrawer(typeof(Player))]
public class PlayerPropertyEditor : PropertyDrawer
{
private SerializedObject _serializedObject;
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
EditorGUI.BeginProperty(position, label, property);
var targetObject = property.objectReferenceValue;
if (targetObject == null)
{
EditorGUI.PropertyField(position, property, label);
EditorGUI.EndProperty();
return;
}
if (_serializedObject == null || _serializedObject.targetObject != targetObject) _serializedObject = new SerializedObject(targetObject);
_serializedObject.UpdateIfRequiredOrScript();
var rect = position;
var labelRect = position;
labelRect.width = position.width * 0.4f;
property.isExpanded = EditorGUI.Foldout(labelRect, property.isExpanded, new GUIContent(""), true);
if (property.isExpanded)
{
//Draw property on the full width
rect.width = position.width;
EditorGUI.PropertyField(rect, property, label);
EditorGUI.indentLevel++;
GUILayout.BeginVertical(GUI.skin.box);
DrawInspectorExcept(_serializedObject, new[] {"m_Script"});
GUILayout.EndVertical();
EditorGUI.indentLevel--;
}
_serializedObject.ApplyModifiedProperties();
EditorGUI.EndProperty();
}
public static void DrawInspectorExcept(SerializedObject serializedObject, string[] fieldsToSkip)
{
serializedObject.Update();
var prop = serializedObject.GetIterator();
if (prop.NextVisible(true))
{
do
{
if (fieldsToSkip.Any(prop.name.Contains)) continue;
EditorGUILayout.PropertyField(serializedObject.FindProperty(prop.name), true);
} while (prop.NextVisible(false));
}
serializedObject.ApplyModifiedProperties();
}
}
Now can test with sample demo
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
public Player player;
public float damage;
}
Desktop: Windows 11
Unity version: 2022.2.11f1
Tri Inspector version: 1.10.0
Describe the bug
TriAssetImporterEditor.OnInspectorGUI must call ApplyRevertGUI to avoid unexpected behaviour.
UnityEditor.AssetImporters.AssetImporterEditor:OnDisable ()
TriInspector.TriAssetImporterEditor:OnDisable () (at ./Library/PackageCache/com.codewriter.triinspector@04ad48abec/Editor/TriEditor.cs:28)
Expected behavior
No error
Desktop:
Unity version:
Tri Inspector version:
Describe the bug
Compile errors on new install with odin 2.1.13.0 on unity 2021.3.38f1
Expected behavior
no compile errors
Library\PackageCache\com.codewriter.triinspector@0c5b8f4480\Editor.Integrations\Odin\OdinObjectValidator.cs(21,30): error CS0115: 'OdinObjectValidator<T>.CanValidateProperty(InspectorProperty)': no suitable method found to override
Library\PackageCache\com.codewriter.triinspector@0c5b8f4480\Editor.Integrations\Odin\OdinObjectValidator.cs(49,33): error CS0115: 'OdinObjectValidator<T>.Validate(ValidationResult)': no suitable method found to override
Library\PackageCache\com.codewriter.triinspector@0c5b8f4480\Editor.Integrations\Odin\OdinObjectValidator.cs(11,18): error CS0534: 'OdinObjectValidator<T>' does not implement inherited abstract member 'ValueValidator<T>.Validate(T, ValidationResult)'
Desktop: Windows 10
Unity version: 2021.3.38f1
Tri Inspector version: v1.14.0
Describe the bug
For classes inherited from Unity.Netcode.NetworkBehaviour no attributes are drawn.
For other classes, even in the same assembly, even inherited from other abstract classes (which in turn are inherited from MonoBehaviour) works fine.
Maybe the error is not connected with NetworkBehaviour, or Unity did some nasty things there, or the error is mine, don't know :)
Expected behavior
Drawn attributes, as usual.
Code Sample
using TriInspector;
using Unity.Netcode;
using UnityEngine;
public class Test: NetworkBehaviour
{
[SerializeField]
private bool isSynced = false;
[InfoBox(
"oh no",
TriMessageType.Warning
)]
[SerializeField]
[EnableIf(nameof(isSynced))]
private int syncActionType;
}
Desktop: Windows 11
Unity version: 2023.2.4f1
Tri Inspector version: 1.13.2
The foldout arrow is outside BoxGroup (probably any group tho)
Expected to be placed little bit to the right (with offset of about 20-50 pixels idk)
Windows 10
2022.1.0b10.2818
1.8.0
THE SOLUTION FOR THIS MAY BE:
so I have simply added Indent like this
[SerializeField, Group("Presets"), Indent(1)] CameraPreset presetMenu, presetGuns, presetCharacter;
and it worked nicely.
So can you somehow automate/fix/solve it?
Describe the bug
On Unity 2020.3.22f1 (and assuming later versions as well)
On install:
Library\PackageCache\com.codewriter.triinspector@692dfb6\Unity.InternalAPIEditorBridge.012\ReorderableListProxy.cs(42,18): error CS1061: 'ReorderableList' does not contain a definition for 'InvalidateCacheRecursive' and no accessible extension method 'InvalidateCacheRecursive' accepting a first argument of type 'ReorderableList' could be found (are you missing a using directive or an assembly reference?)
Expected behavior
No errors should present.
Code Sample
To fix, in ReorderableListProxy:41, remove the bit that says UNITY_2020_3
[EnumToggleButtons] public SomeEnum val;
public enum { One, Two, Three }
WTR:
[SerializeField] private Color32 _color;
Note: Field is still visible if the inspector is in the debug mode.
[AssetsOnly] public GameObject obj;
Describe the bug
Can`t edit area of effects values
Expected behavior
able to edit area of effect values
Code Sample
[Serializable]
[StructLayout(LayoutKind.Explicit)]
public struct GameplayAction
{
[FieldOffset(0)]
public GameplayActionType Type;
[FieldOffset(4)]
[ShowIf(nameof(Type), GameplayActionType.SpawnProjectile)]
public SpawnProjectileAction SpawnProjectile;
[FieldOffset(4)]
[ShowIf(nameof(Type), GameplayActionType.ApplyEffect)]
public ApplyEffectAction ApplyEffect;
[FieldOffset(4)]
[ShowIf(nameof(Type), GameplayActionType.ApplyAreaOfEffect)]
public AreaOfEffectShape AreaOfEffect;
[FieldOffset(4)]
[ShowIf(nameof(Type), GameplayActionType.SpawnAreaOfEffect)]
public SpawnAreaOfEffectAction SpawnAreaOfEffect;
}
//
Screenshots
Desktop: Windows 11
**Unity version: 2020.3.35f1
Tri Inspector version: 1.1.01
Describe the bug
For serialized properties changing fields with reference types (AnimationCurve, Gradient) doesn't mark object as dirty
Expected behavior
After changing values object marks as dirty
Code Sample
Changing values inside testField works as intended, but not for TestProperty
public class CurveTest : MonoBehaviour
{
public NestedReferenceTest testField;
[ShowInInspector]
[InlineProperty]
[HideLabel]
[PropertySpace]
public NestedReferenceTest TestProperty
{
get => testField;
set => testField = value;
}
}
[Serializable]
public class NestedReferenceTest
{
public AnimationCurve curve;
public Gradient gradient;
public float floatValue;
}
The problem is in the TriValue.SmartValue I suppose - comparer for reference values always returns true
[PublicAPI]
public T SmartValue
{
get => (T) Property.Value;
set
{
if (Property.Comparer.Equals(Property.Value, value))
{
return;
}
Property.SetValue(value);
}
}
Desktop: Windows 10
Unity version: 2022.3.16f1
Tri Inspector version: 1.13.2
Clear Unity 2021.3.8 URP project. It may be something with assemblies.
Library\PackageCache\com.codewriter.triinspector@a1fd95dc2e\Editor\Elements\InlineEditorElement.cs(2,7): error CS0246: The type or namespace name 'TriInspectorUnityInternalBridge' could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.codewriter.triinspector@a1fd95dc2e\Editor\Elements\TriBuiltInPropertyElement.cs(1,7): error CS0246: The type or namespace name 'TriInspectorUnityInternalBridge' could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.codewriter.triinspector@a1fd95dc2e\Editor\Elements\TriInfoBoxElement.cs(2,7): error CS0246: The type or namespace name 'TriInspectorUnityInternalBridge' could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.codewriter.triinspector@a1fd95dc2e\Editor\Elements\TriListElement.cs(3,7): error CS0246: The type or namespace name 'TriInspectorUnityInternalBridge' could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.codewriter.triinspector@a1fd95dc2e\Editor\Elements\TriPropertyElement.cs(2,7): error CS0246: The type or namespace name 'TriInspectorUnityInternalBridge' could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.codewriter.triinspector@a1fd95dc2e\Editor\Utilities\TriManagedReferenceGui.cs(4,7): error CS0246: The type or namespace name 'TriInspectorUnityInternalBridge' could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.codewriter.triinspector@a1fd95dc2e\Editor\Elements\TriBuiltInPropertyElement.cs(10,26): error CS0246: The type or namespace name 'PropertyHandlerProxy' could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.codewriter.triinspector@a1fd95dc2e\Editor\Elements\TriBuiltInPropertyElement.cs(16,13): error CS0246: The type or namespace name 'PropertyHandlerProxy' could not be found (are you missing a using directive or an assembly reference?)
Describe the bug
The attribute, [EnumToggleButtons], does not support flagged enums, despite the images showing it in the read me. When clicking on an enum, it will remove all other values and only set the value to the recently selected enum.
Expected behavior
Multiple flags can be applied at once.
Code Sample
The problem is in EnumToggleButtonsDrawer -> OnGUI, where the code on line 75 overwrites the property value with the changed value. When there is a flag, it should only toggle the bit values. I tried modifying the code to get it to work demonstrated with the yellow highlighting in the image below, and it seems to work. There are probably cleaner ways to do it, but this solves it for me for now.
Desktop: Windows 10
Unity version: 2020.3.25f1
Tri Inspector version: 1.9.6
Describe the bug
When i create a new guiskins
Unity GUISkins are not drawn correctly on Inspector (Object Serialize, ReorderList)
Expected behavior
Draw the information of the object, the list of the correct GuiSkins file
Desktop: Windows 11
Unity version: 2021.3.8f1
Tri Inspector version: 1.9.2
I've been trying to get the TableList working with a custom class I've created, but it kept displaying a normal list inspector.
I also tried using the TableList sample to check if that works, but the same applies (as seen in screenshot below).
Desktop: Windows 10
Unity version: Unity 2022.1.18f1
Tri Inspector version: 1.10.1
WTR:
Assets/Tri-Inspector/Unity.InternalAPIEditorBridge.012/ReorderableListProxy.cs(26,18): error CS1061: 'ReorderableList' does not contain a definition for 'ClearCacheRecursive' and no accessible extension method 'ClearCacheRecursive' accepting a first argument of type 'ReorderableList' could be found (are you missing a using directive or an assembly reference?)
public SomeEnum someEnum;
public bool someBool;
[ShowIf(nameof(someEnum), SomeEnum.Two)]
public bool val;
[ShowIf(nameof(someBool), true)] // Same as [ShowIf(nameof(someBool))]
public float f1;
[ShowIf(nameof(someBool), false)]
public float f2;
public enum SomeEnum { One, Two }
Describe the bug
When using an attribute
[InlineEditor] public Material mat;
the inline editor sometimes fails to draw (empty, reported height=0) completely in case one assign a new Material to the mat variable from the Inspector.
Reason seems to be:
In InlineEditorElement.cs
When assigning a new value via the inspector the call to
InternalEditorUtilityProxy.SetIsInspectorExpanded
is omitted. This call only happens when the element is attached to a panel.
See InlineEditorElement.OnAttachToPanel().
Depending on the Material's state the InlineEditor sometimes does draw. Especially if you switch to a different MonoBehaviour and back.
Possible Fix:
public override void OnGUI(Rect position)
{
...
if (_editor == null && shouldDrawEditor && _property.Value is Object obj && obj != null)
{
_editor = Editor.CreateEditor(obj);
if (obj != null && !InternalEditorUtilityProxy.GetIsInspectorExpanded(obj))
{
InternalEditorUtilityProxy.SetIsInspectorExpanded(obj, true);
}
}
...
Desktop:
Windows 10
Unity version:
2022.3.10f1
Tri Inspector version:
1.13.2
Describe the bug
UnityEvent don't show their field name in inspector
Expected behavior
UnityEvent show their field name in inspector
Code Sample
{
public UnityEvent testevent;
public UnityEvent<float> testevent2;
}
Screenshots
Without Tri-Inspector installed:
Desktop: Windows 11
Unity version: 2022.3.8
Tri Inspector version: 1.13.1
Reproduced in an empty project.
Describe the bug
Properties with data type RectOffset
are not drawn correctly outside the inspector
Expected behavior
Draw full properties of class RectOffset
Like this
Code Sample
using UnityEngine;
public class Demo : MonoBehaviour
{
public RectOffset offset;
}
Desktop:
Unity version:
Tri Inspector version:
[TableList] public List<Item> items;
public class Item {
public int one;
public string two;
}
Describe the bug
When using CreatePropertyGUI() for custom PropertyDrawers, a No GUI Implemented error is displayed.
Expected behavior
A custom PropertyDrawer should be displayed.
Code Sample
using UnityEngine;
public enum IngredientUnit { Spoon, Cup, Bowl, Piece }
// Custom serializable class
[Serializable]
public class Ingredient
{
public string name;
public int amount = 1;
public IngredientUnit unit;
}
public class Recipe : MonoBehaviour
{
public Ingredient potionResult;
public Ingredient[] potionIngredients;
}
[CustomPropertyDrawer(typeof(Ingredient))]
public class IngredientDrawerUIE : PropertyDrawer
{
public override VisualElement CreatePropertyGUI(SerializedProperty property)
{
// Create property container element.
var container = new VisualElement();
// Create property fields.
var amountField = new PropertyField(property.FindPropertyRelative("amount"));
var unitField = new PropertyField(property.FindPropertyRelative("unit"));
var nameField = new PropertyField(property.FindPropertyRelative("name"), "Fancy Name");
// Add fields to the container.
container.Add(amountField);
container.Add(unitField);
container.Add(nameField);
return container;
}
}
Desktop: Windows 11
Unity version: 2022.3.4
Tri Inspector version: 1.9.6
Describe the bug
Throw error when play in editor and scale or rotate object
System.Exception: Invalid path in TextDataProvider : 'Library/com.unity.addressables/aa/Android/settings.json'
Describe the bug
Bug condition with array not empty, seem to be error by _valueGetter(property, targetIndex) return parent not correct
Expected behavior
Draw aray element correctly without error
Code Sample
public bool isShow;
[HideIf(nameof(isShow))] public List<int> itemIds = new List<int>();
Desktop:
Unity version:
Tri Inspector version:
Describe the bug
SerializeReference not applying changes to disk. I have some sort of data structure like the following
[Serializable]
public struct Item
{
public LocalizedString name;
public LocalizedString description;
public Sprite icon;
[SerializeField] private EntityStats baseStats;
[SerializeReference] private EntityEnhancement[] level2Enhancements;
[SerializeReference] private EntityEnhancement[] level3Enhancements;
[SerializeReference] private EntityEnhancement[] level4Enhancements;
...
and neither of the SerializeReference fields get saved to disk after Ctrl+S.
Expected behavior
Save to disk.
Code Sample
public sealed partial class TroopsManifest : ManifestScriptableObject<TroopsManifest.Item>
{
// we'll have some TroopsManifest.Item[] in the base class
[Serializable]
public struct Item
{
public LocalizedString name; // saves to disk
public LocalizedString description; // saves to disk
public Sprite icon; // saves to disk
[SerializeField] private EntityStats baseStats; // saves to disk
[SerializeReference] private EntityEnhancement[] level2Enhancements; // DOESNT save to disk
[SerializeReference] private EntityEnhancement[] level3Enhancements; // DOESNT save to disk
[SerializeReference] private EntityEnhancement[] level4Enhancements; // DOESNT save to disk
}
}
Desktop:
Unity version:
Tri Inspector version: latest to this date
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.