runirip_objects/classes/
structs.rs

1#![allow(non_camel_case_types, non_snake_case)]
2use crate::PPtr;
3use serde::{Deserialize, Serialize};
4
5/// AABB is a sub class of the Unity engine since version 3.4.0.
6#[derive(Debug, Serialize, Deserialize)]
7pub struct AABB {
8    pub m_Center: Vector3f,
9    pub m_Extent: Vector3f,
10}
11
12/// ASTCImporter is a  class of the Unity engine since version 5.0.0f4.
13#[derive(Debug, Serialize, Deserialize)]
14pub struct ASTCImporter {
15    pub m_AssetBundleName: String,
16    pub m_AssetBundleVariant: String,
17    pub m_Name: String,
18    pub m_UserData: String,
19}
20
21/// AddedComponent is a sub class of the Unity engine since version 2022.2.0b1.
22/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SceneManagement.AddedComponent.html):
23/**
24Class with information about a component that has been added to a Prefab instance.
25*/
26#[derive(Debug, Serialize, Deserialize)]
27pub struct AddedComponent {
28    /// PPtr<[`Component`]>: (2022.2.0b1 - 2022.3.2f1)
29    pub addedObject: PPtr,
30    pub insertIndex: i32,
31    /// PPtr<[`GameObject`]>: (2022.2.0b1 - 2022.3.2f1)
32    pub targetCorrespondingSourceObject: PPtr,
33}
34
35/// AddedGameObject is a sub class of the Unity engine since version 2022.1.0b1.
36/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SceneManagement.AddedGameObject.html):
37/**
38Class with information about a GameObject that has been added as a child under a Prefab instance.
39*/
40#[derive(Debug, Serialize, Deserialize)]
41pub struct AddedGameObject {
42    /// PPtr<[`Transform`]>: (2022.1.0b1 - 2022.3.2f1)
43    pub addedObject: PPtr,
44    pub insertIndex: i32,
45    /// PPtr<[`Transform`]>: (2022.1.0b1 - 2022.3.2f1)
46    pub targetCorrespondingSourceObject: PPtr,
47}
48
49/// AimConstraint is a  class of the Unity engine since version 2018.1.0b2.
50/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.AimConstraint.html):
51/**
52Constrains the orientation of an object relative to the position of one or more source objects, such that the object is facing the average position of the sources.
53*/
54#[derive(Debug, Serialize, Deserialize)]
55pub struct AimConstraint {
56    pub m_AffectRotationX: bool,
57    pub m_AffectRotationY: bool,
58    pub m_AffectRotationZ: bool,
59    /**The axis towards which the constrained object orients.*/
60    pub m_AimVector: Vector3f,
61    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
62    pub m_Enabled: u8,
63    /**The game object this component is attached to. A component is always attached to a game object.*/
64    /// PPtr<[`GameObject`]>: (2018.1.0b2 - 2022.3.2f1)
65    pub m_GameObject: PPtr,
66    /**The rotation used when the sources have a total weight of 0.*/
67    pub m_RotationAtRest: Vector3f,
68    /**Represents an offset from the constrained orientation.*/
69    pub m_RotationOffset: Vector3f,
70    pub m_Sources: Vec<ConstraintSource>,
71    pub m_UpType: i32,
72    /**The up vector.*/
73    pub m_UpVector: Vector3f,
74    /**The weight of the constraint component.*/
75    pub m_Weight: f32,
76    /**The world up object, used to calculate the world up vector when the world up Type is AimConstraint.WorldUpType.ObjectUp or AimConstraint.WorldUpType.ObjectRotationUp.*/
77    /// PPtr<[`Transform`]>: (2018.1.0b2 - 2022.3.2f1)
78    pub m_WorldUpObject: PPtr,
79    /**The world up Vector used when the world up type is AimConstraint.WorldUpType.Vector or AimConstraint.WorldUpType.ObjectRotationUp.*/
80    pub m_WorldUpVector: Vector3f,
81    /// bool: (2022.1.0b1 - 2022.3.2f1)
82    pub m_Active: Option<bool>,
83    /// bool: (2018.1.0b2 - 2022.1.0a9)
84    pub m_IsContraintActive: Option<bool>,
85}
86
87/// AndroidAssetPackImporter is a  class of the Unity engine since version 2019.4.29f1.
88/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AndroidAssetPackImporter.html):
89/**
90Represents an Android asset pack directory in a project.
91*/
92#[derive(Debug, Serialize, Deserialize)]
93pub struct AndroidAssetPackImporter {
94    /**Get or set the AssetBundle name.*/
95    pub m_AssetBundleName: String,
96    /**Get or set the AssetBundle variant.*/
97    pub m_AssetBundleVariant: String,
98    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2019.4.29f1 - 2022.3.2f1)
99    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
100    /**The name of the object.*/
101    pub m_Name: String,
102    pub m_UsedFileIDs: Vec<i64>,
103    /**Get or set any user data.*/
104    pub m_UserData: String,
105}
106
107/// Animation is a  class of the Unity engine since version 3.4.0.
108/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animation.html):
109/**
110The animation component is used to play back animations.
111You can assign animation clips to the animation component and control playback from your script.
112
113The animation system in Unity is weight-based and supports Animation Blending, Additive animations, Animation Mixing, Layers and full control over all aspects of playback.For an overview of animation scripting in Unity please read this introduction.AnimationState can be used to change the layer of an animation, modify playback speed, and for direct control over blending and mixing.Also Animation supports enumerators. Looping through all AnimationStates is performed like this:
114See Also: An overview of animation scripting in Unity is here.
115*/
116#[derive(Debug, Serialize, Deserialize)]
117pub struct Animation {
118    /**When turned on, animations will be executed in the physics loop. This is only useful in conjunction with kinematic rigidbodies.*/
119    pub m_AnimatePhysics: bool,
120    /// PPtr<[`AnimationClip`]>: (3.4.0 - 2022.3.2f1)
121    pub m_Animation: PPtr,
122    /// Vec<PPtr<[`AnimationClip`]>>: (3.4.0 - 2022.3.2f1)
123    pub m_Animations: Vec<PPtr>,
124    /**Controls culling of this Animation component.*/
125    pub m_CullingType: i32,
126    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
127    pub m_Enabled: u8,
128    /**The game object this component is attached to. A component is always attached to a game object.*/
129    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
130    pub m_GameObject: PPtr,
131    /**Should the default animation clip (the Animation.clip property) automatically start playing on startup?*/
132    pub m_PlayAutomatically: bool,
133    /**How should time beyond the playback range of the clip be treated?*/
134    pub m_WrapMode: i32,
135    /// AABB: (3.4.0 - 4.2.2)
136    pub m_UserAABB: Option<AABB>,
137}
138
139/// AnimationClip is a  class of the Unity engine since version 3.4.0.
140/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AnimationClip.html):
141/**
142Stores keyframe based animations.
143AnimationClip is used by Animation to play back animations.
144*/
145#[derive(Debug, Serialize, Deserialize)]
146pub struct AnimationClip {
147    pub m_Bounds: AABB,
148    pub m_Compressed: bool,
149    pub m_CompressedRotationCurves: Vec<CompressedAnimationCurve>,
150    /**Animation Events for this animation clip.*/
151    pub m_Events: Vec<AnimationEvent>,
152    pub m_FloatCurves: Vec<FloatCurve>,
153    /**The name of the object.*/
154    pub m_Name: String,
155    pub m_PositionCurves: Vec<Vector3Curve>,
156    pub m_RotationCurves: Vec<QuaternionCurve>,
157    pub m_SampleRate: f32,
158    pub m_ScaleCurves: Vec<Vector3Curve>,
159    /**Sets the default wrap mode used in the animation state.*/
160    pub m_WrapMode: i32,
161    /// i32: (4.0.0 - 4.7.2)
162    pub m_AnimationType: Option<i32>,
163    /// AnimationClipBindingConstant: (4.3.0 - 2022.3.2f1)
164    pub m_ClipBindingConstant: Option<AnimationClipBindingConstant>,
165    /// Vec<Vector3Curve>: (5.3.0f1 - 2022.3.2f1)
166    pub m_EulerCurves: Option<Vec<Vector3Curve>>,
167    /**Returns true if the Animation has animation on the root transform.*/
168    /// bool: (2018.3.0f2 - 2022.3.2f1)
169    pub m_HasGenericRootTransform: Option<bool>,
170    /**Returns true if the AnimationClip has editor curves for its root motion.*/
171    /// bool: (2018.3.0f2 - 2022.3.2f1)
172    pub m_HasMotionFloatCurves: Option<bool>,
173    /**Set to true if the AnimationClip will be used with the Legacy Animation component ( instead of the Animator ).*/
174    /// bool: (5.0.0f4 - 2022.3.2f1)
175    pub m_Legacy: Option<bool>,
176    /// ClipMuscleConstant: (4.0.0 - 2022.3.2f1)
177    pub m_MuscleClip: Option<ClipMuscleConstant>,
178    /// u32: (4.0.0 - 2022.3.2f1)
179    pub m_MuscleClipSize: Option<u32>,
180    /// Vec<PPtrCurve>: (4.3.0 - 2022.3.2f1)
181    pub m_PPtrCurves: Option<Vec<PPtrCurve>>,
182    /// bool: (4.3.0 - 2022.3.2f1)
183    pub m_UseHighQualityCurve: Option<bool>,
184}
185
186/// AnimationClipBindingConstant is a sub class of the Unity engine since version 4.3.0.
187#[derive(Debug, Serialize, Deserialize)]
188pub struct AnimationClipBindingConstant {
189    pub genericBindings: Vec<GenericBinding>,
190    /// Vec<PPtr<[`Object`]>>: (4.3.0 - 2022.3.2f1)
191    pub pptrCurveMapping: Vec<PPtr>,
192}
193
194/// AnimationClipOverride is a sub class of the Unity engine since version 4.3.0.
195#[derive(Debug, Serialize, Deserialize)]
196pub struct AnimationClipOverride {
197    /// PPtr<[`AnimationClip`]>: (4.3.0 - 2022.3.2f1)
198    pub m_OriginalClip: PPtr,
199    /// PPtr<[`AnimationClip`]>: (4.3.0 - 2022.3.2f1)
200    pub m_OverrideClip: PPtr,
201}
202
203/// AnimationCurve is a sub class of the Unity engine since version 3.4.0.
204/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AnimationCurve.html):
205/**
206Store a collection of Keyframes that can be evaluated over time.
207*/
208#[derive(Debug, Serialize, Deserialize)]
209pub struct AnimationCurve {
210    pub m_Curve: Vec<Keyframe>,
211    pub m_PostInfinity: i32,
212    pub m_PreInfinity: i32,
213    /// i32: (5.3.0f1 - 2022.3.2f1)
214    pub m_RotationOrder: Option<i32>,
215}
216
217/// AnimationEvent is a sub class of the Unity engine since version 3.4.0.
218/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AnimationEvent.html):
219/**
220AnimationEvent lets you call a script function similar to SendMessage as part of playing back an animation.
221Animation events support functions that take zero or one parameter.
222The parameter can be a float, an int, a string, an object reference, or an AnimationEvent.
223A more detailed example below shows a more complex
224      way of creating an animation.  In this script example the Animator
225      component is accessed and a Clip from it obtained.  (This clip was
226      set up in the Animation window.)  The clip lasts for 2 seconds.  An
227      AnimationEvent is created, and has parameters set.  The parameters include
228      the function PrintEvent() which will handle the event. The event is then
229      added to the clip.  This all happens in Start().  Once the game has launched
230      the event is called after 1.3s and then repeats every 2s.
231*/
232#[derive(Debug, Serialize, Deserialize)]
233pub struct AnimationEvent {
234    pub data: String,
235    /**Float parameter that is stored in the event and will be sent to the function.*/
236    pub floatParameter: f32,
237    /**The name of the function that will be called.*/
238    pub functionName: String,
239    /**Int parameter that is stored in the event and will be sent to the function.*/
240    pub intParameter: i32,
241    /**Function call options.*/
242    pub messageOptions: i32,
243    /**Object reference parameter that is stored in the event and will be sent to the function.*/
244    /// PPtr<[`Object`]>: (3.4.0 - 2022.3.2f1)
245    pub objectReferenceParameter: PPtr,
246    /**The time at which the event will be fired off.*/
247    pub time: f32,
248}
249
250/// AnimationManager is a  class of the Unity engine since version 3.4.0.
251#[derive(Debug, Serialize, Deserialize)]
252pub struct AnimationManager {}
253
254/// Animator is a  class of the Unity engine since version 4.0.0.
255/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animator.html):
256/**
257Interface to control the Mecanim animation system.
258*/
259#[derive(Debug, Serialize, Deserialize)]
260pub struct Animator {
261    /**Should root motion be applied?*/
262    pub m_ApplyRootMotion: bool,
263    /**Gets/Sets the current Avatar.*/
264    /// PPtr<[`Avatar`]>: (4.0.0 - 2022.3.2f1)
265    pub m_Avatar: PPtr,
266    /// PPtr<[`AnimatorController`]>: (4.0.0 - 4.2.2); PPtr<[`RuntimeAnimatorController`]>: (4.3.0 - 2022.3.2f1)
267    pub m_Controller: PPtr,
268    /**Controls culling of this Animator component.*/
269    pub m_CullingMode: i32,
270    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
271    pub m_Enabled: u8,
272    /**The game object this component is attached to. A component is always attached to a game object.*/
273    /// PPtr<[`GameObject`]>: (4.0.0 - 2022.3.2f1)
274    pub m_GameObject: PPtr,
275    /// bool: (4.5.3 - 2022.3.2f1)
276    pub m_AllowConstantClipSamplingOptimization: Option<bool>,
277    /// bool: (4.0.0 - 4.3.4)
278    pub m_AnimatePhysics: Option<bool>,
279    /**Returns true if the object has a transform hierarchy.*/
280    /// bool: (4.3.0 - 2022.3.2f1)
281    pub m_HasTransformHierarchy: Option<bool>,
282    /// bool: (2018.1.0b2 - 2022.2.0a18)
283    pub m_KeepAnimatorControllerStateOnDisable: Option<bool>,
284    /**Controls the behaviour of the Animator component when a GameObject is disabled.*/
285    /// bool: (2020.3.43f1 - 2022.3.2f1)
286    pub m_KeepAnimatorStateOnDisable: Option<bool>,
287    /// bool: (5.0.0f4 - 2022.3.2f1)
288    pub m_LinearVelocityBlending: Option<bool>,
289    /**Automatic stabilization of feet during transition and blending.*/
290    /// bool: (2020.3.43f1 - 2022.3.2f1)
291    pub m_StabilizeFeet: Option<bool>,
292    /**Specifies the update mode of the Animator.*/
293    /// i32: (4.5.0 - 2022.3.2f1)
294    pub m_UpdateMode: Option<i32>,
295    /**Specifies whether playable graph values are reset or preserved when the Animator is disabled.*/
296    /// bool: (2020.3.46f1 - 2022.3.2f1)
297    pub m_WriteDefaultValuesOnDisable: Option<bool>,
298}
299
300/// AnimatorCondition is a sub class of the Unity engine since version 5.0.0f4.
301/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.AnimatorCondition.html):
302/**
303Condition that is used to determine if a transition must be taken.
304*/
305#[derive(Debug, Serialize, Deserialize)]
306pub struct AnimatorCondition {
307    pub m_ConditionEvent: String,
308    pub m_ConditionMode: i32,
309    pub m_EventTreshold: f32,
310}
311
312/// AnimatorController is a  class of the Unity engine since version 4.0.0.
313/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.AnimatorController.html):
314/**
315The Animator Controller controls animation through layers with state machines, controlled by parameters.
316*/
317#[derive(Debug, Serialize, Deserialize)]
318pub struct AnimatorController {
319    /**Retrieves all AnimationClip used by the controller.*/
320    /// Vec<PPtr<[`AnimationClip`]>>: (4.0.0 - 2022.3.2f1)
321    pub m_AnimationClips: Vec<PPtr>,
322    pub m_Controller: ControllerConstant,
323    pub m_ControllerSize: u32,
324    /**The name of the object.*/
325    pub m_Name: String,
326    pub m_TOS: Vec<(u32, String)>,
327    /// bool: (5.0.0f4 - 2022.3.2f1)
328    pub m_MultiThreadedStateMachine: Option<bool>,
329    /// StateMachineBehaviourVectorDescription: (5.0.0f4 - 2022.3.2f1)
330    pub m_StateMachineBehaviourVectorDescription: Option<StateMachineBehaviourVectorDescription>,
331    /// Vec<PPtr<[`MonoBehaviour`]>>: (5.0.0f4 - 2022.3.2f1)
332    pub m_StateMachineBehaviours: Option<Vec<PPtr>>,
333}
334
335/// AnimatorOverrideController is a  class of the Unity engine since version 4.3.0.
336/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AnimatorOverrideController.html):
337/**
338Interface to control Animator Override Controller.
339Animator Override Controller is used to override Animation Clips from a controller to specialize animations for a given Avatar.
340Swapping Animator.runtimeAnimatorController with an AnimatorOverrideController based on the same AnimatorController at runtime doesn't reset state machine's current state.There are three ways to use the Animator Override Controller.
3411. Create an Animator Override Controller in the Editor.
3422. Change one Animation Clip per frame at runtime (Basic use case).
343In this case the indexer operator AnimatorOverrideController.this[string] could be used, but be careful as each call will trigger a reallocation of the animator's clip bindings.
3443. Changing many Animation Clips per frame at runtime (Advanced use case).
345
346The AnimatorOverrideController.ApplyOverrides method is well suited for this case as it reduce the number of animator's clips bindings reallocation to only one per call.
347*/
348#[derive(Debug, Serialize, Deserialize)]
349pub struct AnimatorOverrideController {
350    pub m_Clips: Vec<AnimationClipOverride>,
351    /// PPtr<[`RuntimeAnimatorController`]>: (4.3.0 - 2022.3.2f1)
352    pub m_Controller: PPtr,
353    /**The name of the object.*/
354    pub m_Name: String,
355}
356
357/// AnimatorState is a  class of the Unity engine since version 5.0.0f4.
358/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.AnimatorState.html):
359/**
360States are the basic building blocks of a state machine. Each state contains a Motion ( AnimationClip or BlendTree) which will play while the character is in that state. When an event in the game triggers a state transition, the character will be left in a new state whose animation sequence will then take over.
361*/
362#[derive(Debug, Serialize, Deserialize)]
363pub struct AnimatorState {
364    /**Offset at which the animation loop starts. Useful for synchronizing looped animations.Units is normalized time.*/
365    pub m_CycleOffset: f32,
366    /**Should Foot IK be respected for this state.*/
367    pub m_IKOnFeet: bool,
368    /**Should the state be mirrored.*/
369    pub m_Mirror: bool,
370    /**The motion assigned to this state.*/
371    /// PPtr<[`Motion`]>: (5.0.0f4 - 2022.3.2f1)
372    pub m_Motion: PPtr,
373    /**The name of the object.*/
374    pub m_Name: String,
375    pub m_Position: Vector3f,
376    /**The default speed of the motion.*/
377    pub m_Speed: f32,
378    /// Vec<PPtr<[`MonoBehaviour`]>>: (5.0.0f4 - 2022.3.2f1)
379    pub m_StateMachineBehaviours: Vec<PPtr>,
380    /**A tag can be used to identify a state.*/
381    pub m_Tag: String,
382    /**The transitions that are going out of the state.*/
383    /// Vec<PPtr<[`AnimatorStateTransition`]>>: (5.0.0f4 - 2022.3.2f1)
384    pub m_Transitions: Vec<PPtr>,
385    /**Whether or not the AnimatorStates writes back the default values for properties that are not animated by its Motion.*/
386    pub m_WriteDefaultValues: bool,
387    /**The animator controller parameter that drives the cycle offset value.*/
388    /// String: (5.1.0f1 - 2022.3.2f1)
389    pub m_CycleOffsetParameter: Option<String>,
390    /**Define if the cycle offset value is driven by an Animator controller parameter or by the value set in the editor.*/
391    /// bool: (5.1.0f1 - 2022.3.2f1)
392    pub m_CycleOffsetParameterActive: Option<bool>,
393    /**The animator controller parameter that drives the mirror value.*/
394    /// String: (5.1.0f1 - 2022.3.2f1)
395    pub m_MirrorParameter: Option<String>,
396    /**Define if the mirror value is driven by an Animator controller parameter or by the value set in the editor.*/
397    /// bool: (5.1.0f1 - 2022.3.2f1)
398    pub m_MirrorParameterActive: Option<bool>,
399    /**The animator controller parameter that drives the speed value.*/
400    /// String: (5.1.0f1 - 2022.3.2f1)
401    pub m_SpeedParameter: Option<String>,
402    /**Define if the speed value is driven by an Animator controller parameter or by the value set in the editor.*/
403    /// bool: (5.1.0f1 - 2022.3.2f1)
404    pub m_SpeedParameterActive: Option<bool>,
405    /**If timeParameterActive is true, the value of this Parameter will be used instead of normalized time.*/
406    /// String: (2017.2.0b2 - 2022.3.2f1)
407    pub m_TimeParameter: Option<String>,
408    /**If true, use value of given Parameter as normalized time.*/
409    /// bool: (2017.2.0b2 - 2022.3.2f1)
410    pub m_TimeParameterActive: Option<bool>,
411}
412
413/// AnimatorStateMachine is a  class of the Unity engine since version 5.0.0f4.
414/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.AnimatorStateMachine.html):
415/**
416A graph controlling the interaction of states. Each state references a motion.
417*/
418#[derive(Debug, Serialize, Deserialize)]
419pub struct AnimatorStateMachine {
420    /**The position of the AnyState node.*/
421    pub m_AnyStatePosition: Vector3f,
422    /**The list of AnyState transitions.*/
423    /// Vec<PPtr<[`AnimatorStateTransition`]>>: (5.0.0f4 - 2022.3.2f1)
424    pub m_AnyStateTransitions: Vec<PPtr>,
425    pub m_ChildStateMachines: Vec<ChildAnimatorStateMachine>,
426    pub m_ChildStates: Vec<ChildAnimatorState>,
427    /**The state that the state machine will be in when it starts.*/
428    /// PPtr<[`AnimatorState`]>: (5.0.0f4 - 2022.3.2f1)
429    pub m_DefaultState: PPtr,
430    /**The position of the entry node.*/
431    pub m_EntryPosition: Vector3f,
432    /**The list of entry transitions in the state machine.*/
433    /// Vec<PPtr<[`AnimatorTransition`]>>: (5.0.0f4 - 2022.3.2f1)
434    pub m_EntryTransitions: Vec<PPtr>,
435    /**The position of the exit node.*/
436    pub m_ExitPosition: Vector3f,
437    /**The name of the object.*/
438    pub m_Name: String,
439    /**The position of the parent state machine node. Only valid when in a hierachic state machine.*/
440    pub m_ParentStateMachinePosition: Vector3f,
441    /// Vec<PPtr<[`MonoBehaviour`]>>: (5.0.0f4 - 2022.3.2f1)
442    pub m_StateMachineBehaviours: Vec<PPtr>,
443    /// Vec<(PPtr<[`AnimatorStateMachine`]>, Vec<PPtr<[`AnimatorTransition`]>>)>: (5.0.0f4 - 2022.3.2f1)
444    pub m_StateMachineTransitions: Vec<(PPtr, Vec<PPtr>)>,
445}
446
447/// AnimatorStateTransition is a  class of the Unity engine since version 5.0.0f4.
448/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.AnimatorStateTransition.html):
449/**
450Transitions define when and how the state machine switch from one state to another. AnimatorStateTransition always originate from an Animator State (or AnyState) and have timing parameters.
451A transition happens when all its conditions are met.  AnimatorStateTransition derives from AnimatorTransitionBase.
452*/
453#[derive(Debug, Serialize, Deserialize)]
454pub struct AnimatorStateTransition {
455    /**Set to true to allow or disallow transition to self during AnyState transition.*/
456    pub m_CanTransitionToSelf: bool,
457    /**AnimatorCondition conditions that need to be met for a transition to happen.*/
458    pub m_Conditions: Vec<AnimatorCondition>,
459    /// PPtr<[`AnimatorState`]>: (5.0.0f4 - 2022.3.2f1)
460    pub m_DstState: PPtr,
461    /// PPtr<[`AnimatorStateMachine`]>: (5.0.0f4 - 2022.3.2f1)
462    pub m_DstStateMachine: PPtr,
463    /**If AnimatorStateTransition.hasExitTime is true, exitTime represents the exact time at which the transition can take effect.This is represented in normalized time, so for example an exit time of 0.75 means that on the first frame where 75% of the animation has played, the Exit Time condition will be true. On the next frame, the condition will be false.For looped animations, transitions with exit times smaller than 1 will be evaluated every loop, so you can use this to time your transition with the proper timing in the animation, every loop.Transitions with exit times greater than one will be evaluated only once, so they can be used to exit at a specific time, after a fixed number of loops. For example, a transition with an exit time of 3.5 will be evaluated once, after three and a half loops.*/
464    pub m_ExitTime: f32,
465    /**When active the transition will have an exit time condition.*/
466    pub m_HasExitTime: bool,
467    /**Which AnimatorState transitions can interrupt the Transition.*/
468    pub m_InterruptionSource: i32,
469    /**Is the transition destination the exit of the current state machine.*/
470    pub m_IsExit: bool,
471    /**Mutes the transition. The transition will never occur.*/
472    pub m_Mute: bool,
473    /**The name of the object.*/
474    pub m_Name: String,
475    /**The Transition can be interrupted by a transition that has a higher priority.*/
476    pub m_OrderedInterruption: bool,
477    /**Mutes all other transitions in the source state.*/
478    pub m_Solo: bool,
479    pub m_TransitionDuration: f32,
480    pub m_TransitionOffset: f32,
481    /**Determines whether the duration of the transition is reported in a fixed duration in seconds or as a normalized time.*/
482    /// bool: (5.1.0f1 - 2022.3.2f1)
483    pub m_HasFixedDuration: Option<bool>,
484}
485
486/// AnimatorTransition is a  class of the Unity engine since version 5.0.0f4.
487/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.AnimatorTransition.html):
488/**
489Transitions define when and how the state machine switch from on state to another. AnimatorTransition always originate from a StateMachine or a StateMachine entry. They do not define timing parameters.
490A transition happens when all its conditions are met.
491*/
492#[derive(Debug, Serialize, Deserialize)]
493pub struct AnimatorTransition {
494    /**AnimatorCondition conditions that need to be met for a transition to happen.*/
495    pub m_Conditions: Vec<AnimatorCondition>,
496    /// PPtr<[`AnimatorState`]>: (5.0.0f4 - 2022.3.2f1)
497    pub m_DstState: PPtr,
498    /// PPtr<[`AnimatorStateMachine`]>: (5.0.0f4 - 2022.3.2f1)
499    pub m_DstStateMachine: PPtr,
500    /**Is the transition destination the exit of the current state machine.*/
501    pub m_IsExit: bool,
502    /**Mutes the transition. The transition will never occur.*/
503    pub m_Mute: bool,
504    /**The name of the object.*/
505    pub m_Name: String,
506    /**Mutes all other transitions in the source state.*/
507    pub m_Solo: bool,
508}
509
510/// AnimatorTransitionBase is a  class of the Unity engine since version 5.0.0f4.
511/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.AnimatorTransitionBase.html):
512/**
513Base class for animator transitions. Transitions define when and how the state machine switches from one state to another.
514A transition happens when all its conditions are met.
515*/
516#[derive(Debug, Serialize, Deserialize)]
517pub struct AnimatorTransitionBase {
518    /**AnimatorCondition conditions that need to be met for a transition to happen.*/
519    pub m_Conditions: Vec<AnimatorCondition>,
520    /// PPtr<[`AnimatorState`]>: (5.0.0f4 - 2022.3.2f1)
521    pub m_DstState: PPtr,
522    /// PPtr<[`AnimatorStateMachine`]>: (5.0.0f4 - 2022.3.2f1)
523    pub m_DstStateMachine: PPtr,
524    /**Is the transition destination the exit of the current state machine.*/
525    pub m_IsExit: bool,
526    /**Mutes the transition. The transition will never occur.*/
527    pub m_Mute: bool,
528    /**The name of the object.*/
529    pub m_Name: String,
530    /**Mutes all other transitions in the source state.*/
531    pub m_Solo: bool,
532}
533
534/// Annotation is a sub class of the Unity engine since version 3.4.0.
535#[derive(Debug, Serialize, Deserialize)]
536pub struct Annotation {
537    pub m_ClassID: i32,
538    pub m_Flags: i32,
539    pub m_GizmoEnabled: bool,
540    pub m_IconEnabled: bool,
541    pub m_ScriptClass: String,
542}
543
544/// AnnotationManager is a  class of the Unity engine since version 3.4.0.
545#[derive(Debug, Serialize, Deserialize)]
546pub struct AnnotationManager {
547    pub m_CurrentPreset_m_AnnotationList: Vec<Annotation>,
548    pub m_RecentlyChanged: Vec<Annotation>,
549    /// f32: (2021.1.0b1 - 2022.3.2f1)
550    pub m_FadeGizmoSize: Option<f32>,
551    /// bool: (2021.1.0b1 - 2022.3.2f1)
552    pub m_FadeGizmos: Option<bool>,
553    /// f32: (3.4.0 - 3.4.2)
554    pub m_IconSize: Option<f32>,
555    /// bool: (4.3.0 - 2022.3.2f1)
556    pub m_ShowGrid: Option<bool>,
557    /// bool: (5.5.0f3 - 2022.3.2f1)
558    pub m_ShowSelectionOutline: Option<bool>,
559    /// bool: (5.5.0f3 - 2022.3.2f1)
560    pub m_ShowSelectionWire: Option<bool>,
561    /// bool: (3.5.0 - 2022.3.2f1)
562    pub m_Use3dGizmos: Option<bool>,
563    /// f32: (3.5.0 - 2022.3.2f1)
564    pub m_WorldIconSize: Option<f32>,
565}
566
567/// AreaEffector2D is a  class of the Unity engine since version 5.0.0f4.
568/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AreaEffector2D.html):
569/**
570Applies forces within an area.
571When the source Collider2D is a trigger, the effector will apply forces whenever the target Collider2D overlaps the source.  When the source Collider isn't a trigger, the effector will apply forces whenever the target Collider2D is in contact with the source only.This effector is designed primarily to work with source Collider2D that are set as triggers so that target Collider2D can overlap the defined area.
572*/
573#[derive(Debug, Serialize, Deserialize)]
574pub struct AreaEffector2D {
575    /**The angular drag to apply to rigid-bodies.*/
576    pub m_AngularDrag: f32,
577    /**The mask used to select specific layers allowed to interact with the effector.*/
578    pub m_ColliderMask: BitField,
579    /**The linear drag to apply to rigid-bodies.*/
580    pub m_Drag: f32,
581    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
582    pub m_Enabled: u8,
583    /**The magnitude of the force to be applied.*/
584    pub m_ForceMagnitude: f32,
585    /**The target for where the effector applies any force.*/
586    pub m_ForceTarget: i32,
587    /**The variation of the magnitude of the force to be applied.*/
588    pub m_ForceVariation: f32,
589    /**The game object this component is attached to. A component is always attached to a game object.*/
590    /// PPtr<[`GameObject`]>: (5.0.0f4 - 2022.3.2f1)
591    pub m_GameObject: PPtr,
592    /**The angle of the force to be applied.*/
593    /// f32: (5.0.2f1 - 2022.3.2f1)
594    pub m_ForceAngle: Option<f32>,
595    /// f32: (5.0.0f4 - 5.0.1f1)
596    pub m_ForceDirection: Option<f32>,
597    /**Should the collider-mask be used or the global collision matrix?*/
598    /// bool: (5.0.2f1 - 2022.3.2f1)
599    pub m_UseColliderMask: Option<bool>,
600    /**Should the forceAngle use global space?*/
601    /// bool: (5.0.2f1 - 2022.3.2f1)
602    pub m_UseGlobalAngle: Option<bool>,
603}
604
605/// ArticulationBody is a  class of the Unity engine since version 2020.1.0b1.
606/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ArticulationBody.html):
607/**
608A body that forms part of a Physics articulation.
609An articulation is a set of bodies arranged in a logical tree. The parent-child link in this tree reflects that the bodies have their relative motion constrained. Articulations are solved by a Featherstone solver that works in reduced coordinates - that is each body has relative coordinates to its parent but only along the unlocked degrees of freedom. This guarantees there is no unwanted stretch.
610
611Like with regular Joints, there are two anchors for each pair of connected articulation bodies. One anchor is defined in the parent body's reference frame, whereas the other one is defined in the child's reference frame. Changing the constraints, you directly affect the allowed space for relative positions of the two anchors. For instance, ArticulationDofLock.LockedMotion will not allow any relative motion at all.
612*/
613#[derive(Debug, Serialize, Deserialize)]
614pub struct ArticulationBody {
615    /**Position of the anchor relative to this body.*/
616    pub m_AnchorPosition: Vector3f,
617    /**Rotation of the anchor relative to this body.*/
618    pub m_AnchorRotation: Quaternionf,
619    /**Damping factor that affects how this body resists rotations.*/
620    pub m_AngularDamping: f32,
621    pub m_ArticulationJointType: i32,
622    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
623    pub m_Enabled: u8,
624    /**The game object this component is attached to. A component is always attached to a game object.*/
625    /// PPtr<[`GameObject`]>: (2020.1.0b1 - 2022.3.2f1)
626    pub m_GameObject: PPtr,
627    /**Allows you to specify that this body is not movable.*/
628    pub m_Immovable: bool,
629    /**Allows you to specify the amount of friction that is applied as a result of the parent body moving relative to this body.*/
630    pub m_JointFriction: f32,
631    /**Damping factor that affects how this body resists linear motion.*/
632    pub m_LinearDamping: f32,
633    pub m_LinearX: i32,
634    pub m_LinearY: i32,
635    pub m_LinearZ: i32,
636    /**The mass of this articulation body.*/
637    pub m_Mass: f32,
638    /**Position of the anchor relative to this body's parent.*/
639    pub m_ParentAnchorPosition: Vector3f,
640    /**Rotation of the anchor relative to this body's parent.*/
641    pub m_ParentAnchorRotation: Quaternionf,
642    pub m_SwingY: i32,
643    pub m_SwingZ: i32,
644    pub m_Twist: i32,
645    /**The properties of drive along or around X.*/
646    pub m_XDrive: ArticulationDrive,
647    /**The properties of drive along or around Y.*/
648    pub m_YDrive: ArticulationDrive,
649    /**The properties of drive along or around Z.*/
650    pub m_ZDrive: ArticulationDrive,
651    /**The center of mass of the body defined in local space.*/
652    /// Vector3f: (2022.2.0b1 - 2022.3.2f1)
653    pub m_CenterOfMass: Option<Vector3f>,
654    /**The ArticulationBody's collision detection mode.*/
655    /// i32: (2020.3.5f1 - 2022.3.2f1)
656    pub m_CollisionDetectionMode: Option<i32>,
657    /// bool: (2020.1.0b1 - 2021.2.0a20)
658    pub m_ComputeParentAnchor: Option<bool>,
659    /**The additional layers that all Colliders attached to this ArticulationBody should exclude when deciding if the Collider can come into contact with another Collider.*/
660    /// BitField: (2022.2.0b1 - 2022.3.2f1)
661    pub m_ExcludeLayers: Option<BitField>,
662    /// bool: (2022.2.0b1 - 2022.3.2f1)
663    pub m_ImplicitCom: Option<bool>,
664    /// bool: (2022.2.0b1 - 2022.3.2f1)
665    pub m_ImplicitTensor: Option<bool>,
666    /**The additional layers that all Colliders attached to this ArticulationBody should include when deciding if a the Collider can come into contact with another Collider.*/
667    /// BitField: (2022.2.0b1 - 2022.3.2f1)
668    pub m_IncludeLayers: Option<BitField>,
669    /// Quaternionf: (2022.2.0b1 - 2022.3.2f1)
670    pub m_InertiaRotation: Option<Quaternionf>,
671    /**The inertia tensor of this body.*/
672    /// Vector3f: (2022.2.0b1 - 2022.3.2f1)
673    pub m_InertiaTensor: Option<Vector3f>,
674    /**Whether the parent anchor should be computed automatically or not.*/
675    /// bool: (2021.2.0b1 - 2022.3.2f1)
676    pub m_MatchAnchors: Option<bool>,
677    /**Controls whether gravity affects this articulation body.*/
678    /// bool: (2020.1.0b1 - 2022.3.2f1)
679    pub m_UseGravity: Option<bool>,
680}
681
682/// ArticulationDrive is a sub class of the Unity engine since version 2020.1.0b1.
683/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ArticulationDrive.html):
684/**
685Drive applies forces and torques to the connected bodies.
686Drive moves the body along one degree of freedom, be it a linear motion along a particular axis or a rotational motion around a particular axis. The drive will apply force to the body that is calculated from the current value of the drive, using this formula: F = stiffness * (currentPosition - target) - damping * (currentVelocity - targetVelocity). In this formula, currentPosition and currentVelocity are linear position and linear velocity in case of the linear drive. In case of the rotational drive, currentPosition and currentVelocity correspond to the angle and angular velocity respectively.
687*/
688#[derive(Debug, Serialize, Deserialize)]
689pub struct ArticulationDrive {
690    /**The damping of the spring attached to this drive.*/
691    pub damping: f32,
692    /**The maximum force this drive can apply to a body.*/
693    pub forceLimit: f32,
694    /**The lower limit of motion for a particular degree of freedom.*/
695    pub lowerLimit: f32,
696    /**The stiffness of the spring connected to this drive.*/
697    pub stiffness: f32,
698    /**The target value the drive will try to reach.*/
699    pub target: f32,
700    /**The velocity of the body this drive will try to reach.*/
701    pub targetVelocity: f32,
702    /**The upper limit of motion for a particular degree of freedom.*/
703    pub upperLimit: f32,
704    /**Specifies which drive type to use for this drive.*/
705    /// i32: (2022.2.0b1 - 2022.3.2f1)
706    pub driveType: Option<i32>,
707}
708
709/// AspectRatios is a sub class of the Unity engine since version 3.4.0.
710#[derive(Debug, Serialize, Deserialize)]
711pub struct AspectRatios {
712    pub Others: bool,
713    /// bool: (3.4.0 - 2022.1.24f1)
714    #[serde(alias = "16:10")]
715    pub _16_10: Option<bool>,
716    /// bool: (3.4.0 - 2022.1.24f1)
717    #[serde(alias = "16:9")]
718    pub _16_9: Option<bool>,
719    /// bool: (3.4.0 - 2022.1.24f1)
720    #[serde(alias = "4:3")]
721    pub _4_3: Option<bool>,
722    /// bool: (3.4.0 - 2022.1.24f1)
723    #[serde(alias = "5:4")]
724    pub _5_4: Option<bool>,
725}
726
727/// AssemblyDefinitionAsset is a  class of the Unity engine since version 2017.3.0b1.
728#[derive(Debug, Serialize, Deserialize)]
729pub struct AssemblyDefinitionAsset {
730    pub m_Name: String,
731    pub m_Script: String,
732}
733
734/// AssemblyDefinitionImporter is a  class of the Unity engine since version 2017.3.0b1.
735#[derive(Debug, Serialize, Deserialize)]
736pub struct AssemblyDefinitionImporter {
737    pub m_AssetBundleName: String,
738    pub m_AssetBundleVariant: String,
739    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.3.0b1 - 2022.3.2f1)
740    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
741    pub m_Name: String,
742    pub m_UserData: String,
743    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
744    pub m_UsedFileIDs: Option<Vec<i64>>,
745}
746
747/// AssemblyDefinitionReferenceAsset is a  class of the Unity engine since version 2019.2.0b1.
748#[derive(Debug, Serialize, Deserialize)]
749pub struct AssemblyDefinitionReferenceAsset {
750    pub m_Name: String,
751    pub m_Script: String,
752}
753
754/// AssemblyDefinitionReferenceImporter is a  class of the Unity engine since version 2019.2.0b1.
755#[derive(Debug, Serialize, Deserialize)]
756pub struct AssemblyDefinitionReferenceImporter {
757    pub m_AssetBundleName: String,
758    pub m_AssetBundleVariant: String,
759    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2019.2.0b1 - 2022.3.2f1)
760    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
761    pub m_Name: String,
762    pub m_UsedFileIDs: Vec<i64>,
763    pub m_UserData: String,
764}
765
766/// AssemblyJsonAsset is a  class of the Unity engine since version 2017.1.0b1.
767#[derive(Debug, Serialize, Deserialize)]
768pub struct AssemblyJsonAsset {
769    pub m_Name: String,
770    pub m_Script: String,
771    /// String: (2017.1.0b1 - 2017.1.0b1)
772    pub m_PathName: Option<String>,
773}
774
775/// AssemblyJsonImporter is a  class of the Unity engine since version 2017.1.0b1.
776#[derive(Debug, Serialize, Deserialize)]
777pub struct AssemblyJsonImporter {
778    pub m_AssetBundleName: String,
779    pub m_AssetBundleVariant: String,
780    pub m_Name: String,
781    pub m_UserData: String,
782    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2017.2.0b10)
783    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
784}
785
786/// Asset is a sub class of the Unity engine since version 3.4.0.
787/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/VersionControl.Asset.html):
788/**
789This class containes information about the version control state of an asset.
790*/
791#[derive(Debug, Serialize, Deserialize)]
792pub struct Asset {
793    pub children: Vec<GUID>,
794    pub labels: AssetLabels,
795    pub mainRepresentation: LibraryRepresentation,
796    pub parent: GUID,
797    pub representations: Vec<LibraryRepresentation>,
798    /// i32: (3.4.0 - 2020.1.17f1)
799    #[serde(alias = "type")]
800    pub _type: Option<i32>,
801    /// i32: (5.0.0f4 - 2020.1.17f1)
802    pub assetBundleIndex: Option<i32>,
803    /// MdFour: (3.4.0 - 3.4.2)
804    pub digest: Option<MdFour>,
805    /// Vec<(GUID, String)>: (2018.1.0b2 - 2018.2.21f1); Vec<(String, GUID)>: (2018.3.0f2 - 2020.1.17f1)
806    pub guidOfPathLocationDependencies: Option<Vec<(Enum_GUID__String, Enum_GUID__String)>>,
807    /// MdFour: (4.3.0 - 4.7.2); Hash128: (5.0.0f4 - 2020.1.17f1)
808    pub hash: Option<Enum_MdFour__Hash128>,
809    /// Vec<GUID>: (2018.1.0b2 - 2020.1.17f1)
810    pub hashOfImportedAssetDependencies: Option<Vec<GUID>>,
811    /// Vec<GUID>: (2018.1.0b2 - 2020.1.17f1)
812    pub hashOfSourceAssetDependencies: Option<Vec<GUID>>,
813    /// i32: (3.5.0 - 2020.1.17f1)
814    pub importerClassId: Option<i32>,
815    /// u32: (3.5.0 - 2020.1.17f1)
816    pub importerVersionHash: Option<u32>,
817    /// u32: (3.4.0 - 3.4.2)
818    #[serde(alias = "metaModificationDate[0]")]
819    pub metaModificationDate_0_: Option<u32>,
820    /// u32: (3.4.0 - 3.4.2)
821    #[serde(alias = "metaModificationDate[1]")]
822    pub metaModificationDate_1_: Option<u32>,
823    /// u32: (3.4.0 - 3.4.2)
824    #[serde(alias = "modificationDate[0]")]
825    pub modificationDate_0_: Option<u32>,
826    /// u32: (3.4.0 - 3.4.2)
827    #[serde(alias = "modificationDate[1]")]
828    pub modificationDate_1_: Option<u32>,
829    /// String: (2017.2.5f1 - 2020.1.17f1)
830    pub scriptedImporterClassID: Option<String>,
831}
832
833#[derive(Debug, Serialize, Deserialize)]
834#[serde(untagged)]
835pub enum Enum_GUID__String {
836    GUID(GUID),
837    String(String),
838}
839
840#[derive(Debug, Serialize, Deserialize)]
841#[serde(untagged)]
842pub enum Enum_MdFour__Hash128 {
843    MdFour(MdFour),
844    Hash128(Hash128),
845}
846
847/// AssetBundle is a  class of the Unity engine since version 3.4.0.
848/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AssetBundle.html):
849/**
850AssetBundles let you stream additional assets via the UnityWebRequest class and instantiate them at runtime.
851Create AssetBundles by calling BuildPipeline.BuildAssetBundles or using the Scriptable Build Pipeline package.A bundle built for any of the standalone platforms can only be loaded on that platform, for example a bundle build on iOS is not compatible with Android.
852This is because shaders, textures and other types of data are built into platform-specific formats based on the BuildTarget.See Also: UnityWebRequestAssetBundle.GetAssetBundle, Loading Resources at Runtime, BuildPipeline.BuildAssetBundles.
853*/
854#[derive(Debug, Serialize, Deserialize)]
855pub struct AssetBundle {
856    pub m_Container: Vec<(String, AssetInfo)>,
857    pub m_MainAsset: AssetInfo,
858    /**The name of the object.*/
859    pub m_Name: String,
860    /// Vec<PPtr<[`Object`]>>: (3.4.0 - 2022.3.2f1)
861    pub m_PreloadTable: Vec<PPtr>,
862    /// String: (5.0.0f4 - 2022.3.2f1)
863    pub m_AssetBundleName: Option<String>,
864    /// Vec<(i32, u32)>: (3.5.0 - 4.7.2)
865    pub m_ClassCompatibility: Option<Vec<(i32, u32)>>,
866    /// Vec<(i32, i32)>: (5.4.0f3 - 5.4.6f3)
867    pub m_ClassVersionMap: Option<Vec<(i32, i32)>>,
868    /// Vec<String>: (5.0.0f4 - 2022.3.2f1)
869    pub m_Dependencies: Option<Vec<String>>,
870    /// i32: (2017.3.0b1 - 2022.3.2f1)
871    pub m_ExplicitDataLayout: Option<i32>,
872    /**Return true if the AssetBundle is a streamed Scene AssetBundle.*/
873    /// bool: (5.0.0f4 - 2022.3.2f1)
874    pub m_IsStreamedSceneAssetBundle: Option<bool>,
875    /// i32: (2017.1.0b2 - 2022.3.2f1)
876    pub m_PathFlags: Option<i32>,
877    /// u32: (4.2.0 - 2022.3.2f1)
878    pub m_RuntimeCompatibility: Option<u32>,
879    /// Vec<(String, String)>: (2017.3.0b1 - 2022.3.2f1)
880    pub m_SceneHashes: Option<Vec<(String, String)>>,
881    /// Vec<AssetBundleScriptInfo>: (3.4.0 - 4.7.2)
882    pub m_ScriptCompatibility: Option<Vec<AssetBundleScriptInfo>>,
883}
884
885/// AssetBundleFullName is a sub class of the Unity engine since version 5.0.0f4.
886#[derive(Debug, Serialize, Deserialize)]
887pub struct AssetBundleFullName {
888    pub m_AssetBundleName: String,
889    pub m_AssetBundleVariant: String,
890}
891
892/// AssetBundleInfo is a sub class of the Unity engine since version 5.0.0f4.
893/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Build.Content.AssetBundleInfo.html):
894/**
895Container for holding asset loading information for an AssetBundle to be built.
896Note: this class and its members exist to provide low-level support for the Scriptable Build Pipeline package. This is intended for internal use only; use the Scriptable Build Pipeline package to implement a fully featured build pipeline. You can install this via the Unity Package Manager.
897*/
898#[derive(Debug, Serialize, Deserialize)]
899pub struct AssetBundleInfo {
900    pub AssetBundleDependencies: Vec<i32>,
901    pub AssetBundleHash: Hash128,
902}
903
904/// AssetBundleManifest is a  class of the Unity engine since version 5.0.0f4.
905/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AssetBundleManifest.html):
906/**
907Manifest for all the AssetBundles in the build.
908See Also: BuildPipeline.BuildAssetBundles, AssetBundle.GetAllAssetNames
909*/
910#[derive(Debug, Serialize, Deserialize)]
911pub struct AssetBundleManifest {
912    pub AssetBundleInfos: Vec<(i32, AssetBundleInfo)>,
913    pub AssetBundleNames: Vec<(i32, String)>,
914    pub AssetBundlesWithVariant: Vec<i32>,
915    /**The name of the object.*/
916    pub m_Name: String,
917}
918
919/// AssetBundleScriptInfo is a sub class of the Unity engine since version 3.4.0.
920#[derive(Debug, Serialize, Deserialize)]
921pub struct AssetBundleScriptInfo {
922    pub assemblyName: String,
923    pub className: String,
924    pub hash: u32,
925    pub nameSpace: String,
926}
927
928/// AssetDatabase is a  class of the Unity engine since version 3.4.0.
929/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AssetDatabase.html):
930/**
931An Interface for accessing assets and performing operations on assets.
932*/
933#[derive(Debug, Serialize, Deserialize)]
934pub struct AssetDatabase {
935    pub m_Assets: Vec<(GUID, Asset)>,
936    /// Vec<(i32, AssetBundleFullName)>: (5.0.0f4 - 5.6.7f1)
937    pub m_AssetBundleNames: Option<Vec<(i32, AssetBundleFullName)>>,
938    /// Vec<(String, AssetTimeStamp)>: (3.5.0 - 5.6.7f1)
939    pub m_AssetTimeStamps: Option<Vec<(String, AssetTimeStamp)>>,
940    /// AssetDatabaseMetrics: (5.0.0f4 - 5.6.7f1)
941    pub m_Metrics: Option<AssetDatabaseMetrics>,
942    /// i32: (3.5.0 - 5.6.7f1)
943    pub m_UnityShadersVersion: Option<i32>,
944    /// Vec<(i32, u32)>: (4.0.0 - 5.6.7f1)
945    pub m_lastValidVersionHashes: Option<Vec<(i32, u32)>>,
946}
947
948/// AssetDatabaseMetrics is a sub class of the Unity engine since version 5.0.0f4.
949#[derive(Debug, Serialize, Deserialize)]
950pub struct AssetDatabaseMetrics {
951    pub totalAssetCount: i32,
952    /// i32: (5.0.0f4 - 2017.4.5f1)
953    pub nonProAssetCount: Option<i32>,
954    /// i32: (5.0.0f4 - 2017.4.5f1)
955    pub nonProAssetsCreatedAfterProLicense: Option<i32>,
956}
957
958/// AssetDatabaseV1 is a  class of the Unity engine since version 2017.1.0b1.
959#[derive(Debug, Serialize, Deserialize)]
960pub struct AssetDatabaseV1 {
961    pub m_AssetBundleNames: Vec<(i32, AssetBundleFullName)>,
962    pub m_AssetTimeStamps: Vec<(String, AssetTimeStamp)>,
963    pub m_Assets: Vec<(GUID, Asset)>,
964    pub m_Metrics: AssetDatabaseMetrics,
965    pub m_UnityShadersVersion: i32,
966    /// Vec<(i32, u32)>: (2017.1.0b1 - 2017.1.0b1)
967    pub m_lastValidVersionHashes: Option<Vec<(i32, u32)>>,
968    /// Vec<(AssetImporterHashKey, u32)>: (2017.1.0b2 - 2020.1.17f1)
969    pub m_lastValidVersions: Option<Vec<(AssetImporterHashKey, u32)>>,
970}
971
972/// AssetImporter is a  class of the Unity engine since version 3.4.0.
973/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AssetImporter.html):
974/**
975Base class from which asset importers for specific asset types derive.
976*/
977#[derive(Debug, Serialize, Deserialize)]
978pub struct AssetImporter {
979    /**The name of the object.*/
980    pub m_Name: String,
981    /// Vec<(i32, String)>: (3.4.0 - 3.4.2)
982    pub m_FileIDToRecycleName: Option<Vec<(i32, String)>>,
983    /// MdFour: (3.4.0 - 3.4.2)
984    pub m_NewHashIdentity: Option<MdFour>,
985    /// MdFour: (3.4.0 - 3.4.2)
986    pub m_OldHashIdentity: Option<MdFour>,
987}
988
989/// AssetImporterHashKey is a sub class of the Unity engine since version 2017.1.0b2.
990#[derive(Debug, Serialize, Deserialize)]
991pub struct AssetImporterHashKey {
992    pub ScriptClass: String,
993    /// i32: (2017.1.0b2 - 2020.1.17f1)
994    #[serde(alias = "type")]
995    pub _type: Option<i32>,
996}
997
998/// AssetImporterLog is a  class of the Unity engine since version 2018.1.0b2.
999#[derive(Debug, Serialize, Deserialize)]
1000pub struct AssetImporterLog {
1001    pub m_Logs: Vec<AssetImporter_ImportError>,
1002    pub m_Name: String,
1003}
1004
1005/// AssetImporter_ImportError is a sub class of the Unity engine since version 2018.1.0b2.
1006#[derive(Debug, Serialize, Deserialize)]
1007pub struct AssetImporter_ImportError {
1008    pub error: String,
1009    pub file: String,
1010    pub line: i32,
1011    pub mode: i32,
1012    /// PPtr<[`Object`]>: (2018.1.0b2 - 2022.2.0a13)
1013    pub object: PPtr,
1014}
1015
1016/// AssetInfo is a sub class of the Unity engine since version 3.4.0.
1017#[derive(Debug, Serialize, Deserialize)]
1018pub struct AssetInfo {
1019    /// PPtr<[`Object`]>: (3.4.0 - 2022.3.2f1)
1020    pub asset: PPtr,
1021    pub preloadIndex: i32,
1022    pub preloadSize: i32,
1023}
1024
1025/// AssetLabels is a sub class of the Unity engine since version 3.4.0.
1026#[derive(Debug, Serialize, Deserialize)]
1027pub struct AssetLabels {
1028    pub m_Labels: Vec<String>,
1029}
1030
1031/// AssetMetaData is a  class of the Unity engine since version 3.4.0.
1032#[derive(Debug, Serialize, Deserialize)]
1033pub struct AssetMetaData {
1034    pub assetStoreRef: u64,
1035    pub guid: GUID,
1036    pub labels: Vec<String>,
1037    pub originalName: String,
1038    pub pathName: String,
1039    /// i32: (5.0.0f4 - 2017.4.5f1)
1040    pub licenseType: Option<i32>,
1041    /// u32: (3.4.0 - 5.6.7f1)
1042    pub originalChangeset: Option<u32>,
1043    /// MdFour: (3.4.0 - 4.7.2); Hash128: (5.0.0f4 - 5.6.7f1)
1044    pub originalDigest: Option<Enum_MdFour__Hash128>,
1045    /// GUID: (3.4.0 - 5.6.7f1)
1046    pub originalParent: Option<GUID>,
1047    /// u64: (5.0.0f4 - 2017.4.5f1)
1048    pub timeCreated: Option<u64>,
1049}
1050
1051/// AssetServerCache is a  class of the Unity engine since version 3.4.0.
1052#[derive(Debug, Serialize, Deserialize)]
1053pub struct AssetServerCache {
1054    pub m_CachesInitialized: i32,
1055    pub m_CommitItemSelection: Vec<GUID>,
1056    pub m_DeletedItems: Vec<(GUID, DeletedItem)>,
1057    pub m_Items: Vec<(GUID, Item)>,
1058    pub m_LastCommitMessage: String,
1059    pub m_LatestServerChangeset: i32,
1060    pub m_ModifiedItems: Vec<(GUID, Item)>,
1061    pub m_WorkingItemMetaData: Vec<(GUID, CachedAssetMetaData)>,
1062}
1063
1064/// AssetTimeStamp is a sub class of the Unity engine since version 3.5.0.
1065#[derive(Debug, Serialize, Deserialize)]
1066pub struct AssetTimeStamp {
1067    /// u32: (3.5.0 - 2020.1.17f1)
1068    #[serde(alias = "metaModificationDate[0]")]
1069    pub metaModificationDate_0_: Option<u32>,
1070    /// u32: (3.5.0 - 2020.1.17f1)
1071    #[serde(alias = "metaModificationDate[1]")]
1072    pub metaModificationDate_1_: Option<u32>,
1073    /// u32: (3.5.0 - 2020.1.17f1)
1074    #[serde(alias = "modificationDate[0]")]
1075    pub modificationDate_0_: Option<u32>,
1076    /// u32: (3.5.0 - 2020.1.17f1)
1077    #[serde(alias = "modificationDate[1]")]
1078    pub modificationDate_1_: Option<u32>,
1079}
1080
1081/// AudioBuildInfo is a  class of the Unity engine since version 2018.4.13f1.
1082#[derive(Debug, Serialize, Deserialize)]
1083pub struct AudioBuildInfo {
1084    pub m_AudioClipCount: i32,
1085    pub m_AudioMixerCount: i32,
1086    pub m_IsAudioDisabled: bool,
1087}
1088
1089/// AudioChorusFilter is a  class of the Unity engine since version 3.4.0.
1090/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AudioChorusFilter.html):
1091/**
1092The Audio Chorus Filter takes an Audio Clip and processes it creating a chorus effect.
1093The chorus effect modulates the original sound by a sinusoid low frequency oscillator (LFO). The output sounds like there are multiple sources emitting the same sound with slight variations (resembling a choir).See Also: Audio Chorus Filter information.
1094*/
1095#[derive(Debug, Serialize, Deserialize)]
1096pub struct AudioChorusFilter {
1097    /**Chorus delay in ms. 0.1 to 100.0. Default = 40.0 ms.*/
1098    pub m_Delay: f32,
1099    /**Chorus modulation depth. 0.0 to 1.0. Default = 0.03.*/
1100    pub m_Depth: f32,
1101    /**Volume of original signal to pass to output. 0.0 to 1.0. Default = 0.5.*/
1102    pub m_DryMix: f32,
1103    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
1104    pub m_Enabled: u8,
1105    /**The game object this component is attached to. A component is always attached to a game object.*/
1106    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
1107    pub m_GameObject: PPtr,
1108    /**Chorus modulation rate in hz. 0.0 to 20.0. Default = 0.8 hz.*/
1109    pub m_Rate: f32,
1110    /**Volume of 1st chorus tap. 0.0 to 1.0. Default = 0.5.*/
1111    pub m_WetMix1: f32,
1112    /**Volume of 2nd chorus tap. This tap is 90 degrees out of phase of the first tap. 0.0 to 1.0. Default = 0.5.*/
1113    pub m_WetMix2: f32,
1114    /**Volume of 3rd chorus tap. This tap is 90 degrees out of phase of the second tap. 0.0 to 1.0. Default = 0.5.*/
1115    pub m_WetMix3: f32,
1116    /// f32: (3.4.0 - 4.1.5)
1117    pub m_FeedBack: Option<f32>,
1118}
1119
1120/// AudioClip is a  class of the Unity engine since version 3.4.0.
1121/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AudioClip.html):
1122/**
1123A container for audio data.
1124An AudioClip stores the audio file either compressed as ogg vorbis or uncompressed.
1125
1126AudioClips are referenced and used by AudioSources to play sounds.See Also: AudioClip component in the Components Reference.
1127*/
1128#[derive(Debug, Serialize, Deserialize)]
1129pub struct AudioClip {
1130    /**The name of the object.*/
1131    pub m_Name: String,
1132    /// bool: (3.4.0 - 4.7.2)
1133    pub m_3D: Option<bool>,
1134    /**Returns true if this audio clip is ambisonic (read-only).*/
1135    /// bool: (2017.1.0b1 - 2022.3.2f1)
1136    pub m_Ambisonic: Option<bool>,
1137    /// Vec<u8>: (3.4.0 - 4.7.2)
1138    pub m_AudioData: Option<Vec<u8>>,
1139    /// i32: (5.0.0f4 - 2022.3.2f1)
1140    pub m_BitsPerSample: Option<i32>,
1141    /**The number of channels in the audio clip. (Read Only)*/
1142    /// i32: (5.0.0f4 - 2022.3.2f1)
1143    pub m_Channels: Option<i32>,
1144    /// i32: (5.0.0f4 - 2022.3.2f1)
1145    pub m_CompressionFormat: Option<i32>,
1146    /// i32: (3.4.0 - 4.7.2)
1147    pub m_Format: Option<i32>,
1148    /**The sample frequency of the clip in Hertz. (Read Only)*/
1149    /// i32: (5.0.0f4 - 2022.3.2f1)
1150    pub m_Frequency: Option<i32>,
1151    /// bool: (5.0.0f4 - 2022.3.2f1)
1152    pub m_IsTrackerFormat: Option<bool>,
1153    /// bool: (5.0.0f4 - 2022.3.2f1)
1154    pub m_Legacy3D: Option<bool>,
1155    /**The length of the audio clip in seconds. (Read Only)*/
1156    /// f32: (5.0.0f4 - 2022.3.2f1)
1157    pub m_Length: Option<f32>,
1158    /**Corresponding to the "Load In Background" flag in the inspector, when this flag is set, the loading will happen delayed without blocking the main thread.*/
1159    /// bool: (5.0.0f4 - 2022.3.2f1)
1160    pub m_LoadInBackground: Option<bool>,
1161    /**The load type of the clip (read-only).*/
1162    /// i32: (5.0.0f4 - 2022.3.2f1)
1163    pub m_LoadType: Option<i32>,
1164    /**Preloads audio data of the clip when the clip asset is loaded. When this flag is off, scripts have to call AudioClip.LoadAudioData() to load the data before the clip can be played. Properties like length, channels and format are available before the audio data has been loaded.*/
1165    /// bool: (5.0.0f4 - 2022.3.2f1)
1166    pub m_PreloadAudioData: Option<bool>,
1167    /// StreamedResource: (5.0.0f4 - 2022.3.2f1)
1168    pub m_Resource: Option<StreamedResource>,
1169    /// i32: (3.4.0 - 4.7.2)
1170    pub m_Stream: Option<i32>,
1171    /// i32: (5.0.0f4 - 2022.3.2f1)
1172    pub m_SubsoundIndex: Option<i32>,
1173    /// i32: (3.4.0 - 4.7.2)
1174    pub m_Type: Option<i32>,
1175    /// bool: (3.4.0 - 4.7.2)
1176    pub m_UseHardware: Option<bool>,
1177}
1178
1179/// AudioDistortionFilter is a  class of the Unity engine since version 3.4.0.
1180/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AudioDistortionFilter.html):
1181/**
1182The Audio Distortion Filter distorts the sound from an AudioSource or sounds reaching the AudioListener.
1183See Also: Audio Distortion Filter information.
1184*/
1185#[derive(Debug, Serialize, Deserialize)]
1186pub struct AudioDistortionFilter {
1187    /**Distortion value. 0.0 to 1.0. Default = 0.5.*/
1188    pub m_DistortionLevel: f32,
1189    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
1190    pub m_Enabled: u8,
1191    /**The game object this component is attached to. A component is always attached to a game object.*/
1192    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
1193    pub m_GameObject: PPtr,
1194}
1195
1196/// AudioEchoFilter is a  class of the Unity engine since version 3.4.0.
1197/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AudioEchoFilter.html):
1198/**
1199The Audio Echo Filter repeats a sound after a given Delay, attenuating the repetitions based on the Decay Ratio.
1200See Also: Audio Echo Filter information.
1201*/
1202#[derive(Debug, Serialize, Deserialize)]
1203pub struct AudioEchoFilter {
1204    /**Echo decay per delay. 0 to 1. 1.0 = No decay, 0.0 = total decay (i.e. simple 1 line delay). Default = 0.5.*/
1205    pub m_DecayRatio: f32,
1206    /**Echo delay in ms. 10 to 5000. Default = 500.*/
1207    pub m_Delay: Enum_u32__f32,
1208    /**Volume of original signal to pass to output. 0.0 to 1.0. Default = 1.0.*/
1209    pub m_DryMix: f32,
1210    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
1211    pub m_Enabled: u8,
1212    /**The game object this component is attached to. A component is always attached to a game object.*/
1213    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
1214    pub m_GameObject: PPtr,
1215    /**Volume of echo signal to pass to output. 0.0 to 1.0. Default = 1.0.*/
1216    pub m_WetMix: f32,
1217}
1218
1219#[derive(Debug, Serialize, Deserialize)]
1220#[serde(untagged)]
1221pub enum Enum_u32__f32 {
1222    u32(u32),
1223    f32(f32),
1224}
1225
1226/// AudioHighPassFilter is a  class of the Unity engine since version 3.4.0.
1227/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AudioHighPassFilter.html):
1228/**
1229The Audio High Pass Filter passes high frequencies of an AudioSource, and cuts off signals with frequencies lower than the Cutoff Frequency.
1230See Also: Audio High Pass Filter information.
1231*/
1232#[derive(Debug, Serialize, Deserialize)]
1233pub struct AudioHighPassFilter {
1234    /**Highpass cutoff frequency in hz. 10.0 to 22000.0. Default = 5000.0.*/
1235    pub m_CutoffFrequency: f32,
1236    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
1237    pub m_Enabled: u8,
1238    /**The game object this component is attached to. A component is always attached to a game object.*/
1239    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
1240    pub m_GameObject: PPtr,
1241    /**Determines how much the filter's self-resonance isdampened.*/
1242    pub m_HighpassResonanceQ: f32,
1243}
1244
1245/// AudioImporter is a  class of the Unity engine since version 3.4.0.
1246/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AudioImporter.html):
1247/**
1248Audio importer lets you modify AudioClip import settings from editor scripts.
1249Settings of this class match the ones exposed in Audio Import Settings.
1250*/
1251#[derive(Debug, Serialize, Deserialize)]
1252pub struct AudioImporter {
1253    pub m_3D: bool,
1254    /**Force audioclips to mono?*/
1255    pub m_ForceToMono: bool,
1256    /**The name of the object.*/
1257    pub m_Name: String,
1258    /// Vec<u8>: (3.4.0 - 3.5.7)
1259    #[serde(alias = "audio preview data")]
1260    pub audio_preview_data: Option<Vec<u8>>,
1261    /**When this flag is set, the audio clip will be treated as being ambisonic.*/
1262    /// bool: (2017.1.0b1 - 2022.3.2f1)
1263    pub m_Ambisonic: Option<bool>,
1264    /**Get or set the AssetBundle name.*/
1265    /// String: (5.0.0f4 - 2022.3.2f1)
1266    pub m_AssetBundleName: Option<String>,
1267    /**Get or set the AssetBundle variant.*/
1268    /// String: (5.0.0f4 - 2022.3.2f1)
1269    pub m_AssetBundleVariant: Option<String>,
1270    /// SampleSettings: (5.0.0f4 - 2022.3.2f1)
1271    pub m_DefaultSettings: Option<SampleSettings>,
1272    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
1273    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
1274    /// Vec<(i32, String)>: (3.4.0 - 3.4.2)
1275    pub m_FileIDToRecycleName: Option<Vec<(i32, String)>>,
1276    /// i32: (3.4.0 - 4.7.2)
1277    pub m_Format: Option<i32>,
1278    /**Corresponding to the "Load In Background" flag in the AudioClip inspector, when this flag is set, the loading of the clip will happen delayed without blocking the main thread.*/
1279    /// bool: (5.0.0f4 - 2022.3.2f1)
1280    pub m_LoadInBackground: Option<bool>,
1281    /// bool: (3.4.0 - 4.7.2)
1282    pub m_Loopable: Option<bool>,
1283    /// MdFour: (3.4.0 - 3.4.2)
1284    pub m_NewHashIdentity: Option<MdFour>,
1285    /// bool: (5.1.2f1 - 2022.3.2f1)
1286    pub m_Normalize: Option<bool>,
1287    /// MdFour: (3.4.0 - 3.4.2)
1288    pub m_OldHashIdentity: Option<MdFour>,
1289    /// Output: (4.0.0 - 4.7.2); AudioImporterOutput: (5.0.0f4 - 2022.3.2f1)
1290    pub m_Output: Option<Enum_Output__AudioImporterOutput>,
1291    /// Vec<(i32, SampleSettings)>: (5.0.0f4 - 2022.3.2f1)
1292    pub m_PlatformSettingOverrides: Option<Vec<(i32, SampleSettings)>>,
1293    /// bool: (5.0.0f4 - 2022.2.0a16)
1294    pub m_PreloadAudioData: Option<bool>,
1295    /// PreviewData: (5.0.0f4 - 2022.3.2f1)
1296    pub m_PreviewData: Option<PreviewData>,
1297    /// u32: (3.4.0 - 3.5.7)
1298    pub m_PreviewDataLength: Option<u32>,
1299    /// f32: (3.4.0 - 4.7.2)
1300    pub m_Quality: Option<f32>,
1301    /// i32: (3.4.0 - 4.7.2)
1302    pub m_Stream: Option<i32>,
1303    /// bool: (3.4.0 - 4.7.2)
1304    pub m_UseHardware: Option<bool>,
1305    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
1306    pub m_UsedFileIDs: Option<Vec<i64>>,
1307    /**Get or set any user data.*/
1308    /// String: (4.0.0 - 2022.3.2f1)
1309    pub m_UserData: Option<String>,
1310}
1311
1312#[derive(Debug, Serialize, Deserialize)]
1313#[serde(untagged)]
1314pub enum Enum_Output__AudioImporterOutput {
1315    Output(Output),
1316    AudioImporterOutput(AudioImporterOutput),
1317}
1318
1319/// AudioImporterOutput is a sub class of the Unity engine since version 5.0.0f4.
1320#[derive(Debug, Serialize, Deserialize)]
1321pub struct AudioImporterOutput {
1322    pub editorOutputContainerFormat: i32,
1323    pub editorOutputSettings: SampleSettings,
1324    pub outputContainerFormat: i32,
1325    pub outputSettings: SampleSettings,
1326    /// StreamedResource: (5.0.0f4 - 2017.4.40f1)
1327    pub playerResource: Option<StreamedResource>,
1328}
1329
1330/// AudioListener is a  class of the Unity engine since version 3.4.0.
1331/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AudioListener.html):
1332/**
1333Representation of a listener in 3D space.
1334This class implements a microphone-like device. It records the sounds around it and plays that through the player's speakers.
1335
1336You can only have one listener in a Scene.See Also: AudioSource, AudioListener component in the Components Reference.
1337*/
1338#[derive(Debug, Serialize, Deserialize)]
1339pub struct AudioListener {
1340    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
1341    pub m_Enabled: u8,
1342    /**The game object this component is attached to. A component is always attached to a game object.*/
1343    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
1344    pub m_GameObject: PPtr,
1345    /// Vec<ExtensionPropertyValue>: (2017.2.0b2 - 2017.2.0b11)
1346    pub m_ExtensionPropertyValues: Option<Vec<ExtensionPropertyValue>>,
1347}
1348
1349/// AudioLowPassFilter is a  class of the Unity engine since version 3.4.0.
1350/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AudioLowPassFilter.html):
1351/**
1352The Audio Low Pass Filter passes low frequencies of an AudioSource or all sounds reaching an AudioListener, while removing frequencies higher than the Cutoff Frequency.
1353See Also: Audio Low Pass Filter information.
1354*/
1355#[derive(Debug, Serialize, Deserialize)]
1356pub struct AudioLowPassFilter {
1357    pub lowpassLevelCustomCurve: AnimationCurve,
1358    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
1359    pub m_Enabled: u8,
1360    /**The game object this component is attached to. A component is always attached to a game object.*/
1361    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
1362    pub m_GameObject: PPtr,
1363    /**Determines how much the filter's self-resonance is dampened.*/
1364    pub m_LowpassResonanceQ: f32,
1365    /**Lowpass cutoff frequency in hz. 10.0 to 22000.0. Default = 5000.0.*/
1366    /// f32: (3.4.0 - 5.1.5f1)
1367    pub m_CutoffFrequency: Option<f32>,
1368}
1369
1370/// AudioManager is a  class of the Unity engine since version 3.4.0.
1371#[derive(Debug, Serialize, Deserialize)]
1372pub struct AudioManager {
1373    pub m_DSPBufferSize: i32,
1374    pub m_Volume: f32,
1375    /// i32: (3.4.0 - 2022.3.2f1)
1376    #[serde(alias = "Default Speaker Mode")]
1377    pub Default_Speaker_Mode: Option<i32>,
1378    /// f32: (3.4.0 - 2022.3.2f1)
1379    #[serde(alias = "Doppler Factor")]
1380    pub Doppler_Factor: Option<f32>,
1381    /// f32: (3.4.0 - 2022.3.2f1)
1382    #[serde(alias = "Rolloff Scale")]
1383    pub Rolloff_Scale: Option<f32>,
1384    /// String: (2017.1.0b1 - 2022.3.2f1)
1385    pub m_AmbisonicDecoderPlugin: Option<String>,
1386    /// bool: (4.2.0 - 2022.3.2f1)
1387    pub m_DisableAudio: Option<bool>,
1388    /// i32: (5.0.0f4 - 2022.3.2f1)
1389    pub m_RealVoiceCount: Option<i32>,
1390    /// i32: (2018.3.14f1 - 2022.3.2f1)
1391    pub m_RequestedDSPBufferSize: Option<i32>,
1392    /// i32: (5.0.0f4 - 2022.3.2f1)
1393    pub m_SampleRate: Option<i32>,
1394    /// String: (5.2.0f2 - 2022.3.2f1)
1395    pub m_SpatializerPlugin: Option<String>,
1396    /// f32: (3.4.0 - 4.7.2)
1397    pub m_SpeedOfSound: Option<f32>,
1398    /// i32: (5.0.0f4 - 2022.3.2f1)
1399    pub m_VirtualVoiceCount: Option<i32>,
1400    /// bool: (5.3.6f1 - 2022.3.2f1)
1401    pub m_VirtualizeEffects: Option<bool>,
1402}
1403
1404/// AudioMixer is a  class of the Unity engine since version 5.0.0f4.
1405/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Audio.AudioMixer.html):
1406/**
1407AudioMixer asset.
1408This is a singleton representing a specific audio mixer asset in the project.
1409*/
1410#[derive(Debug, Serialize, Deserialize)]
1411pub struct AudioMixer {
1412    pub m_EnableSuspend: bool,
1413    /// PPtr<[`AudioMixerGroup`]>: (5.0.0f4 - 2022.3.2f1)
1414    pub m_MasterGroup: PPtr,
1415    pub m_MixerConstant: AudioMixerConstant,
1416    /**The name of the object.*/
1417    pub m_Name: String,
1418    /// PPtr<[`AudioMixerGroup`]>: (5.0.0f4 - 2022.3.2f1)
1419    pub m_OutputGroup: PPtr,
1420    /// Vec<PPtr<[`AudioMixerSnapshot`]>>: (5.0.0f4 - 2022.3.2f1)
1421    pub m_Snapshots: Vec<PPtr>,
1422    /// PPtr<[`AudioMixerSnapshot`]>: (5.0.0f4 - 2022.3.2f1)
1423    pub m_StartSnapshot: PPtr,
1424    pub m_SuspendThreshold: f32,
1425    /**How time should progress for this AudioMixer. Used during Snapshot transitions.*/
1426    /// i32: (5.3.6f1 - 2022.3.2f1)
1427    pub m_UpdateMode: Option<i32>,
1428}
1429
1430/// AudioMixerConstant is a sub class of the Unity engine since version 5.0.0f4.
1431#[derive(Debug, Serialize, Deserialize)]
1432pub struct AudioMixerConstant {
1433    pub effectGUIDs: Vec<GUID>,
1434    pub effects: Vec<EffectConstant>,
1435    pub exposedParameterIndices: Vec<u32>,
1436    pub exposedParameterNames: Vec<u32>,
1437    pub groupGUIDs: Vec<GUID>,
1438    pub groupNameBuffer: Vec<char>,
1439    pub groups: Vec<GroupConstant>,
1440    pub numSideChainBuffers: u32,
1441    pub pluginEffectNameBuffer: Vec<char>,
1442    pub snapshotGUIDs: Vec<GUID>,
1443    pub snapshotNameBuffer: Vec<char>,
1444    pub snapshots: Vec<SnapshotConstant>,
1445    /// Vec<GroupConnection>: (2021.2.0b1 - 2021.3.27f1)
1446    pub groupConnections: Option<Vec<GroupConnection>>,
1447}
1448
1449/// AudioMixerController is a  class of the Unity engine since version 5.0.0f4.
1450#[derive(Debug, Serialize, Deserialize)]
1451pub struct AudioMixerController {
1452    pub m_EnableSuspend: bool,
1453    /// PPtr<[`AudioMixerGroup`]>: (5.0.0f4 - 2022.3.2f1)
1454    pub m_MasterGroup: PPtr,
1455    pub m_MixerConstant: AudioMixerConstant,
1456    pub m_Name: String,
1457    /// PPtr<[`AudioMixerGroup`]>: (5.0.0f4 - 2022.3.2f1)
1458    pub m_OutputGroup: PPtr,
1459    /// Vec<PPtr<[`AudioMixerSnapshot`]>>: (5.0.0f4 - 2022.3.2f1)
1460    pub m_Snapshots: Vec<PPtr>,
1461    /// PPtr<[`AudioMixerSnapshot`]>: (5.0.0f4 - 2022.3.2f1)
1462    pub m_StartSnapshot: PPtr,
1463    pub m_SuspendThreshold: f32,
1464    /// i32: (5.3.6f1 - 2022.3.2f1)
1465    pub m_UpdateMode: Option<i32>,
1466}
1467
1468/// AudioMixerEffectController is a  class of the Unity engine since version 5.0.0f4.
1469#[derive(Debug, Serialize, Deserialize)]
1470pub struct AudioMixerEffectController {
1471    pub m_Bypass: bool,
1472    pub m_EffectID: GUID,
1473    pub m_EffectName: String,
1474    pub m_EnableWetMix: bool,
1475    pub m_MixLevel: GUID,
1476    pub m_Name: String,
1477    pub m_Parameters: Vec<Parameter>,
1478    /// PPtr<[`AudioMixerEffectController`]>: (5.0.0f4 - 2022.3.2f1)
1479    pub m_SendTarget: PPtr,
1480}
1481
1482/// AudioMixerGroup is a  class of the Unity engine since version 5.0.0f4.
1483/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Audio.AudioMixerGroup.html):
1484/**
1485Object representing a group in the mixer.
1486*/
1487#[derive(Debug, Serialize, Deserialize)]
1488pub struct AudioMixerGroup {
1489    /// PPtr<[`AudioMixer`]>: (5.0.0f4 - 2022.3.2f1)
1490    pub m_AudioMixer: PPtr,
1491    /// Vec<PPtr<[`AudioMixerGroup`]>>: (5.0.0f4 - 2022.3.2f1)
1492    pub m_Children: Vec<PPtr>,
1493    pub m_GroupID: GUID,
1494    /**The name of the object.*/
1495    pub m_Name: String,
1496}
1497
1498/// AudioMixerGroupController is a  class of the Unity engine since version 5.0.0f4.
1499#[derive(Debug, Serialize, Deserialize)]
1500pub struct AudioMixerGroupController {
1501    /// PPtr<[`AudioMixer`]>: (5.0.0f4 - 2022.3.2f1)
1502    pub m_AudioMixer: PPtr,
1503    /// Vec<PPtr<[`AudioMixerGroup`]>>: (5.0.0f4 - 2022.3.2f1)
1504    pub m_Children: Vec<PPtr>,
1505    pub m_GroupID: GUID,
1506    pub m_Name: String,
1507}
1508
1509/// AudioMixerSnapshot is a  class of the Unity engine since version 5.0.0f4.
1510/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Audio.AudioMixerSnapshot.html):
1511/**
1512Object representing a snapshot in the mixer.
1513*/
1514#[derive(Debug, Serialize, Deserialize)]
1515pub struct AudioMixerSnapshot {
1516    /// PPtr<[`AudioMixer`]>: (5.0.0f4 - 2022.3.2f1)
1517    pub m_AudioMixer: PPtr,
1518    /**The name of the object.*/
1519    pub m_Name: String,
1520    pub m_SnapshotID: GUID,
1521}
1522
1523/// AudioMixerSnapshotController is a  class of the Unity engine since version 5.0.0f4.
1524#[derive(Debug, Serialize, Deserialize)]
1525pub struct AudioMixerSnapshotController {
1526    /// PPtr<[`AudioMixer`]>: (5.0.0f4 - 2022.3.2f1)
1527    pub m_AudioMixer: PPtr,
1528    pub m_Name: String,
1529    pub m_SnapshotID: GUID,
1530}
1531
1532/// AudioReverbFilter is a  class of the Unity engine since version 3.4.0.
1533/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AudioReverbFilter.html):
1534/**
1535The Audio Reverb Filter takes an Audio Clip and distorts it to create a custom reverb effect.
1536See Also: Audio Reverb Filter information.
1537*/
1538#[derive(Debug, Serialize, Deserialize)]
1539pub struct AudioReverbFilter {
1540    /**Decay HF Ratio : High-frequency to low-frequency decay time ratio. Ranges from 0.1 to 2.0. Default is 0.5.*/
1541    pub m_DecayHFRatio: f32,
1542    /**Reverberation decay time at low-frequencies in seconds. Ranges from 0.1 to 20.0. Default is 1.0.*/
1543    pub m_DecayTime: f32,
1544    /**Reverberation density (modal density) in percent. Ranges from 0.0 to 100.0. Default is 100.0.*/
1545    pub m_Density: f32,
1546    /**Reverberation diffusion (echo density) in percent. Ranges from 0.0 to 100.0. Default is 100.0.*/
1547    pub m_Diffusion: f32,
1548    /**Mix level of dry signal in output in millibels (mB). Ranges from -10000.0 to 0.0. Default is 0.*/
1549    pub m_DryLevel: f32,
1550    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
1551    pub m_Enabled: u8,
1552    /**The game object this component is attached to. A component is always attached to a game object.*/
1553    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
1554    pub m_GameObject: PPtr,
1555    /**Reference high frequency in hertz (Hz). Ranges from 1000.0 to 20000.0. Default is 5000.0.*/
1556    pub m_HFReference: f32,
1557    /**Reference low-frequency in hertz (Hz). Ranges from 20.0 to 1000.0. Default is 250.0.*/
1558    pub m_LFReference: f32,
1559    /**Late reverberation level relative to room effect in millibels (mB). Ranges from -10000.0 to 2000.0. Default is 0.0.*/
1560    pub m_ReflectionsDelay: f32,
1561    /**Early reflections level relative to room effect in millibels (mB). Ranges from -10000.0 to 1000.0. Default is -10000.0.*/
1562    pub m_ReflectionsLevel: f32,
1563    /**Late reverberation delay time relative to first reflection in seconds. Ranges from 0.0 to 0.1. Default is 0.04.*/
1564    pub m_ReverbDelay: f32,
1565    /**Late reverberation level relative to room effect in millibels (mB). Ranges from -10000.0 to 2000.0. Default is 0.0.*/
1566    pub m_ReverbLevel: f32,
1567    /**Set/Get reverb preset properties.*/
1568    pub m_ReverbPreset: i32,
1569    /**Room effect level at low frequencies in millibels (mB). Ranges from -10000.0 to 0.0. Default is 0.0.*/
1570    pub m_Room: f32,
1571    /**Room effect high-frequency level re. low frequency level in millibels (mB). Ranges from -10000.0 to 0.0. Default is 0.0.*/
1572    pub m_RoomHF: f32,
1573    /**Room effect low-frequency level in millibels (mB). Ranges from -10000.0 to 0.0. Default is 0.0.*/
1574    pub m_RoomLF: f32,
1575    /// f32: (3.4.0 - 5.6.0b9)
1576    pub m_RoomRolloff: Option<f32>,
1577}
1578
1579/// AudioReverbZone is a  class of the Unity engine since version 3.4.0.
1580/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AudioReverbZone.html):
1581/**
1582Reverb Zones are used when you want to create location based ambient effects in the Scene.
1583As the Audio Listener moves into a Reverb Zone, the ambient effect associated with the zone is gradually applied.
1584
1585At the max distance there is no effect and at the min distance the effect is fully applied.
1586
1587For example you can gradually change your character's footsteps sounds and create the
1588
1589feeling like you where entering into a cavern, going trough a room,
1590
1591swimming underwater, etc.You can always mix reverb zones to have combined effects.
1592
1593For more info check Reverb Zones in the manual.
1594*/
1595#[derive(Debug, Serialize, Deserialize)]
1596pub struct AudioReverbZone {
1597    /**High-frequency to mid-frequency decay time ratio.*/
1598    pub m_DecayHFRatio: f32,
1599    /**Reverberation decay time at mid frequencies.*/
1600    pub m_DecayTime: f32,
1601    /**Value that controls the modal density in the late reverberation decay.*/
1602    pub m_Density: f32,
1603    /**Value that controls the echo density in the late reverberation decay.*/
1604    pub m_Diffusion: f32,
1605    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
1606    pub m_Enabled: u8,
1607    /**The game object this component is attached to. A component is always attached to a game object.*/
1608    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
1609    pub m_GameObject: PPtr,
1610    /**Reference high frequency (hz).*/
1611    pub m_HFReference: f32,
1612    /**Reference low frequency (hz).*/
1613    pub m_LFReference: f32,
1614    /**The distance from the centerpoint that the reverb will not have any effect. Default = 15.0.*/
1615    pub m_MaxDistance: f32,
1616    /**The distance from the centerpoint that the reverb will have full effect at. Default = 10.0.*/
1617    pub m_MinDistance: f32,
1618    /**Early reflections level relative to room effect.*/
1619    pub m_Reflections: i32,
1620    /**Initial reflection delay time.*/
1621    pub m_ReflectionsDelay: f32,
1622    /**Late reverberation level relative to room effect.*/
1623    pub m_Reverb: i32,
1624    /**Late reverberation delay time relative to initial reflection.*/
1625    pub m_ReverbDelay: f32,
1626    /**Set/Get reverb preset properties.*/
1627    pub m_ReverbPreset: i32,
1628    /**Room effect level (at mid frequencies).*/
1629    pub m_Room: i32,
1630    /**Relative room effect level at high frequencies.*/
1631    pub m_RoomHF: i32,
1632    /**Relative room effect level at low frequencies.*/
1633    pub m_RoomLF: i32,
1634    /// f32: (3.4.0 - 5.6.0b9)
1635    pub m_RoomRolloffFactor: Option<f32>,
1636}
1637
1638/// AudioSource is a  class of the Unity engine since version 3.4.0.
1639/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AudioSource.html):
1640/**
1641A representation of audio sources in 3D.
1642An AudioSource is attached to a GameObject for playing back sounds in a 3D environment.
1643
1644In order to play 3D sounds you also need to have a AudioListener.
1645
1646The audio listener is normally attached to the camera you want to use.
1647
1648Whether sounds are played in 3D or 2D is determined by AudioImporter settings.You can play a single audio clip using Play, Pause and Stop.
1649
1650You can also adjust its volume while playing using the volume property, or seek using time.
1651
1652Multiple sounds can be played on one AudioSource using PlayOneShot.
1653
1654You can play a clip at a static position in 3D space using PlayClipAtPoint.See Also: AudioListener, AudioClip, AudioSource component.
1655*/
1656#[derive(Debug, Serialize, Deserialize)]
1657pub struct AudioSource {
1658    /**Bypass effects (Applied from filter components or global listener filters).*/
1659    pub BypassEffects: bool,
1660    /**Sets the Doppler scale for this AudioSource.*/
1661    pub DopplerLevel: f32,
1662    /**Is the audio clip looping?*/
1663    pub Loop: bool,
1664    /**(Logarithmic rolloff) MaxDistance is the distance a sound stops attenuating at.*/
1665    pub MaxDistance: f32,
1666    /**Within the Min distance the AudioSource will cease to grow louder in volume.*/
1667    pub MinDistance: f32,
1668    /**Un- / Mutes the AudioSource. Mute sets the volume=0, Un-Mute restore the original volume.*/
1669    pub Mute: bool,
1670    pub Pan2D: f32,
1671    /**Sets the priority of the AudioSource.*/
1672    pub Priority: i32,
1673    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
1674    pub m_Enabled: u8,
1675    /**The game object this component is attached to. A component is always attached to a game object.*/
1676    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
1677    pub m_GameObject: PPtr,
1678    /**The pitch of the audio source.*/
1679    pub m_Pitch: f32,
1680    /**If set to true, the audio source will automatically start playing on awake.*/
1681    pub m_PlayOnAwake: bool,
1682    /**The volume of the audio source (0.0 to 1.0).*/
1683    pub m_Volume: f32,
1684    /// PPtr<[`AudioClip`]>: (3.4.0 - 2022.3.2f1)
1685    pub m_audioClip: PPtr,
1686    pub panLevelCustomCurve: AnimationCurve,
1687    pub rolloffCustomCurve: AnimationCurve,
1688    /**Sets/Gets how the AudioSource attenuates over distance.*/
1689    pub rolloffMode: i32,
1690    pub spreadCustomCurve: AnimationCurve,
1691    /**When set global effects on the AudioListener will not be applied to the audio signal generated by the AudioSource. Does not apply if the AudioSource is playing into a mixer group.*/
1692    /// bool: (4.2.0 - 2022.3.2f1)
1693    pub BypassListenerEffects: Option<bool>,
1694    /**When set doesn't route the signal from an AudioSource into the global reverb associated with reverb zones.*/
1695    /// bool: (4.2.0 - 2022.3.2f1)
1696    pub BypassReverbZones: Option<bool>,
1697    /**The target group to which the AudioSource should route its signal.*/
1698    /// PPtr<[`AudioMixerGroup`]>: (5.0.0f4 - 2022.3.2f1)
1699    pub OutputAudioMixerGroup: Option<PPtr>,
1700    /**Enables or disables spatialization.*/
1701    /// bool: (5.2.0f2 - 2022.3.2f1)
1702    pub Spatialize: Option<bool>,
1703    /**Determines if the spatializer effect is inserted before or after the effect filters.*/
1704    /// bool: (5.5.0f3 - 2022.3.2f1)
1705    pub SpatializePostEffects: Option<bool>,
1706    /// Vec<ExtensionPropertyValue>: (2017.2.0b2 - 2017.2.0b11)
1707    pub m_ExtensionPropertyValues: Option<Vec<ExtensionPropertyValue>>,
1708    /// AnimationCurve: (5.0.0f4 - 2022.3.2f1)
1709    pub reverbZoneMixCustomCurve: Option<AnimationCurve>,
1710}
1711
1712/// AutoOffMeshLinkData is a sub class of the Unity engine since version 5.0.0f4.
1713#[derive(Debug, Serialize, Deserialize)]
1714pub struct AutoOffMeshLinkData {
1715    pub m_Area: u8,
1716    pub m_End: Vector3f,
1717    pub m_LinkDirection: u8,
1718    pub m_LinkType: u16,
1719    pub m_Radius: f32,
1720    pub m_Start: Vector3f,
1721}
1722
1723/// Avatar is a  class of the Unity engine since version 4.0.0.
1724/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Avatar.html):
1725/**
1726Avatar definition.
1727See Also: Animator.avatar, AvatarBuilder.
1728*/
1729#[derive(Debug, Serialize, Deserialize)]
1730pub struct Avatar {
1731    pub m_Avatar: AvatarConstant,
1732    pub m_AvatarSize: u32,
1733    /**The name of the object.*/
1734    pub m_Name: String,
1735    pub m_TOS: Vec<(u32, String)>,
1736    /**Returns the HumanDescription used to create this Avatar.*/
1737    /// HumanDescription: (2019.1.0b1 - 2022.3.2f1)
1738    pub m_HumanDescription: Option<HumanDescription>,
1739}
1740
1741/// AvatarBodyMask is a  class of the Unity engine since version 4.0.0.
1742#[derive(Debug, Serialize, Deserialize)]
1743pub struct AvatarBodyMask {
1744    pub m_Mask: Vec<u32>,
1745    pub m_Name: String,
1746}
1747
1748/// AvatarConstant is a sub class of the Unity engine since version 4.0.0.
1749#[derive(Debug, Serialize, Deserialize)]
1750pub struct AvatarConstant {
1751    pub m_Human: OffsetPtr,
1752    pub m_HumanSkeletonIndexArray: Vec<i32>,
1753    pub m_RootMotionBoneIndex: i32,
1754    pub m_RootMotionBoneX: xform,
1755    /// OffsetPtr: (4.3.0 - 2022.3.2f1)
1756    pub m_AvatarSkeleton: Option<OffsetPtr>,
1757    /// OffsetPtr: (4.3.0 - 2022.3.2f1)
1758    pub m_AvatarSkeletonPose: Option<OffsetPtr>,
1759    /// OffsetPtr: (4.3.0 - 2022.3.2f1)
1760    pub m_DefaultPose: Option<OffsetPtr>,
1761    /// Vec<i32>: (4.3.0 - 2022.3.2f1)
1762    pub m_HumanSkeletonReverseIndexArray: Option<Vec<i32>>,
1763    /// OffsetPtr: (4.3.0 - 2022.3.2f1)
1764    pub m_RootMotionSkeleton: Option<OffsetPtr>,
1765    /// Vec<i32>: (4.3.0 - 2022.3.2f1)
1766    pub m_RootMotionSkeletonIndexArray: Option<Vec<i32>>,
1767    /// OffsetPtr: (4.3.0 - 2022.3.2f1)
1768    pub m_RootMotionSkeletonPose: Option<OffsetPtr>,
1769    /// OffsetPtr: (4.0.0 - 4.2.2)
1770    pub m_Skeleton: Option<OffsetPtr>,
1771    /// Vec<u32>: (4.3.0 - 2022.3.2f1)
1772    pub m_SkeletonNameIDArray: Option<Vec<u32>>,
1773    /// OffsetPtr: (4.0.0 - 4.2.2)
1774    pub m_SkeletonPose: Option<OffsetPtr>,
1775}
1776
1777/// AvatarMask is a  class of the Unity engine since version 4.1.0.
1778/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AvatarMask.html):
1779/**
1780AvatarMask is used to mask out humanoid body parts and transforms.
1781They can be used when importing animation or in an animator controller layer.
1782*/
1783#[derive(Debug, Serialize, Deserialize)]
1784pub struct AvatarMask {
1785    pub m_Elements: Vec<TransformMaskElement>,
1786    pub m_Mask: Vec<u32>,
1787    /**The name of the object.*/
1788    pub m_Name: String,
1789}
1790
1791/// AvatarSkeletonMask is a  class of the Unity engine since version 4.0.0.
1792#[derive(Debug, Serialize, Deserialize)]
1793pub struct AvatarSkeletonMask {
1794    pub elements: Vec<AvatarSkeletonMaskElement>,
1795    pub m_Name: String,
1796}
1797
1798/// AvatarSkeletonMaskElement is a sub class of the Unity engine since version 4.0.0.
1799#[derive(Debug, Serialize, Deserialize)]
1800pub struct AvatarSkeletonMaskElement {
1801    pub path: String,
1802    pub weight: f32,
1803}
1804
1805/// Behaviour is a  class of the Unity engine since version 3.4.0.
1806/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Behaviour.html):
1807/**
1808Behaviours are Components that can be enabled or disabled.
1809See Also: MonoBehaviour and Component.
1810*/
1811#[derive(Debug, Serialize, Deserialize)]
1812pub struct Behaviour {
1813    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
1814    pub m_Enabled: u8,
1815    /**The game object this component is attached to. A component is always attached to a game object.*/
1816    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
1817    pub m_GameObject: PPtr,
1818}
1819
1820/// BillboardAsset is a  class of the Unity engine since version 5.0.0f4.
1821/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/BillboardAsset.html):
1822/**
1823BillboardAsset describes how a billboard is rendered.
1824Billboards are a level-of-detail (LOD) method of drawing complicated 3D objects in a simpler manner if they are further away. Because the object is further away, there is often less requirement to draw the object at full detail due to its size on-screen and low likelihood of being a focal point in the Camera view. Instead, the object can be pre-rendered to a texture, and this texture used on a very simple Camera-facing Mesh of flat geometry (often simply a quadrilateral) known as a billboard. At great distances an object does not significantly change its orientation relative to the camera, so a billboard looks much like the object it represents from frame to frame, without having to be redrawn from the model. The BillboardAsset class allows the creation of billboards that are rendered from several directions, allowing a BillboardAsset to efficiently represent an object at low level of detail from any approximately-horizontal viewpoint.A BillboardAsset is usually created by importing SpeedTree assets. You can also create your own once you know how the billboard is described.SpeedTree billboard geometry is usually more complex than a plain quadrilateral. By using more vertices to cut out the empty part of the billboard image, rendering performance can potentially be improved due to the graphics system not having to draw as many redundant transparent pixels. You have access to the geometry data via BillboardAsset.vertices and BillboardAsset.indices.All vertices are considered in UV-space (see Fig. 1 below), because the geometry is due to be textured by the billboard images. UV vertices are easily expanded to 3D-space vertices by knowing the billboard's width, height, bottom, and what direction the billboard is currently facing. Assuming we have a billboard located at (0,0,0) looking at negative Z axis, the 3D-space coordinates are calculated as:X = (u - 0.5) * width
1825Y = v * height + bottom
1826Z = 0
1827
1828Figure 1: How UV vertices are expanded to 3D verticesIn order to display something similar to the real 3D mesh being billboarded, SpeedTree billboards select an appropriate image from several pre-rendered images according to the current view direction. The images in Figure 2 below are created by capturing the rendered image of the 3D tree at different view angles, evenly distributed around the Y-axis. The first image always starts at positive X axis direction (or 0° if you imagine a unit circle from above).
1829
1830Figure 2: How the eight billboard images are bakedAll images should be atlased together in one single texture. Each image is represented as a Vector4 of {left u, top v, width in u, height in v} in the atlas. You have access to all the images via BillboardAsset.imageTexCoords. SpeedTree Modeler always exports a normal texture alongside the diffuse texture for even better approximation of the lighting, and it shares the same atlas layout with the diffuse texutre.Once the BillboardAsset is constructed, use BillboardRenderer to render it.
1831*/
1832#[derive(Debug, Serialize, Deserialize)]
1833pub struct BillboardAsset {
1834    /**Height of the billboard that is below ground.*/
1835    pub bottom: f32,
1836    /**Height of the billboard.*/
1837    pub height: f32,
1838    pub imageTexCoords: Vec<Vector4f>,
1839    pub indices: Vec<u16>,
1840    /**The name of the object.*/
1841    pub m_Name: String,
1842    /**The material used for rendering.*/
1843    /// PPtr<[`Material`]>: (5.0.0f4 - 2022.3.2f1)
1844    pub material: PPtr,
1845    pub vertices: Vec<Vector2f>,
1846    /**Width of the billboard.*/
1847    pub width: f32,
1848    /// Vec<u8>: (5.0.0f4 - 5.2.5f1)
1849    pub rotated: Option<Vec<u8>>,
1850}
1851
1852/// BillboardRenderer is a  class of the Unity engine since version 5.0.0f4.
1853/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/BillboardRenderer.html):
1854/**
1855Renders a billboard from a BillboardAsset.
1856BillboardRenderers that share the same BillboardAsset can be rendered in a batch if they are next to each other in the order of rendering. The batching is always enabled regardless of whether dynamic batching is enabled or not.Due to the always-upright nature of a tree billboard, BillboardRenderer can only rotate around Y-axis.See Also: BillboardAsset.
1857*/
1858#[derive(Debug, Serialize, Deserialize)]
1859pub struct BillboardRenderer {
1860    /**The BillboardAsset to render.*/
1861    /// PPtr<[`BillboardAsset`]>: (5.0.0f4 - 2022.3.2f1)
1862    pub m_Billboard: PPtr,
1863    pub m_CastShadows: u8,
1864    /**Makes the rendered 3D object visible if enabled.*/
1865    pub m_Enabled: bool,
1866    /**The game object this component is attached to. A component is always attached to a game object.*/
1867    /// PPtr<[`GameObject`]>: (5.0.0f4 - 2022.3.2f1)
1868    pub m_GameObject: PPtr,
1869    /**The index of the baked lightmap applied to this renderer.*/
1870    pub m_LightmapIndex: u16,
1871    pub m_LightmapIndexDynamic: u16,
1872    pub m_LightmapTilingOffset: Vector4f,
1873    pub m_LightmapTilingOffsetDynamic: Vector4f,
1874    /**Returns all the instantiated materials of this object.*/
1875    /// Vec<PPtr<[`Material`]>>: (5.0.0f4 - 2022.3.2f1)
1876    pub m_Materials: Vec<PPtr>,
1877    /**If set, Renderer will use this Transform's position to find the light or reflection probe.*/
1878    /// PPtr<[`Transform`]>: (5.0.0f4 - 2022.3.2f1)
1879    pub m_ProbeAnchor: PPtr,
1880    /**Does this object receive shadows?*/
1881    pub m_ReceiveShadows: Enum_bool__u8,
1882    /**Should reflection probes be used for this Renderer?*/
1883    pub m_ReflectionProbeUsage: i32,
1884    /**Renderer's order within a sorting layer.*/
1885    pub m_SortingOrder: i16,
1886    /// PPtr<[`Transform`]>: (5.0.0f4 - 2022.3.2f1)
1887    pub m_StaticBatchRoot: PPtr,
1888    /// u8: (2017.2.0b2 - 2022.3.2f1)
1889    pub m_DynamicOccludee: Option<u8>,
1890    /**The light probe interpolation type.*/
1891    /// u8: (5.4.0f3 - 2022.3.2f1)
1892    pub m_LightProbeUsage: Option<u8>,
1893    /// PPtr<[`GameObject`]>: (5.4.0f3 - 2022.3.2f1)
1894    pub m_LightProbeVolumeOverride: Option<PPtr>,
1895    /// u8: (5.4.0f3 - 2022.3.2f1)
1896    pub m_MotionVectors: Option<u8>,
1897    /// u8: (2020.1.0b1 - 2022.3.2f1)
1898    pub m_RayTraceProcedural: Option<u8>,
1899    /**Describes how this renderer is updated for ray tracing.*/
1900    /// u8: (2019.3.0b1 - 2022.3.2f1)
1901    pub m_RayTracingMode: Option<u8>,
1902    /**This value sorts renderers by priority. Lower values are rendered first and higher values are rendered last.*/
1903    /// i32: (2018.3.0f2 - 2022.3.2f1)
1904    pub m_RendererPriority: Option<i32>,
1905    /**Determines which rendering layer this renderer lives on.*/
1906    /// u32: (2018.1.0b2 - 2022.3.2f1)
1907    pub m_RenderingLayerMask: Option<u32>,
1908    /// i16: (5.6.0b1 - 2022.3.2f1)
1909    pub m_SortingLayer: Option<i16>,
1910    /**Unique ID of the Renderer's sorting layer.*/
1911    /// i32: (5.0.0f4 - 2022.3.2f1)
1912    pub m_SortingLayerID: Option<i32>,
1913    /// StaticBatchInfo: (5.5.0f3 - 2022.3.2f1)
1914    pub m_StaticBatchInfo: Option<StaticBatchInfo>,
1915    /**Is this renderer a static shadow caster?*/
1916    /// u8: (2021.1.0b1 - 2022.3.2f1)
1917    pub m_StaticShadowCaster: Option<u8>,
1918    /// Vec<u32>: (5.0.0f4 - 5.4.6f3)
1919    pub m_SubsetIndices: Option<Vec<u32>>,
1920    /// bool: (5.0.0f4 - 5.3.8f2)
1921    pub m_UseLightProbes: Option<bool>,
1922}
1923
1924#[derive(Debug, Serialize, Deserialize)]
1925#[serde(untagged)]
1926pub enum Enum_bool__u8 {
1927    bool(bool),
1928    u8(u8),
1929}
1930
1931/// BitField is a sub class of the Unity engine since version 3.4.0.
1932#[derive(Debug, Serialize, Deserialize)]
1933pub struct BitField {
1934    pub m_Bits: u32,
1935}
1936
1937/// BlendShapeData is a sub class of the Unity engine since version 4.3.0.
1938#[derive(Debug, Serialize, Deserialize)]
1939pub struct BlendShapeData {
1940    pub channels: Vec<MeshBlendShapeChannel>,
1941    pub fullWeights: Vec<f32>,
1942    pub shapes: Vec<MeshBlendShape>,
1943    pub vertices: Vec<BlendShapeVertex>,
1944}
1945
1946/// BlendShapeVertex is a sub class of the Unity engine since version 4.3.0.
1947#[derive(Debug, Serialize, Deserialize)]
1948pub struct BlendShapeVertex {
1949    pub index: u32,
1950    pub normal: Vector3f,
1951    pub tangent: Vector3f,
1952    pub vertex: Vector3f,
1953}
1954
1955/// BlendTree is a  class of the Unity engine since version 4.0.0.
1956/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.BlendTree.html):
1957/**
1958Blend trees are used to blend continuously animation between their children. They can either be 1D or 2D.
1959*/
1960#[derive(Debug, Serialize, Deserialize)]
1961pub struct BlendTree {
1962    pub m_Childs: Vec<Enum_Child__ChildMotion>,
1963    /**Sets the maximum threshold that will be used by the ChildMotion. Only used when useAutomaticThresholds is true.*/
1964    pub m_MaxThreshold: f32,
1965    /**Sets the minimum threshold that will be used by the ChildMotion. Only used when useAutomaticThresholds is true.*/
1966    pub m_MinThreshold: f32,
1967    /**The name of the object.*/
1968    pub m_Name: String,
1969    /**When active, the children's thresholds are automatically spread between 0 and 1.*/
1970    pub m_UseAutomaticThresholds: bool,
1971    /// String: (4.0.0 - 4.1.5)
1972    pub m_BlendEvent: Option<String>,
1973    /// String: (4.1.0 - 4.1.5)
1974    pub m_BlendEventY: Option<String>,
1975    /**Parameter that is used to compute the blending weight of the children in 1D blend trees or on the X axis of a 2D blend tree.*/
1976    /// String: (4.2.0 - 2022.3.2f1)
1977    pub m_BlendParameter: Option<String>,
1978    /**Parameter that is used to compute the blending weight of the children on the Y axis of a 2D blend tree.*/
1979    /// String: (4.2.0 - 2022.3.2f1)
1980    pub m_BlendParameterY: Option<String>,
1981    /**The Blending type can be either 1D or different types of 2D.*/
1982    /// u32: (4.1.0 - 4.1.5); i32: (4.2.0 - 2022.3.2f1)
1983    pub m_BlendType: Option<i64>,
1984    /// bool: (5.0.0f4 - 2022.3.2f1)
1985    pub m_NormalizedBlendValues: Option<bool>,
1986}
1987
1988#[derive(Debug, Serialize, Deserialize)]
1989#[serde(untagged)]
1990pub enum Enum_Child__ChildMotion {
1991    Child(Child),
1992    ChildMotion(ChildMotion),
1993}
1994
1995/// BoneInfluence is a sub class of the Unity engine since version 3.4.0.
1996#[derive(Debug, Serialize, Deserialize)]
1997pub struct BoneInfluence {
1998    /// i32: (3.4.0 - 5.6.7f1)
1999    #[serde(alias = "boneIndex[0]")]
2000    pub boneIndex_0_: Option<i32>,
2001    /// i32: (3.4.0 - 5.6.7f1)
2002    #[serde(alias = "boneIndex[1]")]
2003    pub boneIndex_1_: Option<i32>,
2004    /// i32: (3.4.0 - 5.6.7f1)
2005    #[serde(alias = "boneIndex[2]")]
2006    pub boneIndex_2_: Option<i32>,
2007    /// i32: (3.4.0 - 5.6.7f1)
2008    #[serde(alias = "boneIndex[3]")]
2009    pub boneIndex_3_: Option<i32>,
2010    /// f32: (3.4.0 - 5.6.7f1)
2011    #[serde(alias = "weight[0]")]
2012    pub weight_0_: Option<f32>,
2013    /// f32: (3.4.0 - 5.6.7f1)
2014    #[serde(alias = "weight[1]")]
2015    pub weight_1_: Option<f32>,
2016    /// f32: (3.4.0 - 5.6.7f1)
2017    #[serde(alias = "weight[2]")]
2018    pub weight_2_: Option<f32>,
2019    /// f32: (3.4.0 - 5.6.7f1)
2020    #[serde(alias = "weight[3]")]
2021    pub weight_3_: Option<f32>,
2022}
2023
2024/// BoneWeights4 is a sub class of the Unity engine since version 2017.1.0b1.
2025#[derive(Debug, Serialize, Deserialize)]
2026pub struct BoneWeights4 {
2027    /// i32: (2017.1.0b1 - 2022.3.2f1)
2028    #[serde(alias = "boneIndex[0]")]
2029    pub boneIndex_0_: Option<i32>,
2030    /// i32: (2017.1.0b1 - 2022.3.2f1)
2031    #[serde(alias = "boneIndex[1]")]
2032    pub boneIndex_1_: Option<i32>,
2033    /// i32: (2017.1.0b1 - 2022.3.2f1)
2034    #[serde(alias = "boneIndex[2]")]
2035    pub boneIndex_2_: Option<i32>,
2036    /// i32: (2017.1.0b1 - 2022.3.2f1)
2037    #[serde(alias = "boneIndex[3]")]
2038    pub boneIndex_3_: Option<i32>,
2039    /// f32: (2017.1.0b1 - 2022.3.2f1)
2040    #[serde(alias = "weight[0]")]
2041    pub weight_0_: Option<f32>,
2042    /// f32: (2017.1.0b1 - 2022.3.2f1)
2043    #[serde(alias = "weight[1]")]
2044    pub weight_1_: Option<f32>,
2045    /// f32: (2017.1.0b1 - 2022.3.2f1)
2046    #[serde(alias = "weight[2]")]
2047    pub weight_2_: Option<f32>,
2048    /// f32: (2017.1.0b1 - 2022.3.2f1)
2049    #[serde(alias = "weight[3]")]
2050    pub weight_3_: Option<f32>,
2051}
2052
2053/// BoxCollider is a  class of the Unity engine since version 3.4.0.
2054/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/BoxCollider.html):
2055/**
2056A box-shaped primitive collider.
2057See Also: SphereCollider, CapsuleCollider, PhysicMaterial, Rigidbody.
2058*/
2059#[derive(Debug, Serialize, Deserialize)]
2060pub struct BoxCollider {
2061    /**The center of the box, measured in the object's local space.*/
2062    pub m_Center: Vector3f,
2063    /**Enabled Colliders will collide with other Colliders, disabled Colliders won't.*/
2064    pub m_Enabled: bool,
2065    /**The game object this component is attached to. A component is always attached to a game object.*/
2066    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
2067    pub m_GameObject: PPtr,
2068    /**Specify if this collider is configured as a trigger.*/
2069    pub m_IsTrigger: bool,
2070    /**The material used by the collider.*/
2071    /// PPtr<[`PhysicMaterial`]>: (3.4.0 - 2022.3.2f1)
2072    pub m_Material: PPtr,
2073    /**The size of the box, measured in the object's local space.*/
2074    pub m_Size: Vector3f,
2075    /**The additional layers that this Collider should exclude when deciding if the Collider can contact another Collider.*/
2076    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2077    pub m_ExcludeLayers: Option<BitField>,
2078    /**The additional layers that this Collider should include when deciding if the Collider can contact another Collider.*/
2079    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2080    pub m_IncludeLayers: Option<BitField>,
2081    /**A decision priority assigned to this Collider used when there is a conflicting decision on whether a Collider can contact another Collider.*/
2082    /// i32: (2022.2.0b1 - 2022.3.2f1)
2083    pub m_LayerOverridePriority: Option<i32>,
2084    /**Whether or not this Collider generates contacts for Physics.ContactEvent.*/
2085    /// bool: (2022.2.0b1 - 2022.3.2f1)
2086    pub m_ProvidesContacts: Option<bool>,
2087}
2088
2089/// BoxCollider2D is a  class of the Unity engine since version 4.3.0.
2090/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/BoxCollider2D.html):
2091/**
2092Collider for 2D physics representing an axis-aligned rectangle.
2093See Also: CircleCollider2D, PolygonCollider2D, EdgeCollider2D.
2094*/
2095#[derive(Debug, Serialize, Deserialize)]
2096pub struct BoxCollider2D {
2097    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
2098    pub m_Enabled: u8,
2099    /**The game object this component is attached to. A component is always attached to a game object.*/
2100    /// PPtr<[`GameObject`]>: (4.3.0 - 2022.3.2f1)
2101    pub m_GameObject: PPtr,
2102    /**Is this collider configured as a trigger?*/
2103    pub m_IsTrigger: bool,
2104    /// PPtr<[`PhysicsMaterial2D`]>: (4.3.0 - 2022.3.2f1)
2105    pub m_Material: PPtr,
2106    /**The width and height of the rectangle.*/
2107    pub m_Size: Vector2f,
2108    /**Determines whether the BoxCollider2D's shape is automatically updated based on a SpriteRenderer's tiling properties.*/
2109    /// bool: (5.6.0f1 - 2022.3.2f1)
2110    pub m_AutoTiling: Option<bool>,
2111    /**The Layers that this Collider2D will report collision or trigger callbacks for during a contact with another Collider2D.*/
2112    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2113    pub m_CallbackLayers: Option<BitField>,
2114    /// Vector2f: (4.3.0 - 4.7.2)
2115    pub m_Center: Option<Vector2f>,
2116    /**The layers of other Collider2D involved in contacts with this Collider2D that will be captured.*/
2117    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2118    pub m_ContactCaptureLayers: Option<BitField>,
2119    /**The density of the collider used to calculate its mass (when auto mass is enabled).*/
2120    /// f32: (5.3.0f1 - 2022.3.2f1)
2121    pub m_Density: Option<f32>,
2122    /**Controls the radius of all edges created by the collider.*/
2123    /// f32: (5.6.0f1 - 2022.3.2f1)
2124    pub m_EdgeRadius: Option<f32>,
2125    /**The additional Layers that this Collider2D should exclude when deciding if a contact with another Collider2D should happen or not.*/
2126    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2127    pub m_ExcludeLayers: Option<BitField>,
2128    /**The Layers that this Collider2D can receive forces from during a Collision contact with another Collider2D.*/
2129    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2130    pub m_ForceReceiveLayers: Option<BitField>,
2131    /**The Layers that this Collider2D is allowed to send forces to during a Collision contact with another Collider2D.*/
2132    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2133    pub m_ForceSendLayers: Option<BitField>,
2134    /**The additional Layers that this Collider2D should include when deciding if a contact with another Collider2D should happen or not.*/
2135    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2136    pub m_IncludeLayers: Option<BitField>,
2137    /**A decision priority assigned to this Collider2D used when there is a conflicting decision on whether a contact between itself and another Collision2D should happen or not.*/
2138    /// i32: (2022.2.0b1 - 2022.3.2f1)
2139    pub m_LayerOverridePriority: Option<i32>,
2140    /**The local offset of the collider geometry.*/
2141    /// Vector2f: (5.0.0f4 - 2022.3.2f1)
2142    pub m_Offset: Option<Vector2f>,
2143    /// SpriteTilingProperty: (5.6.0f1 - 2022.3.2f1)
2144    pub m_SpriteTilingProperty: Option<SpriteTilingProperty>,
2145    /**Sets whether the Collider will be used or not used by a CompositeCollider2D.*/
2146    /// bool: (5.6.0b1 - 2022.3.2f1)
2147    pub m_UsedByComposite: Option<bool>,
2148    /**Whether the collider is used by an attached effector or not.*/
2149    /// bool: (5.0.0f4 - 2022.3.2f1)
2150    pub m_UsedByEffector: Option<bool>,
2151}
2152
2153/// BrokenPrefabAsset is a  class of the Unity engine since version 2022.2.0b1.
2154/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/BrokenPrefabAsset.html):
2155/**
2156BrokenPrefabAsset is for Prefab files where the file content cannot be loaded without errors.
2157A Prefab Asset can be broken if the content of the file invalid or if it is a Variant Prefab where the parent Prefab is either invalid or missing.Search for t:BrokenPrefabAsset in the project browser to see which assets are of that type.
2158*/
2159#[derive(Debug, Serialize, Deserialize)]
2160pub struct BrokenPrefabAsset {
2161    /// PPtr<[`BrokenPrefabAsset`]>: (2022.2.0b1 - 2022.3.2f1)
2162    pub m_BrokenParentPrefab: PPtr,
2163    /**Returns true if the content of the file is valid.*/
2164    pub m_IsPrefabFileValid: bool,
2165    /**Returns true if the prefab is a variant.*/
2166    pub m_IsVariant: bool,
2167    pub m_IsWarning: bool,
2168    pub m_Message: String,
2169    /**The name of the object.*/
2170    pub m_Name: String,
2171}
2172
2173/// BufferBinding is a sub class of the Unity engine since version 5.5.0f3.
2174#[derive(Debug, Serialize, Deserialize)]
2175pub struct BufferBinding {
2176    pub m_Index: i32,
2177    pub m_NameIndex: i32,
2178    /// i32: (2020.1.0b1 - 2022.3.2f1)
2179    pub m_ArraySize: Option<i32>,
2180}
2181
2182/// BuildReport is a  class of the Unity engine since version 5.4.0f3.
2183/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Build.Reporting.BuildReport.html):
2184/**
2185The BuildReport API gives you information about the Unity build process.
2186A BuildReport object is returned by BuildPipeline.BuildPlayer and can be used to discover information about the files output, the build steps taken, and other platform-specific information such as native code stripping.
2187*/
2188#[derive(Debug, Serialize, Deserialize)]
2189pub struct BuildReport {
2190    /// Vec<PPtr<[`Object`]>>: (5.4.0f3 - 2022.3.2f1)
2191    pub m_Appendices: Vec<PPtr>,
2192    pub m_BuildSteps: Vec<BuildStepInfo>,
2193    pub m_Files: Vec<BuildReportFile>,
2194    /**The name of the object.*/
2195    pub m_Name: String,
2196    /**A BuildSummary containing overall statistics and data about the build process.*/
2197    pub m_Summary: BuildSummary,
2198}
2199
2200/// BuildReportFile is a sub class of the Unity engine since version 5.4.0f3.
2201#[derive(Debug, Serialize, Deserialize)]
2202pub struct BuildReportFile {
2203    pub id: u32,
2204    pub path: String,
2205    pub role: String,
2206    pub totalSize: u64,
2207}
2208
2209/// BuildReportPackedAssetInfo is a sub class of the Unity engine since version 5.4.0f3.
2210#[derive(Debug, Serialize, Deserialize)]
2211pub struct BuildReportPackedAssetInfo {
2212    pub classID: i32,
2213    pub fileID: i64,
2214    pub packedSize: i128,
2215    pub sourceAssetGUID: GUID,
2216    /// String: (5.4.2f2 - 2022.3.2f1)
2217    pub buildTimeAssetPath: Option<String>,
2218    /// u64: (2019.3.0b1 - 2022.3.2f1)
2219    pub offset: Option<u64>,
2220}
2221
2222/// BuildReportScenesUsingAsset is a sub class of the Unity engine since version 2020.1.0b1.
2223#[derive(Debug, Serialize, Deserialize)]
2224pub struct BuildReportScenesUsingAsset {
2225    pub assetPath: String,
2226    pub scenePaths: Vec<String>,
2227}
2228
2229/// BuildSettings is a  class of the Unity engine since version 3.4.0.
2230/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Build.Content.BuildSettings.html):
2231/**
2232Struct containing information on how to build content.
2233Note: this struct and its members exist to provide low-level support for the Scriptable Build Pipeline package. This is intended for internal use only; use the Scriptable Build Pipeline package to implement a fully featured build pipeline. You can install this via the Unity Package Manager.
2234*/
2235#[derive(Debug, Serialize, Deserialize)]
2236pub struct BuildSettings {
2237    pub enableDynamicBatching: bool,
2238    pub hasAdvancedVersion: bool,
2239    pub hasPROVersion: bool,
2240    pub hasPublishingRights: bool,
2241    pub hasShadows: bool,
2242    pub isEducationalBuild: bool,
2243    pub m_Version: String,
2244    /// GUID: (5.6.0f1 - 2022.2.1f1); String: (5.6.0b3 - 5.6.0b3)
2245    pub buildGUID: Option<Enum_GUID__String>,
2246    /// Vec<String>: (5.6.0b1 - 2022.3.2f1)
2247    pub buildTags: Option<Vec<String>>,
2248    /// bool: (5.0.0f4 - 5.2.5f1)
2249    pub enableMultipleDisplays: Option<bool>,
2250    /// Vec<String>: (5.4.0f3 - 2022.3.2f1)
2251    pub enabledVRDevices: Option<Vec<String>>,
2252    /// bool: (5.0.0f4 - 2022.3.2f1)
2253    pub hasClusterRendering: Option<bool>,
2254    /// bool: (4.2.0 - 2022.3.2f1)
2255    pub hasLocalLightShadows: Option<bool>,
2256    /// bool: (4.6.2 - 4.7.2)
2257    pub hasOculusPlugin: Option<bool>,
2258    /// bool: (3.4.0 - 5.2.5f1)
2259    pub hasRenderTexture: Option<bool>,
2260    /// bool: (4.2.0 - 2022.3.2f1)
2261    pub hasSoftShadows: Option<bool>,
2262    /// bool: (3.4.0 - 2022.2.1f1)
2263    pub isDebugBuild: Option<bool>,
2264    /// bool: (4.0.0 - 2022.3.2f1)
2265    pub isEmbedded: Option<bool>,
2266    /// bool: (3.5.0 - 2022.3.2f1)
2267    pub isNoWatermarkBuild: Option<bool>,
2268    /// bool: (3.5.0 - 2022.3.2f1)
2269    pub isPrototypingBuild: Option<bool>,
2270    /// bool: (2018.3.0f2 - 2022.3.2f1)
2271    pub isTrial: Option<bool>,
2272    /// bool: (2018.2.0b1 - 2018.2.8f1)
2273    pub isWsaHolographicRemotingEnabled: Option<bool>,
2274    /// Vec<String>: (3.4.0 - 5.0.4f1)
2275    pub levels: Option<Vec<String>>,
2276    /// String: (3.4.0 - 2022.2.0a18)
2277    pub m_AuthToken: Option<String>,
2278    /// Vec<i32>: (5.1.0f1 - 2022.3.2f1)
2279    pub m_GraphicsAPIs: Option<Vec<i32>>,
2280    /// Vec<String>: (5.0.0f4 - 2022.3.2f1)
2281    pub preloadedPlugins: Option<Vec<String>>,
2282    /// Vec<(i32, u32)>: (3.5.0 - 4.7.2); Vec<(i32, Hash128)>: (5.0.0f4 - 2020.2.0a19)
2283    pub runtimeClassHashes: Option<Vec<(i32, Enum_u32__Hash128)>>,
2284    /// Vec<String>: (5.1.0f1 - 2022.3.2f1)
2285    pub scenes: Option<Vec<String>>,
2286    /// Vec<(Hash128, Hash128)>: (5.0.0f4 - 2020.2.0a19)
2287    pub scriptHashes: Option<Vec<(Hash128, Hash128)>>,
2288    /// bool: (4.0.0 - 2022.3.2f1)
2289    pub usesOnMouseEvents: Option<bool>,
2290}
2291
2292#[derive(Debug, Serialize, Deserialize)]
2293#[serde(untagged)]
2294pub enum Enum_u32__Hash128 {
2295    u32(u32),
2296    Hash128(Hash128),
2297}
2298
2299/// BuildStepInfo is a sub class of the Unity engine since version 5.4.0f3.
2300#[derive(Debug, Serialize, Deserialize)]
2301pub struct BuildStepInfo {
2302    pub messages: Vec<BuildStepMessage>,
2303    pub stepName: String,
2304    /// i32: (2018.1.0b2 - 2022.3.2f1)
2305    pub depth: Option<i32>,
2306    /// u64: (5.4.0f3 - 2017.4.40f1)
2307    pub duration: Option<u64>,
2308    /// u64: (2018.1.0b2 - 2022.3.2f1)
2309    pub durationTicks: Option<u64>,
2310}
2311
2312/// BuildStepMessage is a sub class of the Unity engine since version 5.4.0f3.
2313/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Build.Reporting.BuildStepMessage.html):
2314/**
2315Contains information about a single log message recorded during the build process.
2316*/
2317#[derive(Debug, Serialize, Deserialize)]
2318pub struct BuildStepMessage {
2319    /**The text content of the log message.*/
2320    pub content: String,
2321    /**The LogType of the log message.*/
2322    /// i32: (5.4.0f3 - 2022.3.2f1)
2323    #[serde(alias = "type")]
2324    pub _type: Option<i32>,
2325}
2326
2327/// BuildSummary is a sub class of the Unity engine since version 5.4.0f3.
2328/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Build.Reporting.BuildSummary.html):
2329/**
2330Contains overall summary information about a build.
2331*/
2332#[derive(Debug, Serialize, Deserialize)]
2333pub struct BuildSummary {
2334    pub assetBundleOptions: i32,
2335    pub crc: u32,
2336    /**The BuildOptions used for the build, as passed to BuildPipeline.BuildPlayer.*/
2337    pub options: i32,
2338    /**The output path for the build, as provided to BuildPipeline.BuildPlayer.*/
2339    pub outputPath: String,
2340    pub platformName: String,
2341    /**The total number of errors and exceptions recorded during the build process.*/
2342    pub totalErrors: i32,
2343    /**The total size of the build output, in bytes.*/
2344    pub totalSize: u64,
2345    /**The total number of warnings recorded during the build process.*/
2346    pub totalWarnings: i32,
2347    /// GUID: (5.6.0f1 - 2022.3.2f1)
2348    pub buildGUID: Option<GUID>,
2349    /// i32: (2017.2.0b2 - 2022.3.2f1)
2350    pub buildResult: Option<i32>,
2351    /// DateTime: (2018.1.0b2 - 2022.3.2f1)
2352    pub buildStartTime: Option<DateTime>,
2353    /// i32: (5.5.0f3 - 2022.3.2f1)
2354    pub buildType: Option<i32>,
2355    /// String: (5.4.0f3 - 2017.4.40f1)
2356    pub name: Option<String>,
2357    /// String: (5.6.0b1 - 2022.3.2f1)
2358    pub platformGroupName: Option<String>,
2359    /// i32: (2021.2.0f1 - 2022.3.2f1)
2360    pub subtarget: Option<i32>,
2361    /// bool: (5.5.0f3 - 2017.1.5f1)
2362    pub success: Option<bool>,
2363    /// u64: (5.4.0f3 - 2017.4.40f1)
2364    pub totalTimeMS: Option<u64>,
2365    /// u64: (2018.1.0b2 - 2022.3.2f1)
2366    pub totalTimeTicks: Option<u64>,
2367}
2368
2369/// BuildTargetSettings is a sub class of the Unity engine since version 3.4.0.
2370#[derive(Debug, Serialize, Deserialize)]
2371pub struct BuildTargetSettings {
2372    pub m_BuildTarget: String,
2373    pub m_TextureFormat: i32,
2374    /// bool: (5.2.0f2 - 5.4.6f3)
2375    pub m_AllowsAlphaSplitting: Option<bool>,
2376    /// i32: (3.5.0 - 5.4.6f3)
2377    pub m_CompressionQuality: Option<i32>,
2378    /// i32: (5.5.0f3 - 2017.4.40f1)
2379    pub m_LoadingBehavior: Option<i32>,
2380    /// i32: (3.4.0 - 5.4.6f3)
2381    pub m_MaxTextureSize: Option<i32>,
2382    /// i32: (5.5.0f3 - 2017.4.40f1)
2383    pub m_TextureHeight: Option<i32>,
2384    /// i32: (5.5.0f3 - 2017.4.40f1)
2385    pub m_TextureWidth: Option<i32>,
2386}
2387
2388/// BuildTextureStackReference is a sub class of the Unity engine since version 2020.1.0b1.
2389#[derive(Debug, Serialize, Deserialize)]
2390pub struct BuildTextureStackReference {
2391    pub groupName: String,
2392    pub itemName: String,
2393}
2394
2395/// BuiltAssetBundleInfo is a sub class of the Unity engine since version 5.5.4f1.
2396#[derive(Debug, Serialize, Deserialize)]
2397pub struct BuiltAssetBundleInfo {
2398    pub bundleArchiveFile: u32,
2399    pub bundleName: String,
2400    pub packagedFileIndices: Vec<u32>,
2401}
2402
2403/// BuiltAssetBundleInfoSet is a  class of the Unity engine since version 5.5.4f1.
2404#[derive(Debug, Serialize, Deserialize)]
2405pub struct BuiltAssetBundleInfoSet {
2406    pub bundleInfos: Vec<BuiltAssetBundleInfo>,
2407}
2408
2409/// BuiltinShaderSettings is a sub class of the Unity engine since version 5.0.0f4.
2410#[derive(Debug, Serialize, Deserialize)]
2411pub struct BuiltinShaderSettings {
2412    pub m_Mode: i32,
2413    /// PPtr<[`Shader`]>: (5.0.0f4 - 2022.3.2f1)
2414    pub m_Shader: PPtr,
2415}
2416
2417/// BuoyancyEffector2D is a  class of the Unity engine since version 5.3.0f1.
2418/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/BuoyancyEffector2D.html):
2419/**
2420Applies forces to simulate buoyancy, fluid-flow and fluid drag.
2421When any Collider2D overlap the area defined by the effector, calculations are made to determine if they are below the surfaceLevel.  If they are not, no forces are applied.  If they are then the effector will apply buoyancy forces in an attempt to move the Collider2D to the surfaceLevel i.e. they will float.This effector is designed primarily to work with Collider2D that are set as triggers so that Collider2D can overlap the defined area and have buoyancy forces applied to them.
2422*/
2423#[derive(Debug, Serialize, Deserialize)]
2424pub struct BuoyancyEffector2D {
2425    /**A force applied to slow angular movement of any Collider2D in contact with the effector.*/
2426    pub m_AngularDrag: f32,
2427    /**The mask used to select specific layers allowed to interact with the effector.*/
2428    pub m_ColliderMask: BitField,
2429    /**The density of the fluid used to calculate the buoyancy forces.*/
2430    pub m_Density: f32,
2431    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
2432    pub m_Enabled: u8,
2433    /**The angle of the force used to similate fluid flow.*/
2434    pub m_FlowAngle: f32,
2435    /**The magnitude of the force used to similate fluid flow.*/
2436    pub m_FlowMagnitude: f32,
2437    /**The random variation of the force used to similate fluid flow.*/
2438    pub m_FlowVariation: f32,
2439    /**The game object this component is attached to. A component is always attached to a game object.*/
2440    /// PPtr<[`GameObject`]>: (5.3.0f1 - 2022.3.2f1)
2441    pub m_GameObject: PPtr,
2442    /**A force applied to slow linear movement of any Collider2D in contact with the effector.*/
2443    pub m_LinearDrag: f32,
2444    /**Defines an arbitrary horizontal line that represents the fluid surface level.*/
2445    pub m_SurfaceLevel: f32,
2446    /**Should the collider-mask be used or the global collision matrix?*/
2447    pub m_UseColliderMask: bool,
2448}
2449
2450/// CachedAssetMetaData is a sub class of the Unity engine since version 3.4.0.
2451#[derive(Debug, Serialize, Deserialize)]
2452pub struct CachedAssetMetaData {
2453    pub guid: GUID,
2454    pub originalChangeset: u32,
2455    pub originalDigest: Enum_MdFour__Hash128,
2456    pub originalName: String,
2457    pub originalParent: GUID,
2458    pub pathName: String,
2459}
2460
2461/// CachedSpriteAtlas is a  class of the Unity engine since version 4.3.0.
2462#[derive(Debug, Serialize, Deserialize)]
2463pub struct CachedSpriteAtlas {
2464    pub frames: Vec<((GUID, i64), SpriteRenderData)>,
2465    /// Vec<PPtr<[`Texture2D`]>>: (4.3.0 - 2022.3.2f1)
2466    pub textures: Vec<PPtr>,
2467    /// Vec<PPtr<[`Texture2D`]>>: (5.2.0f2 - 2022.3.2f1)
2468    pub alphaTextures: Option<Vec<PPtr>>,
2469}
2470
2471/// CachedSpriteAtlasRuntimeData is a  class of the Unity engine since version 2017.1.0b1.
2472#[derive(Debug, Serialize, Deserialize)]
2473pub struct CachedSpriteAtlasRuntimeData {
2474    /// Vec<PPtr<[`Texture2D`]>>: (2017.1.0b1 - 2022.3.2f1)
2475    pub alphaTextures: Vec<PPtr>,
2476    pub frames: Vec<((GUID, i64), SpriteAtlasData)>,
2477    /// Vec<PPtr<[`Texture2D`]>>: (2017.1.0b1 - 2022.3.2f1)
2478    pub textures: Vec<PPtr>,
2479    /// Hash128: (2020.1.0b1 - 2022.3.2f1)
2480    pub currentPackingHash: Option<Hash128>,
2481}
2482
2483/// Camera is a  class of the Unity engine since version 3.4.0.
2484/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Camera.html):
2485/**
2486A Camera is a device through which the player views the world.
2487A screen space point is defined in pixels. The bottom-left of the screen is (0,0); the right-top
2488
2489is (pixelWidth,pixelHeight). The z position is in world units from the Camera.A viewport space point is normalized and relative to the Camera. The bottom-left of the Camera is
2490
2491(0,0); the top-right is (1,1). The z position is in world units from the Camera.A world space point is defined in global coordinates (for example, Transform.position).See Also: camera component.
2492*/
2493#[derive(Debug, Serialize, Deserialize)]
2494pub struct Camera {
2495    /**The color with which the screen will be cleared.*/
2496    pub m_BackGroundColor: ColorRGBA,
2497    /**How the camera clears the background.*/
2498    pub m_ClearFlags: u32,
2499    /**This is used to render parts of the Scene selectively.*/
2500    pub m_CullingMask: BitField,
2501    /**Camera's depth in the camera rendering order.*/
2502    pub m_Depth: f32,
2503    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
2504    pub m_Enabled: u8,
2505    /**The game object this component is attached to. A component is always attached to a game object.*/
2506    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
2507    pub m_GameObject: PPtr,
2508    pub m_NormalizedViewPortRect: Rectf,
2509    /**The rendering path that should be used, if possible.*/
2510    pub m_RenderingPath: i32,
2511    /**Destination render texture.*/
2512    /// PPtr<[`RenderTexture`]>: (3.4.0 - 2022.3.2f1)
2513    pub m_TargetTexture: PPtr,
2514    /**Is the camera orthographic (true) or perspective (false)?*/
2515    pub orthographic: bool,
2516    /**The distance of the far clipping plane from the Camera, in world units.*/
2517    /// f32: (3.4.0 - 2022.3.2f1)
2518    #[serde(alias = "far clip plane")]
2519    pub far_clip_plane: Option<f32>,
2520    /**The vertical field of view of the Camera, in degrees.*/
2521    /// f32: (3.4.0 - 2022.3.2f1)
2522    #[serde(alias = "field of view")]
2523    pub field_of_view: Option<f32>,
2524    /**Dynamic Resolution Scaling.*/
2525    /// bool: (2017.3.0b1 - 2022.3.2f1)
2526    pub m_AllowDynamicResolution: Option<bool>,
2527    /**MSAA rendering.*/
2528    /// bool: (5.6.0b1 - 2022.3.2f1)
2529    pub m_AllowMSAA: Option<bool>,
2530    /**The camera anamorphism. To use this property, enable UsePhysicalProperties.*/
2531    /// f32: (2022.2.0b1 - 2022.3.2f1)
2532    pub m_Anamorphism: Option<f32>,
2533    /**The camera aperture. To use this property, enable UsePhysicalProperties.*/
2534    /// f32: (2022.2.0b1 - 2022.3.2f1)
2535    pub m_Aperture: Option<f32>,
2536    /**The camera barrel clipping. To use this property, enable UsePhysicalProperties.*/
2537    /// f32: (2022.2.0b1 - 2022.3.2f1)
2538    pub m_BarrelClipping: Option<f32>,
2539    /**The blade count in the lens of the camera. To use this property, enable UsePhysicalProperties.*/
2540    /// i32: (2022.2.0b1 - 2022.3.2f1)
2541    pub m_BladeCount: Option<i32>,
2542    /**The curvature of the blades. To use this property, enable UsePhysicalProperties.*/
2543    /// Vector2f: (2022.2.0b1 - 2022.3.2f1)
2544    pub m_Curvature: Option<Vector2f>,
2545    /**The camera focal length, expressed in millimeters. To use this property, enable UsePhysicalProperties.*/
2546    /// f32: (2018.2.0b1 - 2022.3.2f1)
2547    pub m_FocalLength: Option<f32>,
2548    /**The focus distance of the lens. To use this property, enable UsePhysicalProperties.*/
2549    /// f32: (2022.2.0b1 - 2022.3.2f1)
2550    pub m_FocusDistance: Option<f32>,
2551    /// bool: (5.6.0b1 - 2022.3.2f1)
2552    pub m_ForceIntoRT: Option<bool>,
2553    /// i32: (2018.3.0f2 - 2022.3.2f1)
2554    pub m_GateFitMode: Option<i32>,
2555    /// bool: (3.5.0 - 2022.3.2f1)
2556    pub m_HDR: Option<bool>,
2557    /**The sensor sensitivity of the camera. To use this property, enable UsePhysicalProperties.*/
2558    /// i32: (2022.2.0b1 - 2022.3.2f1)
2559    pub m_Iso: Option<i32>,
2560    /**The lens offset of the camera. The lens shift is relative to the sensor size. For example, a lens shift of 0.5 offsets the sensor by half its horizontal size.*/
2561    /// Vector2f: (2018.2.0b1 - 2022.3.2f1)
2562    pub m_LensShift: Option<Vector2f>,
2563    /// bool: (4.3.0 - 2022.3.2f1)
2564    pub m_OcclusionCulling: Option<bool>,
2565    /**The size of the camera sensor, expressed in millimeters.*/
2566    /// Vector2f: (2018.2.0b1 - 2022.3.2f1)
2567    pub m_SensorSize: Option<Vector2f>,
2568    /**The exposure time of the camera, in seconts. To use this property, enable UsePhysicalProperties.*/
2569    /// f32: (2022.2.0b1 - 2022.3.2f1)
2570    pub m_ShutterSpeed: Option<f32>,
2571    /**Distance to a point where virtual eyes converge.*/
2572    /// f32: (4.5.0 - 2022.3.2f1)
2573    pub m_StereoConvergence: Option<f32>,
2574    /// bool: (5.1.0f1 - 2017.2.0b10)
2575    pub m_StereoMirrorMode: Option<bool>,
2576    /**The distance between the virtual eyes. Use this to query or set the current eye separation. Note that most VR devices provide this value, in which case setting the value will have no effect.*/
2577    /// f32: (4.5.0 - 2022.3.2f1)
2578    pub m_StereoSeparation: Option<f32>,
2579    /**Set the target display for this Camera.*/
2580    /// u32: (4.5.0 - 5.2.5f1); i32: (5.3.0f1 - 2022.3.2f1)
2581    pub m_TargetDisplay: Option<i64>,
2582    /// i32: (5.1.3f1 - 2022.3.2f1)
2583    pub m_TargetEye: Option<i32>,
2584    /// i32: (2018.2.0b1 - 2022.3.2f1)
2585    pub m_projectionMatrixMode: Option<i32>,
2586    /**The distance of the near clipping plane from the the Camera, in world units.*/
2587    /// f32: (3.4.0 - 2022.3.2f1)
2588    #[serde(alias = "near clip plane")]
2589    pub near_clip_plane: Option<f32>,
2590    /**Camera's half-size when in orthographic mode.*/
2591    /// f32: (3.4.0 - 2022.3.2f1)
2592    #[serde(alias = "orthographic size")]
2593    pub orthographic_size: Option<f32>,
2594}
2595
2596/// Canvas is a  class of the Unity engine since version 4.5.0.
2597/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Canvas.html):
2598/**
2599Element that can be used for screen rendering.
2600Elements on a canvas are rendered AFTER Scene rendering, either from an attached camera or using overlay mode.
2601*/
2602#[derive(Debug, Serialize, Deserialize)]
2603pub struct Canvas {
2604    /// PPtr<[`Camera`]>: (4.5.0 - 2022.3.2f1)
2605    pub m_Camera: PPtr,
2606    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
2607    pub m_Enabled: u8,
2608    /**The game object this component is attached to. A component is always attached to a game object.*/
2609    /// PPtr<[`GameObject`]>: (4.5.0 - 2022.3.2f1)
2610    pub m_GameObject: PPtr,
2611    /**Force elements in the canvas to be aligned with pixels. Only applies with renderMode is Screen Space.*/
2612    pub m_PixelPerfect: bool,
2613    /**Is the Canvas in World or Overlay mode?*/
2614    pub m_RenderMode: i32,
2615    /// i32: (5.6.0f1 - 2022.3.2f1)
2616    pub m_AdditionalShaderChannelsFlag: Option<i32>,
2617    /// f32: (4.5.0 - 4.5.5)
2618    pub m_Alpha: Option<f32>,
2619    /// bool: (4.5.0 - 4.5.5)
2620    pub m_Normals: Option<bool>,
2621    /**Allows for nested canvases to override pixelPerfect settings inherited from parent canvases.*/
2622    /// bool: (4.6.0 - 2022.3.2f1)
2623    pub m_OverridePixelPerfect: Option<bool>,
2624    /**Override the sorting of canvas.*/
2625    /// bool: (4.6.0 - 2022.3.2f1)
2626    pub m_OverrideSorting: Option<bool>,
2627    /**How far away from the camera is the Canvas generated.*/
2628    /// f32: (4.6.0 - 2022.3.2f1)
2629    pub m_PlaneDistance: Option<f32>,
2630    /// bool: (4.5.0 - 4.5.5)
2631    pub m_PositionUVs: Option<bool>,
2632    /// bool: (4.6.0 - 2022.3.2f1)
2633    pub m_ReceivesEvents: Option<bool>,
2634    /// f32: (5.3.4f1 - 2022.3.2f1)
2635    pub m_SortingBucketNormalizedSize: Option<f32>,
2636    /**Unique ID of the Canvas' sorting layer.*/
2637    /// u32: (4.6.0 - 4.7.2); i32: (5.0.0f4 - 2022.3.2f1)
2638    pub m_SortingLayerID: Option<i64>,
2639    /**Canvas' order within a sorting layer.*/
2640    /// i16: (4.6.0 - 2022.3.2f1)
2641    pub m_SortingOrder: Option<i16>,
2642    /**For Overlay mode, display index on which the UI canvas will appear.*/
2643    /// i8: (5.3.0f1 - 2022.3.2f1)
2644    pub m_TargetDisplay: Option<i8>,
2645    /**Should the Canvas size be updated based on the render target when a manual Camera.Render call is performed.*/
2646    /// i32: (2022.1.0b1 - 2022.3.2f1)
2647    pub m_UpdateRectTransformForStandalone: Option<i32>,
2648    /**Should the Canvas vertex color always be in gamma space before passing to the UI shaders in linear color space work flow.*/
2649    /// bool: (2022.2.15f1 - 2022.3.2f1)
2650    pub m_VertexColorAlwaysGammaSpace: Option<bool>,
2651}
2652
2653/// CanvasGroup is a  class of the Unity engine since version 4.6.0.
2654/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/CanvasGroup.html):
2655/**
2656A Canvas placable element that can be used to modify children Alpha, Raycasting, Enabled state.
2657A canvas group can be used to modify the state of children elements.An example of this would be a window which fades in over time, by modifying the alpha value of the group the children elements will be affected. The result alpha will be the multiplied result of any nested groups, multiplied with the canvas elements alpha.You can configure Canvas Groups to not block raycasts. When you configure a Canvas Group to not block raycasts, graphic raycasting ignores anything in the group.Let's say you have a Canvas GameObject with a CanvasGroup component on it, and you set the CanvasGroup component's alpha to 0. In that case, the Canvas does not render any of its child GameObjects.
2658
2659Now suppose that the Canvas also has a child CanvasGroup GameObject that you do want to render. If you enable IgnoreParentGroups for the CanvasGroup GameObject, the parent Canvas does not render any of its child GameObjects, including the CanvasGroup you want to render.
2660
2661To get the child CanvasGroup GameObject, do one of two things:
2662
2663In the parent Canvas, set the CanvasGroup component's alpha to a small, non-zero value.
2664
2665Add a Canvas component to the child CanvasGroup GameObject that you want to render.
2666*/
2667#[derive(Debug, Serialize, Deserialize)]
2668pub struct CanvasGroup {
2669    /**Set the alpha of the group.*/
2670    pub m_Alpha: f32,
2671    /**Does this group block raycasting (allow collision).*/
2672    pub m_BlocksRaycasts: bool,
2673    /**The game object this component is attached to. A component is always attached to a game object.*/
2674    /// PPtr<[`GameObject`]>: (4.6.0 - 2022.3.2f1)
2675    pub m_GameObject: PPtr,
2676    /**Should the group ignore parent groups?*/
2677    pub m_IgnoreParentGroups: bool,
2678    /**Is the group interactable (are the elements beneath the group enabled).*/
2679    pub m_Interactable: bool,
2680    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
2681    /// u8: (4.6.1 - 2022.3.2f1)
2682    pub m_Enabled: Option<u8>,
2683}
2684
2685/// CanvasRenderer is a  class of the Unity engine since version 4.6.0.
2686/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/CanvasRenderer.html):
2687/**
2688A component that will render to the screen after all normal rendering has completed when attached to a Canvas. Designed for GUI application.
2689See Also:Canvas.
2690*/
2691#[derive(Debug, Serialize, Deserialize)]
2692pub struct CanvasRenderer {
2693    /**The game object this component is attached to. A component is always attached to a game object.*/
2694    /// PPtr<[`GameObject`]>: (4.6.0 - 2022.3.2f1)
2695    pub m_GameObject: PPtr,
2696    /**Indicates whether geometry emitted by this renderer can be ignored when the vertex color alpha is close to zero for every vertex of the mesh.*/
2697    /// bool: (2018.2.0b1 - 2022.3.2f1)
2698    pub m_CullTransparentMesh: Option<bool>,
2699}
2700
2701/// CapsuleCollider is a  class of the Unity engine since version 3.4.0.
2702/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/CapsuleCollider.html):
2703/**
2704A capsule-shaped primitive collider.
2705Capsules are cylinders with a half-sphere at each end.See Also: BoxCollider, SphereCollider, PhysicMaterial, Rigidbody.
2706*/
2707#[derive(Debug, Serialize, Deserialize)]
2708pub struct CapsuleCollider {
2709    /**The center of the capsule, measured in the object's local space.*/
2710    pub m_Center: Vector3f,
2711    /**The direction of the capsule.*/
2712    pub m_Direction: i32,
2713    /**Enabled Colliders will collide with other Colliders, disabled Colliders won't.*/
2714    pub m_Enabled: bool,
2715    /**The game object this component is attached to. A component is always attached to a game object.*/
2716    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
2717    pub m_GameObject: PPtr,
2718    /**The height of the capsule measured in the object's local space.*/
2719    pub m_Height: f32,
2720    /**Specify if this collider is configured as a trigger.*/
2721    pub m_IsTrigger: bool,
2722    /**The material used by the collider.*/
2723    /// PPtr<[`PhysicMaterial`]>: (3.4.0 - 2022.3.2f1)
2724    pub m_Material: PPtr,
2725    /**The radius of the sphere, measured in the object's local space.*/
2726    pub m_Radius: f32,
2727    /**The additional layers that this Collider should exclude when deciding if the Collider can contact another Collider.*/
2728    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2729    pub m_ExcludeLayers: Option<BitField>,
2730    /**The additional layers that this Collider should include when deciding if the Collider can contact another Collider.*/
2731    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2732    pub m_IncludeLayers: Option<BitField>,
2733    /**A decision priority assigned to this Collider used when there is a conflicting decision on whether a Collider can contact another Collider.*/
2734    /// i32: (2022.2.0b1 - 2022.3.2f1)
2735    pub m_LayerOverridePriority: Option<i32>,
2736    /**Whether or not this Collider generates contacts for Physics.ContactEvent.*/
2737    /// bool: (2022.2.0b1 - 2022.3.2f1)
2738    pub m_ProvidesContacts: Option<bool>,
2739}
2740
2741/// CapsuleCollider2D is a  class of the Unity engine since version 5.5.0f3.
2742/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/CapsuleCollider2D.html):
2743/**
2744A capsule-shaped primitive collider.
2745Capsules are boxes with a semi-circle at each end.
2746*/
2747#[derive(Debug, Serialize, Deserialize)]
2748pub struct CapsuleCollider2D {
2749    /**The density of the collider used to calculate its mass (when auto mass is enabled).*/
2750    pub m_Density: f32,
2751    /**The direction that the capsule sides can extend.*/
2752    pub m_Direction: i32,
2753    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
2754    pub m_Enabled: u8,
2755    /**The game object this component is attached to. A component is always attached to a game object.*/
2756    /// PPtr<[`GameObject`]>: (5.5.0f3 - 2022.3.2f1)
2757    pub m_GameObject: PPtr,
2758    /**Is this collider configured as a trigger?*/
2759    pub m_IsTrigger: bool,
2760    /// PPtr<[`PhysicsMaterial2D`]>: (5.5.0f3 - 2022.3.2f1)
2761    pub m_Material: PPtr,
2762    /**The local offset of the collider geometry.*/
2763    pub m_Offset: Vector2f,
2764    /**The width and height of the capsule area.*/
2765    pub m_Size: Vector2f,
2766    /**Whether the collider is used by an attached effector or not.*/
2767    pub m_UsedByEffector: bool,
2768    /**The Layers that this Collider2D will report collision or trigger callbacks for during a contact with another Collider2D.*/
2769    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2770    pub m_CallbackLayers: Option<BitField>,
2771    /**The layers of other Collider2D involved in contacts with this Collider2D that will be captured.*/
2772    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2773    pub m_ContactCaptureLayers: Option<BitField>,
2774    /**The additional Layers that this Collider2D should exclude when deciding if a contact with another Collider2D should happen or not.*/
2775    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2776    pub m_ExcludeLayers: Option<BitField>,
2777    /**The Layers that this Collider2D can receive forces from during a Collision contact with another Collider2D.*/
2778    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2779    pub m_ForceReceiveLayers: Option<BitField>,
2780    /**The Layers that this Collider2D is allowed to send forces to during a Collision contact with another Collider2D.*/
2781    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2782    pub m_ForceSendLayers: Option<BitField>,
2783    /**The additional Layers that this Collider2D should include when deciding if a contact with another Collider2D should happen or not.*/
2784    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2785    pub m_IncludeLayers: Option<BitField>,
2786    /**A decision priority assigned to this Collider2D used when there is a conflicting decision on whether a contact between itself and another Collision2D should happen or not.*/
2787    /// i32: (2022.2.0b1 - 2022.3.2f1)
2788    pub m_LayerOverridePriority: Option<i32>,
2789    /**Sets whether the Collider will be used or not used by a CompositeCollider2D.*/
2790    /// bool: (5.6.0b1 - 2022.3.2f1)
2791    pub m_UsedByComposite: Option<bool>,
2792}
2793
2794/// Channel is a sub class of the Unity engine since version 3.4.0.
2795#[derive(Debug, Serialize, Deserialize)]
2796pub struct Channel {
2797    pub attributeName: String,
2798    pub byteOffset: i32,
2799    pub curve: AnimationCurve,
2800}
2801
2802/// ChannelInfo is a sub class of the Unity engine since version 4.0.0.
2803/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/MPE.ChannelInfo.html):
2804/**
2805A structure that contains the connection information of a Channel in ChannelService.
2806*/
2807#[derive(Debug, Serialize, Deserialize)]
2808pub struct ChannelInfo {
2809    pub dimension: u8,
2810    pub format: u8,
2811    pub offset: u8,
2812    pub stream: u8,
2813}
2814
2815/// CharacterController is a  class of the Unity engine since version 3.4.0.
2816/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/CharacterController.html):
2817/**
2818A CharacterController allows you to easily do movement constrained by collisions without having to deal with a rigidbody.
2819A CharacterController is not affected by forces and will only move when you call the Move function.
2820
2821It will then carry out the movement but be constrained by collisions.See Also: Character Controller component and Character animation examples
2822*/
2823#[derive(Debug, Serialize, Deserialize)]
2824pub struct CharacterController {
2825    /**The center of the character's capsule relative to the transform's position.*/
2826    pub m_Center: Vector3f,
2827    /**The game object this component is attached to. A component is always attached to a game object.*/
2828    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
2829    pub m_GameObject: PPtr,
2830    /**The height of the character's capsule.*/
2831    pub m_Height: f32,
2832    /**Gets or sets the minimum move distance of the character controller.*/
2833    pub m_MinMoveDistance: f32,
2834    /**The radius of the character's capsule.*/
2835    pub m_Radius: f32,
2836    /**The character's collision skin width.*/
2837    pub m_SkinWidth: f32,
2838    /**The character controllers slope limit in degrees.*/
2839    pub m_SlopeLimit: f32,
2840    /**The character controllers step offset in meters.*/
2841    pub m_StepOffset: f32,
2842    /**Enabled Colliders will collide with other Colliders, disabled Colliders won't.*/
2843    /// bool: (5.0.0f4 - 2022.3.2f1)
2844    pub m_Enabled: Option<bool>,
2845    /**The additional layers that this Collider should exclude when deciding if the Collider can contact another Collider.*/
2846    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2847    pub m_ExcludeLayers: Option<BitField>,
2848    /**The additional layers that this Collider should include when deciding if the Collider can contact another Collider.*/
2849    /// BitField: (2022.2.0b1 - 2022.3.2f1)
2850    pub m_IncludeLayers: Option<BitField>,
2851    /**Specify if this collider is configured as a trigger.*/
2852    /// bool: (5.0.0f4 - 2022.3.2f1)
2853    pub m_IsTrigger: Option<bool>,
2854    /**A decision priority assigned to this Collider used when there is a conflicting decision on whether a Collider can contact another Collider.*/
2855    /// i32: (2022.2.0b1 - 2022.3.2f1)
2856    pub m_LayerOverridePriority: Option<i32>,
2857    /**The material used by the collider.*/
2858    /// PPtr<[`PhysicMaterial`]>: (5.0.0f4 - 2022.3.2f1)
2859    pub m_Material: Option<PPtr>,
2860    /**Whether or not this Collider generates contacts for Physics.ContactEvent.*/
2861    /// bool: (2022.2.0b1 - 2022.3.2f1)
2862    pub m_ProvidesContacts: Option<bool>,
2863}
2864
2865/// CharacterInfo is a sub class of the Unity engine since version 3.4.0.
2866/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/CharacterInfo.html):
2867/**
2868Specification for how to render a character from the font texture. See Font.characterInfo.
2869See Also: Example at Font.RequestCharactersInTexture.
2870*/
2871#[derive(Debug, Serialize, Deserialize)]
2872pub struct CharacterInfo {
2873    /**Unicode value of the character.*/
2874    pub index: u32,
2875    pub uv: Rectf,
2876    pub vert: Rectf,
2877    /**The horizontal distance, rounded to the nearest integer, from the origin of this character to the origin of the next character.*/
2878    /// f32: (5.3.0f1 - 2022.3.2f1)
2879    pub advance: Option<f32>,
2880    /// bool: (4.0.0 - 2022.3.2f1)
2881    pub flipped: Option<bool>,
2882    /// f32: (3.4.0 - 5.2.5f1)
2883    pub width: Option<f32>,
2884}
2885
2886/// CharacterJoint is a  class of the Unity engine since version 3.4.0.
2887/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/CharacterJoint.html):
2888/**
2889Character Joints are mainly used for Ragdoll effects.
2890They are an extended ball-socket joint which allows you to limit the joint on each axis.
2891*/
2892#[derive(Debug, Serialize, Deserialize)]
2893pub struct CharacterJoint {
2894    /**The Position of the anchor around which the joints motion is constrained.*/
2895    pub m_Anchor: Vector3f,
2896    /**The Direction of the axis around which the body is constrained.*/
2897    pub m_Axis: Vector3f,
2898    /**The force that needs to be applied for this joint to break.*/
2899    pub m_BreakForce: f32,
2900    /**The torque that needs to be applied for this joint to break. To be able to break, a joint must be _Locked_ or _Limited_ on the axis of rotation where the torque is being applied. This means that some joints cannot break, such as an unconstrained Configurable Joint.*/
2901    pub m_BreakTorque: f32,
2902    /**A reference to another rigidbody this joint connects to.*/
2903    /// PPtr<[`Rigidbody`]>: (3.4.0 - 2022.3.2f1)
2904    pub m_ConnectedBody: PPtr,
2905    /**The game object this component is attached to. A component is always attached to a game object.*/
2906    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
2907    pub m_GameObject: PPtr,
2908    /**The upper limit around the primary axis of the character joint.*/
2909    pub m_HighTwistLimit: SoftJointLimit,
2910    /**The lower limit around the primary axis of the character joint.*/
2911    pub m_LowTwistLimit: SoftJointLimit,
2912    /**The angular limit of rotation (in degrees) around the primary axis of the character joint.*/
2913    pub m_Swing1Limit: SoftJointLimit,
2914    /**The angular limit of rotation (in degrees) around the primary axis of the character joint.*/
2915    pub m_Swing2Limit: SoftJointLimit,
2916    /**The secondary axis around which the joint can rotate.*/
2917    pub m_SwingAxis: Vector3f,
2918    /**Should the connectedAnchor be calculated automatically?*/
2919    /// bool: (4.3.0 - 2022.3.2f1)
2920    pub m_AutoConfigureConnectedAnchor: Option<bool>,
2921    /**Position of the anchor relative to the connected Rigidbody.*/
2922    /// Vector3f: (4.3.0 - 2022.3.2f1)
2923    pub m_ConnectedAnchor: Option<Vector3f>,
2924    /**A reference to an articulation body this joint connects to.*/
2925    /// PPtr<[`ArticulationBody`]>: (2020.2.0b1 - 2022.3.2f1)
2926    pub m_ConnectedArticulationBody: Option<PPtr>,
2927    /**The scale to apply to the inverse mass and inertia tensor of the connected body prior to solving the constraints.*/
2928    /// f32: (2017.1.0b2 - 2022.3.2f1)
2929    pub m_ConnectedMassScale: Option<f32>,
2930    /**Enable collision between bodies connected with the joint.*/
2931    /// bool: (4.5.0 - 2022.3.2f1)
2932    pub m_EnableCollision: Option<bool>,
2933    /**Toggle preprocessing for this joint.*/
2934    /// bool: (5.0.0f4 - 2022.3.2f1)
2935    pub m_EnablePreprocessing: Option<bool>,
2936    /**Brings violated constraints back into alignment even when the solver fails.*/
2937    /// bool: (5.0.0f4 - 2022.3.2f1)
2938    pub m_EnableProjection: Option<bool>,
2939    /// bool: (2017.1.0b2 - 2017.1.0b5)
2940    pub m_Enabled: Option<bool>,
2941    /**The scale to apply to the inverse mass and inertia tensor of the body prior to solving the constraints.*/
2942    /// f32: (2017.1.0b2 - 2022.3.2f1)
2943    pub m_MassScale: Option<f32>,
2944    /**Set the angular tolerance threshold (in degrees) for projection.*/
2945    /// f32: (5.0.0f4 - 2022.3.2f1)
2946    pub m_ProjectionAngle: Option<f32>,
2947    /**Set the linear tolerance threshold for projection.*/
2948    /// f32: (5.0.0f4 - 2022.3.2f1)
2949    pub m_ProjectionDistance: Option<f32>,
2950    /**The configuration of the spring attached to the swing limits of the joint.*/
2951    /// SoftJointLimitSpring: (5.0.0f4 - 2022.3.2f1)
2952    pub m_SwingLimitSpring: Option<SoftJointLimitSpring>,
2953    /**The configuration of the spring attached to the twist limits of the joint.*/
2954    /// SoftJointLimitSpring: (5.0.0f4 - 2022.3.2f1)
2955    pub m_TwistLimitSpring: Option<SoftJointLimitSpring>,
2956}
2957
2958/// Child is a sub class of the Unity engine since version 4.0.0.
2959#[derive(Debug, Serialize, Deserialize)]
2960pub struct Child {
2961    pub m_IsAnim: bool,
2962    /// PPtr<[`Motion`]>: (4.0.0 - 4.7.2)
2963    pub m_Motion: PPtr,
2964    pub m_Threshold: f32,
2965    pub m_TimeScale: f32,
2966    /// f32: (4.1.0 - 4.7.2)
2967    pub m_CycleOffset: Option<f32>,
2968    /// bool: (4.1.0 - 4.7.2)
2969    pub m_Mirror: Option<bool>,
2970    /// Vector2f: (4.1.0 - 4.7.2)
2971    pub m_Position: Option<Vector2f>,
2972}
2973
2974/// ChildAnimatorState is a sub class of the Unity engine since version 5.0.0f4.
2975/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.ChildAnimatorState.html):
2976/**
2977Structure that represents a state in the context of its parent state machine.
2978*/
2979#[derive(Debug, Serialize, Deserialize)]
2980pub struct ChildAnimatorState {
2981    /**The position the the state node in the context of its parent state machine.*/
2982    pub m_Position: Vector3f,
2983    /**The state.*/
2984    /// PPtr<[`AnimatorState`]>: (5.0.0f4 - 2022.3.2f1)
2985    pub m_State: PPtr,
2986}
2987
2988/// ChildAnimatorStateMachine is a sub class of the Unity engine since version 5.0.0f4.
2989/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.ChildAnimatorStateMachine.html):
2990/**
2991Structure that represents a state machine in the context of its parent state machine.
2992*/
2993#[derive(Debug, Serialize, Deserialize)]
2994pub struct ChildAnimatorStateMachine {
2995    /**The position of the state machine node in the context of its parent state machine.*/
2996    pub m_Position: Vector3f,
2997    /**The state machine.*/
2998    /// PPtr<[`AnimatorStateMachine`]>: (5.0.0f4 - 2022.3.2f1)
2999    pub m_StateMachine: PPtr,
3000}
3001
3002/// ChildMotion is a sub class of the Unity engine since version 5.0.0f4.
3003/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.ChildMotion.html):
3004/**
3005Structure that represents a motion in the context of its parent blend tree.
3006*/
3007#[derive(Debug, Serialize, Deserialize)]
3008pub struct ChildMotion {
3009    /**Normalized time offset of the child.*/
3010    pub m_CycleOffset: f32,
3011    /**The parameter used by the child when used in a BlendTree of type BlendTreeType.Direct.*/
3012    pub m_DirectBlendParameter: String,
3013    /**Mirror of the child.*/
3014    pub m_Mirror: bool,
3015    /**The motion itself.*/
3016    /// PPtr<[`Motion`]>: (5.0.0f4 - 2022.3.2f1)
3017    pub m_Motion: PPtr,
3018    /**The position of the child. Used in 2D blend trees.*/
3019    pub m_Position: Vector2f,
3020    /**The threshold of the child. Used in 1D blend trees.*/
3021    pub m_Threshold: f32,
3022    /**The relative speed of the child.*/
3023    pub m_TimeScale: f32,
3024}
3025
3026/// CircleCollider2D is a  class of the Unity engine since version 4.3.0.
3027/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/CircleCollider2D.html):
3028/**
3029Collider for 2D physics representing an circle.
3030See Also: BoxCollider class, PolygonCollider2D class.
3031*/
3032#[derive(Debug, Serialize, Deserialize)]
3033pub struct CircleCollider2D {
3034    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
3035    pub m_Enabled: u8,
3036    /**The game object this component is attached to. A component is always attached to a game object.*/
3037    /// PPtr<[`GameObject`]>: (4.3.0 - 2022.3.2f1)
3038    pub m_GameObject: PPtr,
3039    /**Is this collider configured as a trigger?*/
3040    pub m_IsTrigger: bool,
3041    /// PPtr<[`PhysicsMaterial2D`]>: (4.3.0 - 2022.3.2f1)
3042    pub m_Material: PPtr,
3043    /**Radius of the circle.*/
3044    pub m_Radius: f32,
3045    /**The Layers that this Collider2D will report collision or trigger callbacks for during a contact with another Collider2D.*/
3046    /// BitField: (2022.2.0b1 - 2022.3.2f1)
3047    pub m_CallbackLayers: Option<BitField>,
3048    /// Vector2f: (4.3.0 - 4.7.2)
3049    pub m_Center: Option<Vector2f>,
3050    /**The layers of other Collider2D involved in contacts with this Collider2D that will be captured.*/
3051    /// BitField: (2022.2.0b1 - 2022.3.2f1)
3052    pub m_ContactCaptureLayers: Option<BitField>,
3053    /**The density of the collider used to calculate its mass (when auto mass is enabled).*/
3054    /// f32: (5.3.0f1 - 2022.3.2f1)
3055    pub m_Density: Option<f32>,
3056    /**The additional Layers that this Collider2D should exclude when deciding if a contact with another Collider2D should happen or not.*/
3057    /// BitField: (2022.2.0b1 - 2022.3.2f1)
3058    pub m_ExcludeLayers: Option<BitField>,
3059    /**The Layers that this Collider2D can receive forces from during a Collision contact with another Collider2D.*/
3060    /// BitField: (2022.2.0b1 - 2022.3.2f1)
3061    pub m_ForceReceiveLayers: Option<BitField>,
3062    /**The Layers that this Collider2D is allowed to send forces to during a Collision contact with another Collider2D.*/
3063    /// BitField: (2022.2.0b1 - 2022.3.2f1)
3064    pub m_ForceSendLayers: Option<BitField>,
3065    /**The additional Layers that this Collider2D should include when deciding if a contact with another Collider2D should happen or not.*/
3066    /// BitField: (2022.2.0b1 - 2022.3.2f1)
3067    pub m_IncludeLayers: Option<BitField>,
3068    /**A decision priority assigned to this Collider2D used when there is a conflicting decision on whether a contact between itself and another Collision2D should happen or not.*/
3069    /// i32: (2022.2.0b1 - 2022.3.2f1)
3070    pub m_LayerOverridePriority: Option<i32>,
3071    /**The local offset of the collider geometry.*/
3072    /// Vector2f: (5.0.0f4 - 2022.3.2f1)
3073    pub m_Offset: Option<Vector2f>,
3074    /**Sets whether the Collider will be used or not used by a CompositeCollider2D.*/
3075    /// bool: (5.6.0b1 - 2022.3.2f1)
3076    pub m_UsedByComposite: Option<bool>,
3077    /**Whether the collider is used by an attached effector or not.*/
3078    /// bool: (5.0.0f4 - 2022.3.2f1)
3079    pub m_UsedByEffector: Option<bool>,
3080}
3081
3082/// ClampVelocityModule is a sub class of the Unity engine since version 3.5.0.
3083#[derive(Debug, Serialize, Deserialize)]
3084pub struct ClampVelocityModule {
3085    pub dampen: f32,
3086    pub enabled: bool,
3087    pub magnitude: MinMaxCurve,
3088    pub separateAxis: bool,
3089    pub x: MinMaxCurve,
3090    pub y: MinMaxCurve,
3091    pub z: MinMaxCurve,
3092    /// MinMaxCurve: (2017.2.0b2 - 2022.3.2f1)
3093    pub drag: Option<MinMaxCurve>,
3094    /// bool: (4.0.0 - 2022.3.2f1)
3095    pub inWorldSpace: Option<bool>,
3096    /// bool: (2017.2.0b2 - 2022.3.2f1)
3097    pub multiplyDragByParticleSize: Option<bool>,
3098    /// bool: (2017.2.0b2 - 2022.3.2f1)
3099    pub multiplyDragByParticleVelocity: Option<bool>,
3100}
3101
3102/// ClassInfo is a sub class of the Unity engine since version 5.0.0f4.
3103#[derive(Debug, Serialize, Deserialize)]
3104pub struct ClassInfo {
3105    pub m_AssemblyNameIndex: i32,
3106    pub m_ClassName: String,
3107    pub m_IsUnityClass: bool,
3108    pub m_MethodIndex: i32,
3109    pub m_NamespaceIndex: i32,
3110    pub m_NumOfMethods: i32,
3111    /// String: (2019.4.29f1 - 2019.4.40f1)
3112    pub m_NamespaceName: Option<String>,
3113}
3114
3115/// ClassMethodInfo is a sub class of the Unity engine since version 5.0.0f4.
3116#[derive(Debug, Serialize, Deserialize)]
3117pub struct ClassMethodInfo {
3118    pub m_ClassIndex: i32,
3119    pub m_MethodName: String,
3120    pub m_OrderNumber: i32,
3121}
3122
3123/// Clip is a sub class of the Unity engine since version 4.0.0.
3124#[derive(Debug, Serialize, Deserialize)]
3125pub struct Clip {
3126    pub m_DenseClip: DenseClip,
3127    pub m_StreamedClip: StreamedClip,
3128    /// Box<OffsetPtr>: (4.0.0 - 2018.2.21f1)
3129    pub m_Binding: Option<Box<OffsetPtr>>,
3130    /// ConstantClip: (4.3.0 - 2022.3.2f1)
3131    pub m_ConstantClip: Option<ConstantClip>,
3132}
3133
3134/// ClipAnimationInfo is a sub class of the Unity engine since version 3.4.0.
3135#[derive(Debug, Serialize, Deserialize)]
3136pub struct ClipAnimationInfo {
3137    pub firstFrame: Enum_i32__f32,
3138    pub lastFrame: Enum_i32__f32,
3139    pub name: String,
3140    pub wrapMode: i32,
3141    /// bool: (3.4.0 - 2022.3.2f1)
3142    #[serde(alias = "loop")]
3143    pub _loop: Option<bool>,
3144    /// f32: (5.3.0f1 - 2022.3.2f1)
3145    pub additiveReferencePoseFrame: Option<f32>,
3146    /// Vec<u32>: (4.0.0 - 2022.3.2f1)
3147    pub bodyMask: Option<Vec<u32>>,
3148    /// Vec<ClipAnimationInfoCurve>: (4.0.0 - 2022.3.2f1)
3149    pub curves: Option<Vec<ClipAnimationInfoCurve>>,
3150    /// f32: (4.0.0 - 2022.3.2f1)
3151    pub cycleOffset: Option<f32>,
3152    /// Vec<AnimationEvent>: (4.3.0 - 2022.3.2f1)
3153    pub events: Option<Vec<AnimationEvent>>,
3154    /// bool: (5.3.0f1 - 2022.3.2f1)
3155    pub hasAdditiveReferencePose: Option<bool>,
3156    /// bool: (4.0.0 - 2022.3.2f1)
3157    pub heightFromFeet: Option<bool>,
3158    /// i64: (2019.1.0b1 - 2022.3.2f1)
3159    pub internalID: Option<i64>,
3160    /// bool: (4.0.0 - 4.0.1)
3161    pub keepAdditionalBonesAnimation: Option<bool>,
3162    /// bool: (4.0.0 - 2022.3.2f1)
3163    pub keepOriginalOrientation: Option<bool>,
3164    /// bool: (4.0.0 - 2022.3.2f1)
3165    pub keepOriginalPositionXZ: Option<bool>,
3166    /// bool: (4.0.0 - 2022.3.2f1)
3167    pub keepOriginalPositionY: Option<bool>,
3168    /// f32: (4.0.0 - 2022.3.2f1)
3169    pub level: Option<f32>,
3170    /// bool: (4.0.0 - 2022.3.2f1)
3171    pub loopBlend: Option<bool>,
3172    /// bool: (4.0.0 - 2022.3.2f1)
3173    pub loopBlendOrientation: Option<bool>,
3174    /// bool: (4.0.0 - 2022.3.2f1)
3175    pub loopBlendPositionXZ: Option<bool>,
3176    /// bool: (4.0.0 - 2022.3.2f1)
3177    pub loopBlendPositionY: Option<bool>,
3178    /// bool: (4.3.0 - 2022.3.2f1)
3179    pub loopTime: Option<bool>,
3180    /// PPtr<[`AvatarMask`]>: (4.3.0 - 2022.3.2f1)
3181    pub maskSource: Option<PPtr>,
3182    /// i32: (4.3.0 - 2022.3.2f1)
3183    pub maskType: Option<i32>,
3184    /// bool: (4.0.0 - 2022.3.2f1)
3185    pub mirror: Option<bool>,
3186    /// f32: (4.0.0 - 2022.3.2f1)
3187    pub orientationOffsetY: Option<f32>,
3188    /// Vec<AvatarSkeletonMaskElement>: (4.0.0 - 4.0.1)
3189    pub skeletonMaskElements: Option<Vec<AvatarSkeletonMaskElement>>,
3190    /// String: (4.0.0 - 2022.3.2f1)
3191    pub takeName: Option<String>,
3192    /// Vec<TransformMaskElement>: (4.1.0 - 2022.3.2f1)
3193    pub transformMask: Option<Vec<TransformMaskElement>>,
3194}
3195
3196#[derive(Debug, Serialize, Deserialize)]
3197#[serde(untagged)]
3198pub enum Enum_i32__f32 {
3199    i32(i32),
3200    f32(f32),
3201}
3202
3203/// ClipAnimationInfoCurve is a sub class of the Unity engine since version 4.0.0.
3204/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ClipAnimationInfoCurve.html):
3205/**
3206Stores a curve and its name that will be used to create additional curves during the import process.
3207*/
3208#[derive(Debug, Serialize, Deserialize)]
3209pub struct ClipAnimationInfoCurve {
3210    /**The animation curve.*/
3211    pub curve: AnimationCurve,
3212    /**The name of the animation curve.*/
3213    pub name: String,
3214}
3215
3216/// ClipMuscleConstant is a sub class of the Unity engine since version 4.0.0.
3217#[derive(Debug, Serialize, Deserialize)]
3218pub struct ClipMuscleConstant {
3219    pub m_AverageAngularSpeed: f32,
3220    pub m_AverageSpeed: Enum_float4__float3,
3221    pub m_Clip: OffsetPtr,
3222    pub m_CycleOffset: f32,
3223    pub m_DeltaPose: HumanPose,
3224    pub m_HeightFromFeet: bool,
3225    pub m_IndexArray: Vec<i32>,
3226    pub m_KeepOriginalOrientation: bool,
3227    pub m_KeepOriginalPositionXZ: bool,
3228    pub m_KeepOriginalPositionY: bool,
3229    pub m_LeftFootStartX: xform,
3230    pub m_Level: f32,
3231    pub m_LoopBlend: bool,
3232    pub m_LoopBlendOrientation: bool,
3233    pub m_LoopBlendPositionXZ: bool,
3234    pub m_LoopBlendPositionY: bool,
3235    pub m_Mirror: bool,
3236    pub m_OrientationOffsetY: f32,
3237    pub m_RightFootStartX: xform,
3238    pub m_StartTime: f32,
3239    pub m_StartX: xform,
3240    pub m_StopTime: f32,
3241    pub m_ValueArrayDelta: Vec<ValueDelta>,
3242    /// Vec<i32>: (4.0.0 - 4.2.2)
3243    pub m_AdditionalCurveIndexArray: Option<Vec<i32>>,
3244    /// bool: (4.3.0 - 2022.3.2f1)
3245    pub m_LoopTime: Option<bool>,
3246    /// xform: (4.0.0 - 4.7.2)
3247    pub m_MotionStartX: Option<xform>,
3248    /// xform: (4.0.0 - 4.7.2)
3249    pub m_MotionStopX: Option<xform>,
3250    /// bool: (5.5.0f3 - 2022.3.2f1)
3251    pub m_StartAtOrigin: Option<bool>,
3252    /// xform: (5.5.0f3 - 2022.3.2f1)
3253    pub m_StopX: Option<xform>,
3254    /// Vec<f32>: (5.3.0f1 - 2022.3.2f1)
3255    pub m_ValueArrayReferencePose: Option<Vec<f32>>,
3256}
3257
3258#[derive(Debug, Serialize, Deserialize)]
3259#[serde(untagged)]
3260pub enum Enum_float4__float3 {
3261    float4(float4),
3262    float3(float3),
3263}
3264
3265/// Cloth is a  class of the Unity engine since version 5.0.0f4.
3266/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Cloth.html):
3267/**
3268The Cloth class provides an interface to cloth simulation physics.
3269*/
3270#[derive(Debug, Serialize, Deserialize)]
3271pub struct Cloth {
3272    /**Bending stiffness of the cloth.*/
3273    pub m_BendingStiffness: f32,
3274    /**An array of CapsuleColliders which this Cloth instance should collide with.*/
3275    /// Vec<PPtr<[`CapsuleCollider`]>>: (5.0.0f4 - 2022.3.2f1)
3276    pub m_CapsuleColliders: Vec<PPtr>,
3277    /**The cloth skinning coefficients used to set up how the cloth interacts with the skinned mesh.*/
3278    pub m_Coefficients: Vec<ClothConstrainCoefficients>,
3279    /**How much to increase mass of colliding particles.*/
3280    pub m_CollisionMassScale: f32,
3281    /**Damp cloth motion.*/
3282    pub m_Damping: f32,
3283    /**Is this cloth enabled?*/
3284    pub m_Enabled: u8,
3285    /**A constant, external acceleration applied to the cloth.*/
3286    pub m_ExternalAcceleration: Vector3f,
3287    /**The friction of the cloth when colliding with the character.*/
3288    pub m_Friction: f32,
3289    /**The game object this component is attached to. A component is always attached to a game object.*/
3290    /// PPtr<[`GameObject`]>: (5.0.0f4 - 2022.3.2f1)
3291    pub m_GameObject: PPtr,
3292    /**A random, external acceleration applied to the cloth.*/
3293    pub m_RandomAcceleration: Vector3f,
3294    /**Cloth's sleep threshold.*/
3295    pub m_SleepThreshold: f32,
3296    pub m_SolverFrequency: Enum_u32__f32,
3297    /**An array of ClothSphereColliderPairs which this Cloth instance should collide with.*/
3298    /// Vec<(PPtr<[`SphereCollider`]>, PPtr<[`SphereCollider`]>)>: (5.0.0f4 - 2019.1.0a10); Vec<ClothSphereColliderPair>: (2019.1.0b1 - 2022.3.2f1)
3299    pub m_SphereColliders: Vec<Enum_ClothSphereColliderPair___PPtr__PPtr>,
3300    /**Stretching stiffness of the cloth.*/
3301    pub m_StretchingStiffness: f32,
3302    pub m_UseContinuousCollision: bool,
3303    /**Should gravity affect the cloth simulation?*/
3304    pub m_UseGravity: bool,
3305    /**Use Tether Anchors.*/
3306    pub m_UseTethers: bool,
3307    /**How much world-space acceleration of the character will affect cloth vertices.*/
3308    pub m_WorldAccelerationScale: f32,
3309    /**How much world-space movement of the character will affect cloth vertices.*/
3310    pub m_WorldVelocityScale: f32,
3311    /// Vec<u32>: (2017.3.0b1 - 2022.3.2f1)
3312    pub m_SelfAndInterCollisionIndices: Option<Vec<u32>>,
3313    /**Minimum distance at which two cloth particles repel each other (default: 0.0).*/
3314    /// f32: (2017.3.0b1 - 2022.3.2f1)
3315    pub m_SelfCollisionDistance: Option<f32>,
3316    /**Self-collision stiffness defines how strong the separating impulse should be for colliding particles.*/
3317    /// f32: (2017.3.0b1 - 2022.3.2f1)
3318    pub m_SelfCollisionStiffness: Option<f32>,
3319    /**Add one virtual particle per triangle to improve collision stability.*/
3320    /// bool: (5.0.0f4 - 2022.3.2f1)
3321    pub m_UseVirtualParticles: Option<bool>,
3322    /// Vec<u32>: (2017.3.0b1 - 2022.3.2f1)
3323    pub m_VirtualParticleIndices: Option<Vec<u32>>,
3324    /// Vec<Vector3f>: (2017.3.0b1 - 2022.3.2f1)
3325    pub m_VirtualParticleWeights: Option<Vec<Vector3f>>,
3326}
3327
3328#[derive(Debug, Serialize, Deserialize)]
3329#[serde(untagged)]
3330pub enum Enum_ClothSphereColliderPair___PPtr__PPtr {
3331    ClothSphereColliderPair(ClothSphereColliderPair),
3332    PPtr__PPtr((PPtr, PPtr)),
3333}
3334
3335/// ClothAttachment is a sub class of the Unity engine since version 3.4.0.
3336#[derive(Debug, Serialize, Deserialize)]
3337pub struct ClothAttachment {
3338    /// PPtr<[`Collider`]>: (3.4.0 - 4.7.2)
3339    pub m_Collider: PPtr,
3340    pub m_Tearable: bool,
3341    pub m_TwoWayInteraction: bool,
3342}
3343
3344/// ClothConstrainCoefficients is a sub class of the Unity engine since version 3.4.0.
3345#[derive(Debug, Serialize, Deserialize)]
3346pub struct ClothConstrainCoefficients {
3347    pub collisionSphereDistance: f32,
3348    pub maxDistance: f32,
3349    /// f32: (3.4.0 - 4.7.2)
3350    pub collisionSphereRadius: Option<f32>,
3351    /// f32: (3.4.0 - 4.7.2)
3352    pub maxDistanceBias: Option<f32>,
3353}
3354
3355/// ClothRenderer is a  class of the Unity engine since version 3.4.0.
3356#[derive(Debug, Serialize, Deserialize)]
3357pub struct ClothRenderer {
3358    pub m_CastShadows: bool,
3359    pub m_Enabled: bool,
3360    /// PPtr<[`GameObject`]>: (3.4.0 - 4.7.2)
3361    pub m_GameObject: PPtr,
3362    pub m_LightmapIndex: u8,
3363    pub m_LightmapTilingOffset: Vector4f,
3364    /// Vec<PPtr<[`Material`]>>: (3.4.0 - 4.7.2)
3365    pub m_Materials: Vec<PPtr>,
3366    pub m_PauseWhenNotVisible: bool,
3367    pub m_ReceiveShadows: bool,
3368    /// PPtr<[`Transform`]>: (3.4.0 - 4.7.2)
3369    pub m_StaticBatchRoot: PPtr,
3370    pub m_SubsetIndices: Vec<u32>,
3371    /// PPtr<[`Transform`]>: (3.5.0 - 4.7.2)
3372    pub m_LightProbeAnchor: Option<PPtr>,
3373    /// i16: (4.3.0 - 4.3.4)
3374    pub m_SortingLayer: Option<i16>,
3375    /// u32: (4.5.0 - 4.7.2)
3376    pub m_SortingLayerID: Option<u32>,
3377    /// i16: (4.3.0 - 4.7.2)
3378    pub m_SortingOrder: Option<i16>,
3379    /// bool: (3.5.0 - 4.7.2)
3380    pub m_UseLightProbes: Option<bool>,
3381}
3382
3383/// ClothSphereColliderPair is a sub class of the Unity engine since version 2019.1.0b1.
3384/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ClothSphereColliderPair.html):
3385/**
3386A pair of SphereColliders used to define shapes for Cloth objects to collide against.
3387A ClothSphereColliderPair can contain either a single valid SphereCollider instance (with the second one being null), or a pair of two SphereColliders. In the former cases the ClothSphereColliderPair just represents a single SphereCollider for the cloth to collide against. In the latter case, it represents a conic capsule shape defined by the two spheres, and the cone connecting the two. Conic capsule shapes are useful for modelling limbs of a character.Select the cloth object to see a visualization of Cloth colliders shapes in the Scene view.
3388*/
3389#[derive(Debug, Serialize, Deserialize)]
3390pub struct ClothSphereColliderPair {
3391    /**The first SphereCollider of a ClothSphereColliderPair.*/
3392    /// PPtr<[`SphereCollider`]>: (2019.1.0b1 - 2022.3.2f1)
3393    pub first: PPtr,
3394    /**The second SphereCollider of a ClothSphereColliderPair.*/
3395    /// PPtr<[`SphereCollider`]>: (2019.1.0b1 - 2022.3.2f1)
3396    pub second: PPtr,
3397}
3398
3399/// CloudServiceHandlerBehaviour is a  class of the Unity engine since version 5.1.0f1.
3400#[derive(Debug, Serialize, Deserialize)]
3401pub struct CloudServiceHandlerBehaviour {
3402    pub m_Enabled: u8,
3403    /// PPtr<[`GameObject`]>: (5.1.0f1 - 5.1.5f1)
3404    pub m_GameObject: PPtr,
3405}
3406
3407/// CloudWebServicesManager is a  class of the Unity engine since version 5.1.0f1.
3408#[derive(Debug, Serialize, Deserialize)]
3409pub struct CloudWebServicesManager {}
3410
3411/// ClusterInput is a sub class of the Unity engine since version 5.3.0f1.
3412/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ClusterInput.html):
3413/**
3414Interface for reading and writing inputs in a Unity Cluster.
3415ClusterInput provides access to VRPN devices by connecting to a VRPN server. It also provides access to writeable inputs. All inputs managed by ClusterInput will be replicated to the rest of the connected slaves in the cluster. Using ClusterInput is much like using the traditional Input system in Unity.
3416*/
3417#[derive(Debug, Serialize, Deserialize)]
3418pub struct ClusterInput {
3419    pub m_DeviceName: String,
3420    pub m_Index: i32,
3421    pub m_Name: String,
3422    pub m_ServerUrl: String,
3423    pub m_Type: i32,
3424}
3425
3426/// ClusterInputManager is a  class of the Unity engine since version 5.3.0f1.
3427#[derive(Debug, Serialize, Deserialize)]
3428pub struct ClusterInputManager {
3429    pub m_Inputs: Vec<ClusterInput>,
3430}
3431
3432/// CollabEditorSettings is a sub class of the Unity engine since version 2017.1.0f2.
3433#[derive(Debug, Serialize, Deserialize)]
3434pub struct CollabEditorSettings {
3435    pub inProgressEnabled: bool,
3436}
3437
3438/// CollisionModule is a sub class of the Unity engine since version 3.5.0.
3439/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.CollisionModule.html):
3440/**
3441Script interface for the CollisionModule of a Particle System.
3442See Also: ParticleSystem, ParticleSystem.collision.
3443*/
3444#[derive(Debug, Serialize, Deserialize)]
3445pub struct CollisionModule {
3446    /**Specifies whether the CollisionModule is enabled or disabled.*/
3447    pub enabled: bool,
3448    /**Kill particles whose speed falls below this threshold, after a collision.*/
3449    pub minKillSpeed: f32,
3450    /**The type of particle collision to perform.*/
3451    /// i32: (3.5.0 - 2022.3.2f1)
3452    #[serde(alias = "type")]
3453    pub _type: Option<i32>,
3454    /**How much force is applied to each particle after a collision.*/
3455    /// f32: (3.5.0 - 5.2.5f1)
3456    pub bounce: Option<f32>,
3457    /**How much force is applied to a Collider when hit by particles from this Particle System.*/
3458    /// f32: (2017.1.0b1 - 2022.3.2f1)
3459    pub colliderForce: Option<f32>,
3460    /**Control which Layers this Particle System collides with.*/
3461    /// BitField: (4.0.0 - 2022.3.2f1)
3462    pub collidesWith: Option<BitField>,
3463    /// bool: (5.3.0f1 - 2022.3.2f1)
3464    pub collidesWithDynamic: Option<bool>,
3465    /// bool: (4.2.0 - 2022.3.2f1)
3466    pub collisionMessages: Option<bool>,
3467    /// i32: (5.3.0f1 - 2022.3.2f1)
3468    pub collisionMode: Option<i32>,
3469    /**How much speed does each particle lose after a collision.*/
3470    /// f32: (3.5.0 - 5.2.5f1)
3471    pub dampen: Option<f32>,
3472    /// f32: (3.5.0 - 5.2.5f1)
3473    pub energyLossOnCollision: Option<f32>,
3474    /// bool: (5.3.0f1 - 2022.3.2f1)
3475    pub interiorCollisions: Option<bool>,
3476    /**How much force is applied to each particle after a collision.*/
3477    /// MinMaxCurve: (5.3.0f1 - 2022.3.2f1)
3478    pub m_Bounce: Option<MinMaxCurve>,
3479    /**How much speed does each particle lose after a collision.*/
3480    /// MinMaxCurve: (5.3.0f1 - 2022.3.2f1)
3481    pub m_Dampen: Option<MinMaxCurve>,
3482    /// MinMaxCurve: (5.3.0f1 - 2022.3.2f1)
3483    pub m_EnergyLossOnCollision: Option<MinMaxCurve>,
3484    /// Vec<PPtr<[`Transform`]>>: (2020.2.0b1 - 2022.3.2f1)
3485    pub m_Planes: Option<Vec<PPtr>>,
3486    /**The maximum number of collision shapes Unity considers for particle collisions. It ignores excess shapes. Terrains take priority.*/
3487    /// i32: (5.3.0f1 - 2022.3.2f1)
3488    pub maxCollisionShapes: Option<i32>,
3489    /**Kill particles whose speed goes above this threshold, after a collision.*/
3490    /// f32: (5.4.0f3 - 2022.3.2f1)
3491    pub maxKillSpeed: Option<f32>,
3492    /**Specifies whether the physics system considers the collision angle when it applies forces from particles to Colliders.*/
3493    /// bool: (2017.1.0b1 - 2022.3.2f1)
3494    pub multiplyColliderForceByCollisionAngle: Option<bool>,
3495    /**Specifies whether the physics system considers particle sizes when it applies forces to Colliders.*/
3496    /// bool: (2017.1.0b1 - 2022.3.2f1)
3497    pub multiplyColliderForceByParticleSize: Option<bool>,
3498    /**Specifies whether the physics system considers particle speeds when it applies forces to Colliders.*/
3499    /// bool: (2017.1.0b1 - 2022.3.2f1)
3500    pub multiplyColliderForceByParticleSpeed: Option<bool>,
3501    /// f32: (4.0.0 - 5.2.5f1)
3502    pub particleRadius: Option<f32>,
3503    /// PPtr<[`Transform`]>: (3.5.0 - 2020.2.0a13)
3504    pub plane0: Option<PPtr>,
3505    /// PPtr<[`Transform`]>: (3.5.0 - 2020.2.0a13)
3506    pub plane1: Option<PPtr>,
3507    /// PPtr<[`Transform`]>: (3.5.0 - 2020.2.0a13)
3508    pub plane2: Option<PPtr>,
3509    /// PPtr<[`Transform`]>: (3.5.0 - 2020.2.0a13)
3510    pub plane3: Option<PPtr>,
3511    /// PPtr<[`Transform`]>: (3.5.0 - 2020.2.0a13)
3512    pub plane4: Option<PPtr>,
3513    /// PPtr<[`Transform`]>: (3.5.0 - 2020.2.0a13)
3514    pub plane5: Option<PPtr>,
3515    /**Specifies the accuracy of particle collisions against colliders in the Scene.*/
3516    /// i32: (4.0.0 - 2022.3.2f1)
3517    pub quality: Option<i32>,
3518    /**A multiplier that Unity applies to the size of each particle before collisions are processed.*/
3519    /// f32: (5.3.0f1 - 2022.3.2f1)
3520    pub radiusScale: Option<f32>,
3521    /**Size of voxels in the collision cache.*/
3522    /// f32: (4.0.0 - 2022.3.2f1)
3523    pub voxelSize: Option<f32>,
3524}
3525
3526/// ColorBySpeedModule is a sub class of the Unity engine since version 3.5.0.
3527/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.ColorBySpeedModule.html):
3528/**
3529Script interface for the ColorBySpeedModule of a Particle System.
3530See Also: ParticleSystem, ParticleSystem.colorBySpeed.
3531*/
3532#[derive(Debug, Serialize, Deserialize)]
3533pub struct ColorBySpeedModule {
3534    /**Specifies whether the ColorBySpeedModule is enabled or disabled.*/
3535    pub enabled: bool,
3536    pub gradient: MinMaxGradient,
3537    /**Apply the color gradient between these minimum and maximum speeds.*/
3538    pub range: Vector2f,
3539}
3540
3541/// ColorModule is a sub class of the Unity engine since version 3.5.0.
3542#[derive(Debug, Serialize, Deserialize)]
3543pub struct ColorModule {
3544    pub enabled: bool,
3545    pub gradient: MinMaxGradient,
3546}
3547
3548/// ColorRGBA is a sub class of the Unity engine since version 3.4.0.
3549#[derive(Debug, Serialize, Deserialize)]
3550pub struct ColorRGBA {
3551    /// f32: (2018.3.0f2 - 2022.3.2f1)
3552    pub a: Option<f32>,
3553    /// f32: (2018.3.0f2 - 2022.3.2f1)
3554    pub b: Option<f32>,
3555    /// f32: (2018.3.0f2 - 2022.3.2f1)
3556    pub g: Option<f32>,
3557    /// f32: (2018.3.0f2 - 2022.3.2f1)
3558    pub r: Option<f32>,
3559    /// u32: (3.4.0 - 2018.2.21f1)
3560    pub rgba: Option<u32>,
3561}
3562
3563/// Component is a  class of the Unity engine since version 3.4.0.
3564/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Component.html):
3565/**
3566Base class for everything attached to a GameObject.
3567Note that your code will never directly create a Component.  Instead, you write script code, and attach the script to a GameObject.
3568See Also: ScriptableObject as a way to create scripts that do not attach to any GameObject.
3569*/
3570#[derive(Debug, Serialize, Deserialize)]
3571pub struct Component {
3572    /**The game object this component is attached to. A component is always attached to a game object.*/
3573    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
3574    pub m_GameObject: PPtr,
3575}
3576
3577/// ComponentPair is a sub class of the Unity engine since version 5.5.0f3.
3578#[derive(Debug, Serialize, Deserialize)]
3579pub struct ComponentPair {
3580    /// PPtr<[`Component`]>: (5.5.0f3 - 2022.3.2f1)
3581    pub component: PPtr,
3582}
3583
3584/// CompositeCollider2D is a  class of the Unity engine since version 5.6.0b1.
3585/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/CompositeCollider2D.html):
3586/**
3587A Collider that can merge other Colliders together.
3588A CompositeCollider2D merges other Colliders together when their Collider2D.usedByComposite is set to true.When a Collider is used by a Composite Collider, the Editor will ignore and not show the Collider2D.sharedMaterial, Collider2D.isTrigger & Collider2D.usedByComposite properties. The same properties on the CompositeCollider2D will be used instead. You should set these properties on the Composite Collider instead to merge all Colliders into the Composite Collider.Composite Colliders can only merge BoxCollider2D and PolygonCollider2D.
3589*/
3590#[derive(Debug, Serialize, Deserialize)]
3591pub struct CompositeCollider2D {
3592    pub m_ColliderPaths: Vec<SubCollider>,
3593    pub m_CompositePaths: Polygon2D,
3594    /**The density of the collider used to calculate its mass (when auto mass is enabled).*/
3595    pub m_Density: f32,
3596    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
3597    pub m_Enabled: u8,
3598    /**The game object this component is attached to. A component is always attached to a game object.*/
3599    /// PPtr<[`GameObject`]>: (5.6.0b1 - 2022.3.2f1)
3600    pub m_GameObject: PPtr,
3601    /**Specifies when to generate the Composite Collider geometry.*/
3602    pub m_GenerationType: i32,
3603    /**Specifies the type of geometry the Composite Collider should generate.*/
3604    pub m_GeometryType: i32,
3605    /**Is this collider configured as a trigger?*/
3606    pub m_IsTrigger: bool,
3607    /// PPtr<[`PhysicsMaterial2D`]>: (5.6.0b1 - 2022.3.2f1)
3608    pub m_Material: PPtr,
3609    /**The local offset of the collider geometry.*/
3610    pub m_Offset: Vector2f,
3611    /**Sets whether the Collider will be used or not used by a CompositeCollider2D.*/
3612    pub m_UsedByComposite: bool,
3613    /**Whether the collider is used by an attached effector or not.*/
3614    pub m_UsedByEffector: bool,
3615    /**Controls the minimum distance allowed between generated vertices.*/
3616    pub m_VertexDistance: f32,
3617    /**The Layers that this Collider2D will report collision or trigger callbacks for during a contact with another Collider2D.*/
3618    /// BitField: (2022.2.0b1 - 2022.3.2f1)
3619    pub m_CallbackLayers: Option<BitField>,
3620    /// PPtr<[`GameObject`]>: (2022.1.18f1 - 2022.3.2f1)
3621    pub m_CompositeGameObject: Option<PPtr>,
3622    /**The layers of other Collider2D involved in contacts with this Collider2D that will be captured.*/
3623    /// BitField: (2022.2.0b1 - 2022.3.2f1)
3624    pub m_ContactCaptureLayers: Option<BitField>,
3625    /**Controls the radius of all edges created by the Collider.*/
3626    /// f32: (5.6.0f1 - 2022.3.2f1)
3627    pub m_EdgeRadius: Option<f32>,
3628    /**The additional Layers that this Collider2D should exclude when deciding if a contact with another Collider2D should happen or not.*/
3629    /// BitField: (2022.2.0b1 - 2022.3.2f1)
3630    pub m_ExcludeLayers: Option<BitField>,
3631    /**The Layers that this Collider2D can receive forces from during a Collision contact with another Collider2D.*/
3632    /// BitField: (2022.2.0b1 - 2022.3.2f1)
3633    pub m_ForceReceiveLayers: Option<BitField>,
3634    /**The Layers that this Collider2D is allowed to send forces to during a Collision contact with another Collider2D.*/
3635    /// BitField: (2022.2.0b1 - 2022.3.2f1)
3636    pub m_ForceSendLayers: Option<BitField>,
3637    /**The additional Layers that this Collider2D should include when deciding if a contact with another Collider2D should happen or not.*/
3638    /// BitField: (2022.2.0b1 - 2022.3.2f1)
3639    pub m_IncludeLayers: Option<BitField>,
3640    /**A decision priority assigned to this Collider2D used when there is a conflicting decision on whether a contact between itself and another Collision2D should happen or not.*/
3641    /// i32: (2022.2.0b1 - 2022.3.2f1)
3642    pub m_LayerOverridePriority: Option<i32>,
3643    /**Vertices are offset by this distance when compositing multiple physic shapes. Any vertices between shapes within this distance are combined.*/
3644    /// f32: (2019.1.3f1 - 2022.3.2f1)
3645    pub m_OffsetDistance: Option<f32>,
3646    /**When the value is true, the Collider uses an additional Delaunay triangulation step to produce the Collider mesh. When the value is false, this additional step does not occur.*/
3647    /// bool: (2022.1.0b1 - 2022.3.2f1)
3648    pub m_UseDelaunayMesh: Option<bool>,
3649}
3650
3651/// CompressedAnimationCurve is a sub class of the Unity engine since version 3.4.0.
3652#[derive(Debug, Serialize, Deserialize)]
3653pub struct CompressedAnimationCurve {
3654    pub m_Path: String,
3655    pub m_PostInfinity: i32,
3656    pub m_PreInfinity: i32,
3657    pub m_Slopes: PackedBitVector,
3658    pub m_Times: PackedBitVector,
3659    pub m_Values: PackedBitVector,
3660}
3661
3662/// CompressedMesh is a sub class of the Unity engine since version 3.4.0.
3663#[derive(Debug, Serialize, Deserialize)]
3664pub struct CompressedMesh {
3665    pub m_BoneIndices: PackedBitVector,
3666    pub m_NormalSigns: PackedBitVector,
3667    pub m_Normals: PackedBitVector,
3668    pub m_TangentSigns: PackedBitVector,
3669    pub m_Tangents: PackedBitVector,
3670    pub m_Triangles: PackedBitVector,
3671    pub m_UV: PackedBitVector,
3672    pub m_Vertices: PackedBitVector,
3673    pub m_Weights: PackedBitVector,
3674    /// PackedBitVector: (3.4.0 - 4.7.2)
3675    pub m_BindPoses: Option<PackedBitVector>,
3676    /// PackedBitVector: (3.5.0 - 4.7.2)
3677    pub m_Colors: Option<PackedBitVector>,
3678    /// PackedBitVector: (5.0.0f4 - 2022.3.2f1)
3679    pub m_FloatColors: Option<PackedBitVector>,
3680    /// u32: (5.0.0f4 - 2022.3.2f1)
3681    pub m_UVInfo: Option<u32>,
3682}
3683
3684/// ComputeBufferCounter is a sub class of the Unity engine since version 5.2.3f1.
3685#[derive(Debug, Serialize, Deserialize)]
3686pub struct ComputeBufferCounter {
3687    pub bindpoint: i32,
3688    pub offset: i32,
3689}
3690
3691/// ComputeShader is a  class of the Unity engine since version 4.0.0.
3692/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ComputeShader.html):
3693/**
3694Compute Shader asset.
3695Compute shaders are programs that run on the GPU outside of the normal rendering pipeline.
3696
3697They correspond to compute shader assets in the project (.compute files).Compute shader support can be queried runtime using SystemInfo.supportsComputeShaders. See Compute Shaders overview for more info about platforms supporting compute shaders.See Also: ComputeBuffer class, Compute Shaders overview.
3698*/
3699#[derive(Debug, Serialize, Deserialize)]
3700pub struct ComputeShader {
3701    /**The name of the object.*/
3702    pub m_Name: String,
3703    /// Vec<ComputeShaderCB>: (4.0.0 - 4.7.2)
3704    pub constantBuffers: Option<Vec<ComputeShaderCB>>,
3705    /// Vec<ComputeShaderKernel>: (4.0.0 - 4.7.2)
3706    pub kernels: Option<Vec<ComputeShaderKernel>>,
3707    /// Vec<ComputeShaderVariant>: (5.0.0f4 - 2020.1.0a8); Vec<ComputeShaderPlatformVariant>: (2020.1.0b1 - 2022.3.2f1)
3708    pub variants: Option<Vec<Enum_ComputeShaderVariant__ComputeShaderPlatformVariant>>,
3709}
3710
3711#[derive(Debug, Serialize, Deserialize)]
3712#[serde(untagged)]
3713pub enum Enum_ComputeShaderVariant__ComputeShaderPlatformVariant {
3714    ComputeShaderVariant(ComputeShaderVariant),
3715    ComputeShaderPlatformVariant(ComputeShaderPlatformVariant),
3716}
3717
3718/// ComputeShaderBuiltinSampler is a sub class of the Unity engine since version 4.0.0.
3719#[derive(Debug, Serialize, Deserialize)]
3720pub struct ComputeShaderBuiltinSampler {
3721    pub bindPoint: i32,
3722    pub sampler: i64,
3723}
3724
3725/// ComputeShaderCB is a sub class of the Unity engine since version 4.0.0.
3726#[derive(Debug, Serialize, Deserialize)]
3727pub struct ComputeShaderCB {
3728    pub byteSize: i32,
3729    pub name: Enum_FastPropertyName__String,
3730    pub params: Vec<ComputeShaderParam>,
3731}
3732
3733#[derive(Debug, Serialize, Deserialize)]
3734#[serde(untagged)]
3735pub enum Enum_FastPropertyName__String {
3736    FastPropertyName(FastPropertyName),
3737    String(String),
3738}
3739
3740/// ComputeShaderImporter is a  class of the Unity engine since version 4.0.0.
3741/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ComputeShaderImporter.html):
3742/**
3743Define compute shader import settings in the Unity Editor.
3744*/
3745#[derive(Debug, Serialize, Deserialize)]
3746pub struct ComputeShaderImporter {
3747    /**The name of the object.*/
3748    pub m_Name: String,
3749    /**Get or set any user data.*/
3750    pub m_UserData: String,
3751    /**Get or set the AssetBundle name.*/
3752    /// String: (5.0.0f4 - 2022.3.2f1)
3753    pub m_AssetBundleName: Option<String>,
3754    /**Get or set the AssetBundle variant.*/
3755    /// String: (5.0.0f4 - 2022.3.2f1)
3756    pub m_AssetBundleVariant: Option<String>,
3757    /// u32: (5.3.2f1 - 2020.3.48f1)
3758    pub m_CurrentAPIMask: Option<u32>,
3759    /// i32: (5.0.0f4 - 5.3.1f1)
3760    pub m_CurrentBuildTarget: Option<i32>,
3761    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
3762    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
3763    /**This property has no effect.*/
3764    /// i32: (2020.2.0b1 - 2022.1.0a9)
3765    pub m_PreprocessorOverride: Option<i32>,
3766    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
3767    pub m_UsedFileIDs: Option<Vec<i64>>,
3768}
3769
3770/// ComputeShaderKernel is a sub class of the Unity engine since version 4.0.0.
3771#[derive(Debug, Serialize, Deserialize)]
3772pub struct ComputeShaderKernel {
3773    pub builtinSamplers: Vec<ComputeShaderBuiltinSampler>,
3774    pub cbs: Vec<ComputeShaderResource>,
3775    pub code: Vec<u8>,
3776    pub inBuffers: Vec<ComputeShaderResource>,
3777    pub outBuffers: Vec<ComputeShaderResource>,
3778    pub textures: Vec<ComputeShaderResource>,
3779    /// Vec<u32>: (2020.1.0b1 - 2022.3.2f1)
3780    pub cbVariantIndices: Option<Vec<u32>>,
3781    /// FastPropertyName: (4.0.0 - 5.5.6f1); String: (5.6.0b1 - 2020.1.0a8)
3782    pub name: Option<Enum_FastPropertyName__String>,
3783    /// i64: (2021.1.0b1 - 2022.3.2f1)
3784    pub requirements: Option<i64>,
3785    /// Vec<u32>: (5.4.0f3 - 2022.3.2f1)
3786    pub threadGroupSize: Option<Vec<u32>>,
3787}
3788
3789/// ComputeShaderKernelParent is a sub class of the Unity engine since version 2020.1.0b1.
3790#[derive(Debug, Serialize, Deserialize)]
3791pub struct ComputeShaderKernelParent {
3792    pub name: String,
3793    /// Vec<String>: (2022.1.0b1 - 2022.3.2f1)
3794    pub dynamicKeywords: Option<Vec<String>>,
3795    /// Vec<String>: (2020.2.0b1 - 2022.3.2f1)
3796    pub globalKeywords: Option<Vec<String>>,
3797    /// Vec<String>: (2020.2.0b1 - 2022.3.2f1)
3798    pub localKeywords: Option<Vec<String>>,
3799    /// Vec<ComputeShaderKernel>: (2022.1.0b1 - 2022.3.2f1)
3800    pub uniqueVariants: Option<Vec<ComputeShaderKernel>>,
3801    /// Vec<String>: (2020.1.0b1 - 2020.2.0a13)
3802    pub validKeywords: Option<Vec<String>>,
3803    /// Vec<(String, u32)>: (2022.1.0b1 - 2022.3.2f1)
3804    pub variantIndices: Option<Vec<(String, u32)>>,
3805    /// Vec<(String, ComputeShaderKernel)>: (2020.1.0b1 - 2022.1.0a13)
3806    pub variantMap: Option<Vec<(String, ComputeShaderKernel)>>,
3807}
3808
3809/// ComputeShaderParam is a sub class of the Unity engine since version 4.0.0.
3810#[derive(Debug, Serialize, Deserialize)]
3811pub struct ComputeShaderParam {
3812    pub arraySize: i64,
3813    pub colCount: i64,
3814    pub name: Enum_FastPropertyName__String,
3815    pub offset: i64,
3816    pub rowCount: i64,
3817    /// i32: (4.0.0 - 2022.3.2f1)
3818    #[serde(alias = "type")]
3819    pub _type: Option<i32>,
3820}
3821
3822/// ComputeShaderPlatformVariant is a sub class of the Unity engine since version 2020.1.0b1.
3823#[derive(Debug, Serialize, Deserialize)]
3824pub struct ComputeShaderPlatformVariant {
3825    pub constantBuffers: Vec<ComputeShaderCB>,
3826    pub kernels: Vec<ComputeShaderKernelParent>,
3827    pub resourcesResolved: bool,
3828    pub targetLevel: i32,
3829    pub targetRenderer: i32,
3830}
3831
3832/// ComputeShaderResource is a sub class of the Unity engine since version 4.0.0.
3833#[derive(Debug, Serialize, Deserialize)]
3834pub struct ComputeShaderResource {
3835    pub bindPoint: i32,
3836    pub name: Enum_FastPropertyName__String,
3837    /// ComputeBufferCounter: (5.2.3f1 - 2017.4.40f1)
3838    pub counter: Option<ComputeBufferCounter>,
3839    /// FastPropertyName: (5.1.0f1 - 5.5.6f1); String: (5.6.0b1 - 2022.3.2f1)
3840    pub generatedName: Option<Enum_FastPropertyName__String>,
3841    /// i32: (2018.2.0b1 - 2022.3.2f1)
3842    pub samplerBindPoint: Option<i32>,
3843    /// i32: (5.1.0f1 - 5.2.2f1)
3844    pub secondaryBindPoint: Option<i32>,
3845    /// i32: (2018.2.0f2 - 2022.3.2f1)
3846    pub texDimension: Option<i32>,
3847}
3848
3849/// ComputeShaderVariant is a sub class of the Unity engine since version 5.0.0f4.
3850#[derive(Debug, Serialize, Deserialize)]
3851pub struct ComputeShaderVariant {
3852    pub constantBuffers: Vec<ComputeShaderCB>,
3853    pub kernels: Vec<ComputeShaderKernel>,
3854    pub targetLevel: i32,
3855    pub targetRenderer: i32,
3856    /// bool: (5.1.0f1 - 2020.1.0a8)
3857    pub resourcesResolved: Option<bool>,
3858}
3859
3860/// Condition is a sub class of the Unity engine since version 4.0.0.
3861#[derive(Debug, Serialize, Deserialize)]
3862pub struct Condition {
3863    pub m_ConditionEvent: String,
3864    pub m_ConditionMode: i32,
3865    pub m_EventTreshold: f32,
3866    pub m_ExitTime: f32,
3867}
3868
3869/// ConfigSetting is a sub class of the Unity engine since version 5.4.2f2.
3870#[derive(Debug, Serialize, Deserialize)]
3871pub struct ConfigSetting {
3872    pub flags: u32,
3873    pub value: String,
3874}
3875
3876/// ConfigurableJoint is a  class of the Unity engine since version 3.4.0.
3877/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ConfigurableJoint.html):
3878/**
3879The configurable joint is an extremely flexible joint giving you complete control over rotation and linear motion.
3880You can build all other joints with it and much more but it is also more complicated to setup.
3881
3882It gives you control over motors, drives and joint limits for each rotation axis and and linear degree of freedom.
3883*/
3884#[derive(Debug, Serialize, Deserialize)]
3885pub struct ConfigurableJoint {
3886    /**The Position of the anchor around which the joints motion is constrained.*/
3887    pub m_Anchor: Vector3f,
3888    /**Definition of how the joint's rotation will behave around its local X axis. Only used if Rotation Drive Mode is Swing & Twist.*/
3889    pub m_AngularXDrive: JointDrive,
3890    /**Allow rotation around the X axis to be Free, completely Locked, or Limited according to Low and High Angular XLimit.*/
3891    pub m_AngularXMotion: i32,
3892    /**Boundary defining rotation restriction, based on delta from original rotation.*/
3893    pub m_AngularYLimit: SoftJointLimit,
3894    /**Allow rotation around the Y axis to be Free, completely Locked, or Limited according to Angular YLimit.*/
3895    pub m_AngularYMotion: i32,
3896    /**Definition of how the joint's rotation will behave around its local Y and Z axes. Only used if Rotation Drive Mode is Swing & Twist.*/
3897    pub m_AngularYZDrive: JointDrive,
3898    /**Boundary defining rotation restriction, based on delta from original rotation.*/
3899    pub m_AngularZLimit: SoftJointLimit,
3900    /**Allow rotation around the Z axis to be Free, completely Locked, or Limited according to Angular ZLimit.*/
3901    pub m_AngularZMotion: i32,
3902    /**The Direction of the axis around which the body is constrained.*/
3903    pub m_Axis: Vector3f,
3904    /**The force that needs to be applied for this joint to break.*/
3905    pub m_BreakForce: f32,
3906    /**The torque that needs to be applied for this joint to break. To be able to break, a joint must be _Locked_ or _Limited_ on the axis of rotation where the torque is being applied. This means that some joints cannot break, such as an unconstrained Configurable Joint.*/
3907    pub m_BreakTorque: f32,
3908    /**If enabled, all Target values will be calculated in world space instead of the object's local space.*/
3909    pub m_ConfiguredInWorldSpace: bool,
3910    /**A reference to another rigidbody this joint connects to.*/
3911    /// PPtr<[`Rigidbody`]>: (3.4.0 - 2022.3.2f1)
3912    pub m_ConnectedBody: PPtr,
3913    /**The game object this component is attached to. A component is always attached to a game object.*/
3914    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
3915    pub m_GameObject: PPtr,
3916    /**Boundary defining upper rotation restriction, based on delta from original rotation.*/
3917    pub m_HighAngularXLimit: SoftJointLimit,
3918    /**Boundary defining movement restriction, based on distance from the joint's origin.*/
3919    pub m_LinearLimit: SoftJointLimit,
3920    /**Boundary defining lower rotation restriction, based on delta from original rotation.*/
3921    pub m_LowAngularXLimit: SoftJointLimit,
3922    /**Set the angular tolerance threshold (in degrees) for projection.If the joint deviates by more than this angle around its locked angular degrees of freedom,the solver will move the bodies to close the angle.Setting a very small tolerance may result in simulation jitter or other artifacts.Sometimes it is not possible to project (for example when the joints form a cycle).*/
3923    pub m_ProjectionAngle: f32,
3924    /**Set the linear tolerance threshold for projection.If the joint separates by more than this distance along its locked degrees of freedom, the solverwill move the bodies to close the distance.Setting a very small tolerance may result in simulation jitter or other artifacts.Sometimes it is not possible to project (for example when the joints form a cycle).*/
3925    pub m_ProjectionDistance: f32,
3926    /**Brings violated constraints back into alignment even when the solver fails. Projection is not a physical process and does not preserve momentum or respect collision geometry. It is best avoided if practical, but can be useful in improving simulation quality where joint separation results in unacceptable artifacts.*/
3927    pub m_ProjectionMode: i32,
3928    /**Control the object's rotation with either X & YZ or Slerp Drive by itself.*/
3929    pub m_RotationDriveMode: i32,
3930    /**The joint's secondary axis.*/
3931    pub m_SecondaryAxis: Vector3f,
3932    /**Definition of how the joint's rotation will behave around all local axes. Only used if Rotation Drive Mode is Slerp Only.*/
3933    pub m_SlerpDrive: JointDrive,
3934    /**This is a Vector3. It defines the desired angular velocity that the joint should rotate into.*/
3935    pub m_TargetAngularVelocity: Vector3f,
3936    /**The desired position that the joint should move into.*/
3937    pub m_TargetPosition: Vector3f,
3938    /**This is a Quaternion. It defines the desired rotation that the joint should rotate into.*/
3939    pub m_TargetRotation: Quaternionf,
3940    /**The desired velocity that the joint should move along.*/
3941    pub m_TargetVelocity: Vector3f,
3942    /**Definition of how the joint's movement will behave along its local X axis.*/
3943    pub m_XDrive: JointDrive,
3944    /**Allow movement along the X axis to be Free, completely Locked, or Limited according to Linear Limit.*/
3945    pub m_XMotion: i32,
3946    /**Definition of how the joint's movement will behave along its local Y axis.*/
3947    pub m_YDrive: JointDrive,
3948    /**Allow movement along the Y axis to be Free, completely Locked, or Limited according to Linear Limit.*/
3949    pub m_YMotion: i32,
3950    /**Definition of how the joint's movement will behave along its local Z axis.*/
3951    pub m_ZDrive: JointDrive,
3952    /**Allow movement along the Z axis to be Free, completely Locked, or Limited according to Linear Limit.*/
3953    pub m_ZMotion: i32,
3954    /**The configuration of the spring attached to the angular X limit of the joint.*/
3955    /// SoftJointLimitSpring: (5.0.0f4 - 2022.3.2f1)
3956    pub m_AngularXLimitSpring: Option<SoftJointLimitSpring>,
3957    /**The configuration of the spring attached to the angular Y and angular Z limits of the joint.*/
3958    /// SoftJointLimitSpring: (5.0.0f4 - 2022.3.2f1)
3959    pub m_AngularYZLimitSpring: Option<SoftJointLimitSpring>,
3960    /**Should the connectedAnchor be calculated automatically?*/
3961    /// bool: (4.3.0 - 2022.3.2f1)
3962    pub m_AutoConfigureConnectedAnchor: Option<bool>,
3963    /**Position of the anchor relative to the connected Rigidbody.*/
3964    /// Vector3f: (4.3.0 - 2022.3.2f1)
3965    pub m_ConnectedAnchor: Option<Vector3f>,
3966    /**A reference to an articulation body this joint connects to.*/
3967    /// PPtr<[`ArticulationBody`]>: (2020.2.0b1 - 2022.3.2f1)
3968    pub m_ConnectedArticulationBody: Option<PPtr>,
3969    /**The scale to apply to the inverse mass and inertia tensor of the connected body prior to solving the constraints.*/
3970    /// f32: (2017.1.0b2 - 2022.3.2f1)
3971    pub m_ConnectedMassScale: Option<f32>,
3972    /**Enable collision between bodies connected with the joint.*/
3973    /// bool: (4.5.0 - 2022.3.2f1)
3974    pub m_EnableCollision: Option<bool>,
3975    /**Toggle preprocessing for this joint.*/
3976    /// bool: (5.0.0f4 - 2022.3.2f1)
3977    pub m_EnablePreprocessing: Option<bool>,
3978    /// bool: (2017.1.0b2 - 2017.1.0b5)
3979    pub m_Enabled: Option<bool>,
3980    /**The configuration of the spring attached to the linear limit of the joint.*/
3981    /// SoftJointLimitSpring: (5.0.0f4 - 2022.3.2f1)
3982    pub m_LinearLimitSpring: Option<SoftJointLimitSpring>,
3983    /**The scale to apply to the inverse mass and inertia tensor of the body prior to solving the constraints.*/
3984    /// f32: (2017.1.0b2 - 2022.3.2f1)
3985    pub m_MassScale: Option<f32>,
3986    /**Enable this property to swap the order in which the physics engine processes the Rigidbodies involved in the joint. This results in different joint motion but has no impact on Rigidbodies and anchors.*/
3987    /// bool: (3.5.0 - 2022.3.2f1)
3988    pub m_SwapBodies: Option<bool>,
3989}
3990
3991/// ConstantBuffer is a sub class of the Unity engine since version 5.5.0f3.
3992#[derive(Debug, Serialize, Deserialize)]
3993pub struct ConstantBuffer {
3994    pub m_MatrixParams: Vec<MatrixParameter>,
3995    pub m_NameIndex: i32,
3996    pub m_Size: i32,
3997    pub m_VectorParams: Vec<VectorParameter>,
3998    /// bool: (2020.3.2f1 - 2022.3.2f1)
3999    pub m_IsPartialCB: Option<bool>,
4000    /// Vec<StructParameter>: (2017.3.0b1 - 2022.3.2f1)
4001    pub m_StructParams: Option<Vec<StructParameter>>,
4002}
4003
4004/// ConstantClip is a sub class of the Unity engine since version 4.3.0.
4005#[derive(Debug, Serialize, Deserialize)]
4006pub struct ConstantClip {
4007    pub data: Vec<f32>,
4008}
4009
4010/// ConstantForce is a  class of the Unity engine since version 3.4.0.
4011/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ConstantForce.html):
4012/**
4013A force applied constantly.
4014This is a small physics utility class used to apply a continous force to an object.Rigidbody.AddForce applies a force to the Rigidbody only for one frame, thus you have to keep calling the function.
4015
4016ConstantForce on the other hand will apply the force every frame until you change the force or torque to a new value.See Also: Rigidbody.
4017*/
4018#[derive(Debug, Serialize, Deserialize)]
4019pub struct ConstantForce {
4020    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
4021    pub m_Enabled: u8,
4022    /**The force applied to the rigidbody every frame.*/
4023    pub m_Force: Vector3f,
4024    /**The game object this component is attached to. A component is always attached to a game object.*/
4025    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
4026    pub m_GameObject: PPtr,
4027    /**The force - relative to the rigid bodies coordinate system - applied every frame.*/
4028    pub m_RelativeForce: Vector3f,
4029    /**The torque - relative to the rigid bodies coordinate system - applied every frame.*/
4030    pub m_RelativeTorque: Vector3f,
4031    /**The torque applied to the rigidbody every frame.*/
4032    pub m_Torque: Vector3f,
4033}
4034
4035/// ConstantForce2D is a  class of the Unity engine since version 5.0.0f4.
4036/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ConstantForce2D.html):
4037/**
4038Applies both linear and angular (torque) forces continuously to the rigidbody each physics update.
4039This is equivalent of calling Rigidbody2D.AddForce, Rigidbody2D.AddRelativeForce and Rigidbody2D.AddTorque each physics update.
4040
4041See Also: Rigidbody2D.
4042*/
4043#[derive(Debug, Serialize, Deserialize)]
4044pub struct ConstantForce2D {
4045    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
4046    pub m_Enabled: u8,
4047    /**The linear force applied to the rigidbody each physics update.*/
4048    pub m_Force: Vector2f,
4049    /**The game object this component is attached to. A component is always attached to a game object.*/
4050    /// PPtr<[`GameObject`]>: (5.0.0f4 - 2022.3.2f1)
4051    pub m_GameObject: PPtr,
4052    /**The linear force, relative to the rigid-body coordinate system, applied each physics update.*/
4053    pub m_RelativeForce: Vector2f,
4054    /**The torque applied to the rigidbody each physics update.*/
4055    pub m_Torque: f32,
4056}
4057
4058/// ConstraintSource is a sub class of the Unity engine since version 2018.1.0b2.
4059/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.ConstraintSource.html):
4060/**
4061Represents a source for the constraint.
4062*/
4063#[derive(Debug, Serialize, Deserialize)]
4064pub struct ConstraintSource {
4065    /**The transform component of the source object.*/
4066    /// PPtr<[`Transform`]>: (2018.1.0b2 - 2022.3.2f1)
4067    pub sourceTransform: PPtr,
4068    /**The weight of the source in the evaluation of the constraint.*/
4069    pub weight: f32,
4070}
4071
4072/// ControllerConstant is a sub class of the Unity engine since version 4.0.0.
4073#[derive(Debug, Serialize, Deserialize)]
4074pub struct ControllerConstant {
4075    pub m_DefaultValues: OffsetPtr,
4076    pub m_StateMachineArray: Vec<OffsetPtr>,
4077    pub m_Values: OffsetPtr,
4078    /// Vec<OffsetPtr>: (4.0.0 - 4.2.2)
4079    pub m_HumanLayerArray: Option<Vec<OffsetPtr>>,
4080    /// Vec<OffsetPtr>: (4.3.0 - 2022.3.2f1)
4081    pub m_LayerArray: Option<Vec<OffsetPtr>>,
4082}
4083
4084/// CrashReportManager is a  class of the Unity engine since version 5.5.0f3.
4085#[derive(Debug, Serialize, Deserialize)]
4086pub struct CrashReportManager {}
4087
4088/// CrashReportingSettings is a sub class of the Unity engine since version 5.4.0f3.
4089/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/CrashReporting.CrashReportingSettings.html):
4090/**
4091Editor API for the Unity Services editor feature. Normally CrashReporting is enabled from the Services window, but if writing your own editor extension, this API can be used.
4092*/
4093#[derive(Debug, Serialize, Deserialize)]
4094pub struct CrashReportingSettings {
4095    pub m_Enabled: bool,
4096    pub m_EventUrl: String,
4097    /// u32: (2018.3.0f2 - 2022.3.2f1)
4098    pub m_LogBufferSize: Option<u32>,
4099    /// String: (2017.2.0b2 - 2018.2.21f1)
4100    pub m_NativeEventUrl: Option<String>,
4101}
4102
4103/// Cubemap is a  class of the Unity engine since version 4.0.0.
4104/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Cubemap.html):
4105/**
4106Class for handling cube maps, Use this to create or modify existing cube map assets.
4107This class does not support Cubemap creation with a Crunch compression TextureFormat.
4108*/
4109#[derive(Debug, Serialize, Deserialize)]
4110pub struct Cubemap {
4111    pub m_ColorSpace: i32,
4112    pub m_CompleteImageSize: i64,
4113    /**Height of the Texture in pixels (Read Only).*/
4114    pub m_Height: i32,
4115    pub m_ImageCount: i32,
4116    /**Whether Unity stores an additional copy of this texture's pixel data in CPU-addressable memory.*/
4117    pub m_IsReadable: bool,
4118    pub m_LightmapFormat: i32,
4119    /**The name of the object.*/
4120    pub m_Name: String,
4121    /// Vec<PPtr<[`Texture2D`]>>: (4.0.0 - 2022.3.2f1)
4122    pub m_SourceTextures: Vec<PPtr>,
4123    pub m_TextureDimension: i32,
4124    pub m_TextureFormat: i32,
4125    pub m_TextureSettings: GLTextureSettings,
4126    /**Width of the Texture in pixels (Read Only).*/
4127    pub m_Width: i32,
4128    /// Vec<u8>: (4.0.0 - 2022.3.2f1)
4129    #[serde(alias = "image data")]
4130    pub image_data: Option<Vec<u8>>,
4131    /// bool: (2017.3.0b1 - 2022.3.2f1)
4132    pub m_DownscaleFallback: Option<bool>,
4133    /// i32: (2017.3.0b1 - 2022.3.2f1)
4134    pub m_ForcedFallbackFormat: Option<i32>,
4135    /// bool: (2019.3.0f6 - 2022.2.0a18)
4136    pub m_IgnoreMasterTextureLimit: Option<bool>,
4137    /// bool: (2022.2.0f1 - 2022.3.2f1)
4138    pub m_IgnoreMipmapLimit: Option<bool>,
4139    /// bool: (2020.2.0b1 - 2022.3.2f1)
4140    pub m_IsAlphaChannelOptional: Option<bool>,
4141    /// bool: (2019.4.9f1 - 2022.3.2f1)
4142    pub m_IsPreProcessed: Option<bool>,
4143    /// i32: (5.2.0f2 - 2022.3.2f1)
4144    pub m_MipCount: Option<i32>,
4145    /// bool: (4.0.0 - 5.1.5f1)
4146    pub m_MipMap: Option<bool>,
4147    /// String: (2022.2.0f1 - 2022.3.2f1)
4148    pub m_MipmapLimitGroupName: Option<String>,
4149    /// i32: (2020.1.0b1 - 2022.3.2f1)
4150    pub m_MipsStripped: Option<i32>,
4151    /// Vec<u8>: (2020.2.0b1 - 2022.3.2f1)
4152    pub m_PlatformBlob: Option<Vec<u8>>,
4153    /// bool: (4.0.0 - 5.4.6f3)
4154    pub m_ReadAllowed: Option<bool>,
4155    /// StreamingInfo: (5.3.0f1 - 2022.3.2f1)
4156    pub m_StreamData: Option<StreamingInfo>,
4157    /**Determines whether mipmap streaming is enabled for this Texture.*/
4158    /// bool: (2018.2.0b1 - 2022.3.2f1)
4159    pub m_StreamingMipmaps: Option<bool>,
4160    /**Sets the relative priority for this Texture when reducing memory size to fit within the memory budget.*/
4161    /// i32: (2018.2.0b1 - 2022.3.2f1)
4162    pub m_StreamingMipmapsPriority: Option<i32>,
4163}
4164
4165/// CubemapArray is a  class of the Unity engine since version 5.5.0f3.
4166/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/CubemapArray.html):
4167/**
4168Class for handling Cubemap arrays.
4169Modern graphics APIs (e.g. D3D10.1 and later, OpenGL 4.0 and later, Metal on macOS, PS4) support "cubemap arrays",
4170
4171which are arrays of same size & format cubemaps. From the shader side, they are treated as a single resource, and sampling
4172
4173them needs an extra coordinate that indicates which array element to sample from.Typically cubemap arrays are useful for implementing efficient reflection probe, lighting and shadowing systems
4174
4175(all reflection/cookie/shadow cubemaps in a single array).Cubemap arrays do not have an import pipeline for them, and must be created from code, either at runtime or in editor
4176
4177scripts. Using Graphics.CopyTexture is useful for fast copying of pixel data from regular Cubemap textures into
4178
4179elements of a cubemap array. From editor scripts, a common way of creating serialized cubemap array is to create it,
4180
4181fill with data (either via Graphics.CopyTexture from regular cubemaps, or via SetPixels or
4182
4183SetPixels32) and save it as an asset via AssetDatabase.CreateAsset.Note that not all platforms and GPUs support cubemap arrays. Use SystemInfo.supportsCubemapArrayTextures to check. Also, this class does not support CubemapArray creation with a Crunch compression TextureFormat.
4184*/
4185#[derive(Debug, Serialize, Deserialize)]
4186pub struct CubemapArray {
4187    pub m_ColorSpace: i32,
4188    /**Number of cubemaps in the array (Read Only).*/
4189    pub m_CubemapCount: i32,
4190    pub m_DataSize: u32,
4191    /**Texture format (Read Only).*/
4192    pub m_Format: i32,
4193    /**Whether Unity stores an additional copy of this texture's pixel data in CPU-addressable memory.*/
4194    pub m_IsReadable: bool,
4195    pub m_MipCount: i32,
4196    /**The name of the object.*/
4197    pub m_Name: String,
4198    pub m_TextureSettings: GLTextureSettings,
4199    /**Width of the Texture in pixels (Read Only).*/
4200    pub m_Width: i32,
4201    /// Vec<u8>: (5.5.0f3 - 2022.3.2f1)
4202    #[serde(alias = "image data")]
4203    pub image_data: Option<Vec<u8>>,
4204    /// bool: (2017.3.0b1 - 2022.3.2f1)
4205    pub m_DownscaleFallback: Option<bool>,
4206    /// i32: (2017.3.0b1 - 2022.3.2f1)
4207    pub m_ForcedFallbackFormat: Option<i32>,
4208    /// bool: (2020.2.0b1 - 2022.3.2f1)
4209    pub m_IsAlphaChannelOptional: Option<bool>,
4210    /// StreamingInfo: (5.6.0b1 - 2022.3.2f1)
4211    pub m_StreamData: Option<StreamingInfo>,
4212    /// i32: (2020.2.0b1 - 2022.3.2f1)
4213    pub m_UsageMode: Option<i32>,
4214}
4215
4216/// CustomCollider2D is a  class of the Unity engine since version 2021.2.0b1.
4217/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/CustomCollider2D.html):
4218/**
4219Represents a Collider2D that is configured by assigning PhysicsShape2D geometry to it via a PhysicsShapeGroup2D.
4220Unlike all other Collider2D which are defined indirectly by controlling geometric parameters such as the size of a Box or the radius of a Circle, here the CustomCollider2D is defined entirely by adding, removing and modifying PhysicsShape2D. This results in a fully customized Collider2D containing an unlimited number of low-level PhysicsShape2D which can represent any type of shape or shapes, or emulate any other existing Collider2D such as the CircleCollider2D, BoxCollider2D, CapsuleCollider2D, EdgeCollider2D, CompositeCollider2D or TilemapCollider2D.Alongside the customized geometry, there is full support for all existing Collider2D functionality such as triggers, physics materials, queries  etc.When assigning PhysicsShape2D to the CustomCollider2D, you can do so either during Edit mode or Play mode.When modifying the CustomCollider2D during Edit mode, all assigned PhysicsShape2D and associated vertices will be saved with the Unity Scene. When the Unity Scene is loaded again, the CustomCollider2D will maintain its configuration. In this way, it acts like any other Collider2D that you make changes to during Edit mode. Using this ability, Edit mode authoring scripts can be used to create custom geometry.When modifing the CustomCollider2D during Play mode, all assigned PhysicsShape2D and associated vertices will be lost when exiting Play mode. This acts like any other Collider2D.
4221*/
4222#[derive(Debug, Serialize, Deserialize)]
4223pub struct CustomCollider2D {
4224    pub m_CustomShapes: PhysicsShapeGroup2D,
4225    /**The density of the collider used to calculate its mass (when auto mass is enabled).*/
4226    pub m_Density: f32,
4227    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
4228    pub m_Enabled: u8,
4229    /**The game object this component is attached to. A component is always attached to a game object.*/
4230    /// PPtr<[`GameObject`]>: (2021.2.0b1 - 2022.3.2f1)
4231    pub m_GameObject: PPtr,
4232    /**Is this collider configured as a trigger?*/
4233    pub m_IsTrigger: bool,
4234    /// PPtr<[`PhysicsMaterial2D`]>: (2021.2.0b1 - 2022.3.2f1)
4235    pub m_Material: PPtr,
4236    /**The local offset of the collider geometry.*/
4237    pub m_Offset: Vector2f,
4238    /**Sets whether the Collider will be used or not used by a CompositeCollider2D.*/
4239    pub m_UsedByComposite: bool,
4240    /**Whether the collider is used by an attached effector or not.*/
4241    pub m_UsedByEffector: bool,
4242    /**The Layers that this Collider2D will report collision or trigger callbacks for during a contact with another Collider2D.*/
4243    /// BitField: (2022.2.0b1 - 2022.3.2f1)
4244    pub m_CallbackLayers: Option<BitField>,
4245    /**The layers of other Collider2D involved in contacts with this Collider2D that will be captured.*/
4246    /// BitField: (2022.2.0b1 - 2022.3.2f1)
4247    pub m_ContactCaptureLayers: Option<BitField>,
4248    /**The additional Layers that this Collider2D should exclude when deciding if a contact with another Collider2D should happen or not.*/
4249    /// BitField: (2022.2.0b1 - 2022.3.2f1)
4250    pub m_ExcludeLayers: Option<BitField>,
4251    /**The Layers that this Collider2D can receive forces from during a Collision contact with another Collider2D.*/
4252    /// BitField: (2022.2.0b1 - 2022.3.2f1)
4253    pub m_ForceReceiveLayers: Option<BitField>,
4254    /**The Layers that this Collider2D is allowed to send forces to during a Collision contact with another Collider2D.*/
4255    /// BitField: (2022.2.0b1 - 2022.3.2f1)
4256    pub m_ForceSendLayers: Option<BitField>,
4257    /**The additional Layers that this Collider2D should include when deciding if a contact with another Collider2D should happen or not.*/
4258    /// BitField: (2022.2.0b1 - 2022.3.2f1)
4259    pub m_IncludeLayers: Option<BitField>,
4260    /**A decision priority assigned to this Collider2D used when there is a conflicting decision on whether a contact between itself and another Collision2D should happen or not.*/
4261    /// i32: (2022.2.0b1 - 2022.3.2f1)
4262    pub m_LayerOverridePriority: Option<i32>,
4263}
4264
4265/// CustomDataModule is a sub class of the Unity engine since version 5.6.0b1.
4266/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.CustomDataModule.html):
4267/**
4268Script interface for the CustomDataModule of a Particle System.
4269See Also: ParticleSystem, ParticleSystem.customData.
4270*/
4271#[derive(Debug, Serialize, Deserialize)]
4272pub struct CustomDataModule {
4273    pub color0: MinMaxGradient,
4274    pub color1: MinMaxGradient,
4275    /**Specifies whether the CustomDataModule is enabled or disabled.*/
4276    pub enabled: bool,
4277    pub mode0: i32,
4278    pub mode1: i32,
4279    pub vector0_0: MinMaxCurve,
4280    pub vector0_1: MinMaxCurve,
4281    pub vector0_2: MinMaxCurve,
4282    pub vector0_3: MinMaxCurve,
4283    pub vector1_0: MinMaxCurve,
4284    pub vector1_1: MinMaxCurve,
4285    pub vector1_2: MinMaxCurve,
4286    pub vector1_3: MinMaxCurve,
4287    pub vectorComponentCount0: i32,
4288    pub vectorComponentCount1: i32,
4289}
4290
4291/// CustomRenderTexture is a  class of the Unity engine since version 5.6.0b1.
4292/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/CustomRenderTexture.html):
4293/**
4294Custom Render Textures are an extension to Render Textures that allow you to render directly to the Texture using a Shader.
4295Custom Render Textures are an extension to Render Textures that allow you to update a texture with a Shader, and then use it in a regular Material. This is useful for implementing all kinds of complex simulations, for instance: water caustics, ripple simulations for rain effects, or splatting liquids against a wall. Also provided is a scripting and Shader framework to help with more complicated configurations like partial or multi-pass updates, and varying update frequency.
4296*/
4297#[derive(Debug, Serialize, Deserialize)]
4298pub struct CustomRenderTexture {
4299    /**The antialiasing level for the RenderTexture.*/
4300    pub m_AntiAliasing: i32,
4301    pub m_ColorFormat: i32,
4302    /**The bit field that you can use to enable or disable update on each of the cubemap faces. The bit order from least to most significant bit is as follows: +X, -X, +Y, -Y, +Z, -Z.*/
4303    pub m_CubemapFaceMask: u32,
4304    pub m_CurrentUpdateZoneSpace: i32,
4305    /**Dimensionality (type) of the Texture (Read Only).*/
4306    pub m_Dimension: i32,
4307    /**When this parameter is set to true, Unity double-buffers the Custom Render Texture so that you can access it during its own update.*/
4308    pub m_DoubleBuffered: bool,
4309    pub m_GenerateMips: bool,
4310    /**Height of the Texture in pixels (Read Only).*/
4311    pub m_Height: i32,
4312    pub m_InitColor: ColorRGBA,
4313    /// PPtr<[`Material`]>: (5.6.0b1 - 2022.3.2f1)
4314    pub m_InitMaterial: PPtr,
4315    /// PPtr<[`Texture`]>: (5.6.0b1 - 2022.3.2f1)
4316    pub m_InitTexture: PPtr,
4317    /**Determine how Unity initializes a texture.*/
4318    pub m_InitializationMode: i32,
4319    /**The Material that Unity uses to initialize the content of a Custom Render Texture.*/
4320    /// PPtr<[`Material`]>: (5.6.0b1 - 2022.3.2f1)
4321    pub m_Material: PPtr,
4322    pub m_MipMap: bool,
4323    /**The name of the object.*/
4324    pub m_Name: String,
4325    /**Does this render texture use sRGB read/write conversions? (Read Only).*/
4326    pub m_SRGB: bool,
4327    /**The Shader Pass Unity uses to update the Custom Render Texture.*/
4328    pub m_ShaderPass: u32,
4329    pub m_TextureSettings: GLTextureSettings,
4330    /**Determine how Unity updates the Custom Render Texture.*/
4331    pub m_UpdateMode: i32,
4332    /**The period in seconds that Unity updates real-time Custom Render Textures. A value of 0.0 means Unity updates real-time Custom Render Textures every frame.*/
4333    pub m_UpdatePeriod: f32,
4334    /**The space in which Unity expresses update zones. You can set this to Normalized or Pixel space.*/
4335    pub m_UpdateZoneSpace: i32,
4336    pub m_UpdateZones: Vec<UpdateZoneInfo>,
4337    /**Volume extent of a 3D render texture or number of slices of array texture.*/
4338    pub m_VolumeDepth: i32,
4339    /**Width of the Texture in pixels (Read Only).*/
4340    pub m_Width: i32,
4341    /**When this parameter is set to true, Unity wraps Update zones around the border of the Custom Render Texture. Otherwise, Unity clamps Update zones at the border of the Custom Render Texture.*/
4342    pub m_WrapUpdateZones: bool,
4343    /// bool: (2017.3.0b1 - 2022.3.2f1)
4344    pub m_BindMS: Option<bool>,
4345    /// i32: (5.6.0b1 - 2021.2.0a17)
4346    pub m_DepthFormat: Option<i32>,
4347    /**The format of the depth/stencil buffer.*/
4348    /// i32: (2021.2.0b1 - 2022.3.2f1)
4349    pub m_DepthStencilFormat: Option<i32>,
4350    /// bool: (2017.3.0b1 - 2022.3.2f1)
4351    pub m_DownscaleFallback: Option<bool>,
4352    /// bool: (2019.1.0b1 - 2022.3.2f1)
4353    pub m_EnableCompatibleFormat: Option<bool>,
4354    /// i32: (2017.3.0b1 - 2022.3.2f1)
4355    pub m_ForcedFallbackFormat: Option<i32>,
4356    /// i32: (5.6.0f1 - 2022.3.2f1)
4357    pub m_InitSource: Option<i32>,
4358    /// bool: (2020.2.0b1 - 2022.3.2f1)
4359    pub m_IsAlphaChannelOptional: Option<bool>,
4360    /// i32: (2019.2.0b1 - 2022.3.2f1)
4361    pub m_MipCount: Option<i32>,
4362    /// i32: (2021.2.0f1 - 2022.3.2f1)
4363    pub m_ShadowSamplingMode: Option<i32>,
4364    /**Is the render texture marked to be scaled by the Dynamic Resolution system.*/
4365    /// bool: (2017.3.0b1 - 2022.3.2f1)
4366    pub m_UseDynamicScale: Option<bool>,
4367}
4368
4369/// DDSImporter is a  class of the Unity engine since version 4.0.0.
4370/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/DDSImporter.html):
4371/**
4372Texture importer lets you modify Texture2D import settings for DDS textures from editor scripts.
4373*/
4374#[derive(Debug, Serialize, Deserialize)]
4375pub struct DDSImporter {
4376    /**The name of the object.*/
4377    pub m_Name: String,
4378    /**Get or set any user data.*/
4379    pub m_UserData: String,
4380    /**Get or set the AssetBundle name.*/
4381    /// String: (5.0.0f4 - 5.5.6f1)
4382    pub m_AssetBundleName: Option<String>,
4383    /**Get or set the AssetBundle variant.*/
4384    /// String: (5.0.0f4 - 5.5.6f1)
4385    pub m_AssetBundleVariant: Option<String>,
4386    /// bool: (5.5.0f3 - 5.5.6f1)
4387    pub m_IsReadable: Option<bool>,
4388}
4389
4390/// DataTemplate is a  class of the Unity engine since version 3.4.0.
4391#[derive(Debug, Serialize, Deserialize)]
4392pub struct DataTemplate {
4393    /// PPtr<[`DataTemplate`]>: (3.4.0 - 3.4.2)
4394    pub m_Father: PPtr,
4395    pub m_IsDataTemplate: bool,
4396    pub m_LastMergeIdentifier: GUID,
4397    pub m_Name: String,
4398    /// Vec<PPtr<[`EditorExtension`]>>: (3.4.0 - 3.4.2)
4399    pub m_Objects: Vec<PPtr>,
4400}
4401
4402/// DateTime is a sub class of the Unity engine since version 2018.1.0b2.
4403#[derive(Debug, Serialize, Deserialize)]
4404pub struct DateTime {
4405    pub ticks: i64,
4406}
4407
4408/// DefaultAsset is a  class of the Unity engine since version 5.0.0f4.
4409/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/DefaultAsset.html):
4410/**
4411DefaultAsset is used for assets that do not have a specific type (yet).
4412Search for t:DefaultAsset in the project browser to see which assets are of that type.
4413*/
4414#[derive(Debug, Serialize, Deserialize)]
4415pub struct DefaultAsset {
4416    pub m_IsWarning: bool,
4417    pub m_Message: String,
4418    /**The name of the object.*/
4419    pub m_Name: String,
4420}
4421
4422/// DefaultImporter is a  class of the Unity engine since version 4.0.0.
4423#[derive(Debug, Serialize, Deserialize)]
4424pub struct DefaultImporter {
4425    pub m_Name: String,
4426    pub m_UserData: String,
4427    /// String: (5.0.0f4 - 2022.3.2f1)
4428    pub m_AssetBundleName: Option<String>,
4429    /// String: (5.0.0f4 - 2022.3.2f1)
4430    pub m_AssetBundleVariant: Option<String>,
4431    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
4432    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
4433    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
4434    pub m_UsedFileIDs: Option<Vec<i64>>,
4435}
4436
4437/// DefaultPreset is a sub class of the Unity engine since version 2018.1.0b2.
4438/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Presets.DefaultPreset.html):
4439/**
4440This structure defines a default Preset.
4441See Preset.GetDefaultListForType and Preset.SetDefaultListForType for usage.
4442*/
4443#[derive(Debug, Serialize, Deserialize)]
4444pub struct DefaultPreset {
4445    /**The Preset applied to an object instance when it matches the search filter defined by DefaultPreset.m_Filter.*/
4446    /// PPtr<[`Preset`]>: (2018.1.0b2 - 2022.3.2f1)
4447    pub m_Preset: PPtr,
4448    /// bool: (2020.1.0b1 - 2022.3.2f1)
4449    pub m_Disabled: Option<bool>,
4450    /**The search filter that is compared against the object instance. The DefaultPreset.m_Preset is applied to the object instance if it matches the search filter.*/
4451    /// String: (2019.3.0b1 - 2022.3.2f1)
4452    pub m_Filter: Option<String>,
4453}
4454
4455/// DefaultPresetList is a sub class of the Unity engine since version 2018.1.0b2.
4456#[derive(Debug, Serialize, Deserialize)]
4457pub struct DefaultPresetList {
4458    pub defaultPresets: Vec<DefaultPreset>,
4459    /// PresetType: (2018.1.0b2 - 2019.3.0a8)
4460    #[serde(alias = "type")]
4461    pub _type: Option<PresetType>,
4462}
4463
4464/// DeletedItem is a sub class of the Unity engine since version 3.4.0.
4465#[derive(Debug, Serialize, Deserialize)]
4466pub struct DeletedItem {
4467    pub changeset: i32,
4468    pub digest: Enum_MdFour__Hash128,
4469    pub fullPath: String,
4470    pub guid: GUID,
4471    pub parent: GUID,
4472    /// i32: (3.4.0 - 5.6.7f1)
4473    #[serde(alias = "type")]
4474    pub _type: Option<i32>,
4475}
4476
4477/// DenseClip is a sub class of the Unity engine since version 4.0.0.
4478#[derive(Debug, Serialize, Deserialize)]
4479pub struct DenseClip {
4480    pub m_BeginTime: f32,
4481    pub m_CurveCount: u32,
4482    pub m_FrameCount: i32,
4483    pub m_SampleArray: Vec<f32>,
4484    pub m_SampleRate: f32,
4485}
4486
4487/// Derived is a  class of the Unity engine since version 2019.1.0b1.
4488#[derive(Debug, Serialize, Deserialize)]
4489pub struct Derived {}
4490
4491/// DetailDatabase is a sub class of the Unity engine since version 3.4.0.
4492#[derive(Debug, Serialize, Deserialize)]
4493pub struct DetailDatabase {
4494    pub WavingGrassTint: ColorRGBA,
4495    pub m_DetailPrototypes: Vec<DetailPrototype>,
4496    pub m_PatchCount: i32,
4497    pub m_PatchSamples: i32,
4498    pub m_Patches: Vec<DetailPatch>,
4499    /// Vec<PPtr<[`Texture2D`]>>: (3.4.0 - 2022.3.2f1)
4500    pub m_PreloadTextureAtlasData: Vec<PPtr>,
4501    pub m_TreeInstances: Vec<TreeInstance>,
4502    pub m_TreePrototypes: Vec<TreePrototype>,
4503    pub m_WavingGrassAmount: f32,
4504    pub m_WavingGrassSpeed: f32,
4505    pub m_WavingGrassStrength: f32,
4506    /// PPtr<[`Shader`]>: (2022.3.2f1 - 2022.3.2f1)
4507    #[serde(alias = "m_DefaultShaders[0]")]
4508    pub m_DefaultShaders_0_: Option<PPtr>,
4509    /// PPtr<[`Shader`]>: (2022.3.2f1 - 2022.3.2f1)
4510    #[serde(alias = "m_DefaultShaders[1]")]
4511    pub m_DefaultShaders_1_: Option<PPtr>,
4512    /// PPtr<[`Shader`]>: (2022.3.2f1 - 2022.3.2f1)
4513    #[serde(alias = "m_DefaultShaders[2]")]
4514    pub m_DefaultShaders_2_: Option<PPtr>,
4515    /// PPtr<[`Shader`]>: (2019.1.0f2 - 2021.1.28f1)
4516    pub m_DetailBillboardShader: Option<PPtr>,
4517    /// PPtr<[`Shader`]>: (2019.1.0f2 - 2021.1.28f1)
4518    pub m_DetailMeshGrassShader: Option<PPtr>,
4519    /// PPtr<[`Shader`]>: (2019.1.0f2 - 2021.1.28f1)
4520    pub m_DetailMeshLitShader: Option<PPtr>,
4521    /// i32: (2022.2.0b1 - 2022.3.2f1)
4522    pub m_DetailScatterMode: Option<i32>,
4523    /// Vec<Vector3f>: (3.4.0 - 2020.2.0a21)
4524    pub m_RandomRotations: Option<Vec<Vector3f>>,
4525}
4526
4527/// DetailPatch is a sub class of the Unity engine since version 3.4.0.
4528#[derive(Debug, Serialize, Deserialize)]
4529pub struct DetailPatch {
4530    pub layerIndices: Vec<u8>,
4531    /// AABB: (3.4.0 - 2020.2.0a21)
4532    pub bounds: Option<AABB>,
4533    /// Vec<u8>: (2022.2.0b1 - 2022.3.2f1)
4534    pub coverage: Option<Vec<u8>>,
4535    /// Vec<u8>: (3.4.0 - 2022.1.24f1)
4536    pub numberOfObjects: Option<Vec<u8>>,
4537}
4538
4539/// DetailPrototype is a sub class of the Unity engine since version 3.4.0.
4540/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/DetailPrototype.html):
4541/**
4542Detail prototype used by the Terrain GameObject.
4543*/
4544#[derive(Debug, Serialize, Deserialize)]
4545pub struct DetailPrototype {
4546    /**Color when the DetailPrototypes are "dry".*/
4547    pub dryColor: ColorRGBA,
4548    /**Color when the DetailPrototypes are "healthy".*/
4549    pub healthyColor: ColorRGBA,
4550    /**Maximum height of the grass billboards (if render mode is GrassBillboard).*/
4551    pub maxHeight: f32,
4552    /**Maximum width of the grass billboards (if render mode is GrassBillboard).*/
4553    pub maxWidth: f32,
4554    /**Minimum height of the grass billboards (if render mode is GrassBillboard).*/
4555    pub minHeight: f32,
4556    /**Minimum width of the grass billboards (if render mode is GrassBillboard).*/
4557    pub minWidth: f32,
4558    /**Controls the spatial frequency of the noise pattern used to vary the scale and color of the detail objects.*/
4559    pub noiseSpread: f32,
4560    /**GameObject used by the DetailPrototype.*/
4561    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
4562    pub prototype: PPtr,
4563    /**Texture used by the DetailPrototype.*/
4564    /// PPtr<[`Texture2D`]>: (3.4.0 - 2022.3.2f1)
4565    pub prototypeTexture: PPtr,
4566    /**Render mode for the DetailPrototype.*/
4567    pub renderMode: i32,
4568    /**Indicates whether this detail prototype uses the Mesh object from the GameObject specified by prototype.*/
4569    pub usePrototypeMesh: i32,
4570    /**Rotate detail axis parallel to the ground's normal direction, so that the detail is perpendicular to the ground.*/
4571    /// f32: (2022.2.0b1 - 2022.3.2f1)
4572    pub alignToGround: Option<f32>,
4573    /// f32: (3.4.0 - 2020.2.0a21)
4574    pub bendFactor: Option<f32>,
4575    /**Controls detail density for this detail prototype, relative to it's size.*/
4576    /// f32: (2022.2.0b1 - 2022.3.2f1)
4577    pub density: Option<f32>,
4578    /// f32: (2020.2.0f1 - 2022.3.2f1)
4579    pub holeTestRadius: Option<f32>,
4580    /// f32: (3.4.0 - 2021.1.28f1)
4581    pub lightmapFactor: Option<f32>,
4582    /**Specifies the random seed value for detail object placement.*/
4583    /// i32: (2021.2.0b1 - 2022.3.2f1)
4584    pub noiseSeed: Option<i32>,
4585    /**Controls how Unity generates the detail positions.*/
4586    /// f32: (2022.2.0b1 - 2022.3.2f1)
4587    pub positionJitter: Option<f32>,
4588    /// f32: (2022.2.0a13 - 2022.2.0a13)
4589    pub positionOrderliness: Option<f32>,
4590    /**Controls the detail's target coverage.*/
4591    /// f32: (2022.2.0b1 - 2022.3.2f1)
4592    pub targetCoverage: Option<f32>,
4593    /**Indicates the global density scale set in the terrain settings affects this detail prototype.*/
4594    /// i32: (2022.2.0b1 - 2022.3.2f1)
4595    pub useDensityScaling: Option<i32>,
4596    /**Indicates whether this detail prototype uses  GPU Instancing for rendering.*/
4597    /// i32: (2021.2.0b1 - 2022.3.2f1)
4598    pub useInstancing: Option<i32>,
4599}
4600
4601/// DeviceNone is a sub class of the Unity engine since version 5.6.0b1.
4602#[derive(Debug, Serialize, Deserialize)]
4603pub struct DeviceNone {}
4604
4605/// DirectorGenericBinding is a sub class of the Unity engine since version 2017.1.0b1.
4606#[derive(Debug, Serialize, Deserialize)]
4607pub struct DirectorGenericBinding {
4608    /// PPtr<[`Object`]>: (2017.1.0b1 - 2022.3.2f1)
4609    pub key: PPtr,
4610    /// PPtr<[`Object`]>: (2017.1.0b1 - 2022.3.2f1)
4611    pub value: PPtr,
4612}
4613
4614/// DistanceJoint2D is a  class of the Unity engine since version 4.3.0.
4615/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/DistanceJoint2D.html):
4616/**
4617Joint that keeps two Rigidbody2D objects a fixed distance apart.
4618Note that unlike the SpringJoint2D component, the distance separating the objects is truly fixed and does not allow for any stretching.See Also: HingeJoint2D class, SliderJoint2D class, SpringJoint2D class.
4619*/
4620#[derive(Debug, Serialize, Deserialize)]
4621pub struct DistanceJoint2D {
4622    /**The joint's anchor point on the object that has the joint component.*/
4623    pub m_Anchor: Vector2f,
4624    /**The joint's anchor point on the second object (ie, the one which doesn't have the joint component).*/
4625    pub m_ConnectedAnchor: Vector2f,
4626    /// PPtr<[`Rigidbody2D`]>: (4.3.0 - 2022.3.2f1)
4627    pub m_ConnectedRigidBody: PPtr,
4628    /**The distance separating the two ends of the joint.*/
4629    pub m_Distance: f32,
4630    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
4631    pub m_Enabled: u8,
4632    /**The game object this component is attached to. A component is always attached to a game object.*/
4633    /// PPtr<[`GameObject`]>: (4.3.0 - 2022.3.2f1)
4634    pub m_GameObject: PPtr,
4635    /**Should the connectedAnchor be calculated automatically?*/
4636    /// bool: (5.3.0f1 - 2022.3.2f1)
4637    pub m_AutoConfigureConnectedAnchor: Option<bool>,
4638    /**Should the distance be calculated automatically?*/
4639    /// bool: (5.3.0f1 - 2022.3.2f1)
4640    pub m_AutoConfigureDistance: Option<bool>,
4641    /**The action to take when the joint breaks the breakForce or breakTorque.*/
4642    /// i32: (2022.2.0b1 - 2022.3.2f1)
4643    pub m_BreakAction: Option<i32>,
4644    /**The force that needs to be applied for this joint to break.*/
4645    /// f32: (5.3.0f1 - 2022.3.2f1)
4646    pub m_BreakForce: Option<f32>,
4647    /**The torque that needs to be applied for this joint to break.*/
4648    /// f32: (5.3.0f1 - 2022.3.2f1)
4649    pub m_BreakTorque: Option<f32>,
4650    /// bool: (4.3.0 - 5.0.0f4)
4651    pub m_CollideConnected: Option<bool>,
4652    /**Should the two rigid bodies connected with this joint collide with each other?*/
4653    /// bool: (5.0.1f1 - 2022.3.2f1)
4654    pub m_EnableCollision: Option<bool>,
4655    /**Whether to maintain a maximum distance only or not.  If not then the absolute distance will be maintained instead.*/
4656    /// bool: (4.5.0 - 2022.3.2f1)
4657    pub m_MaxDistanceOnly: Option<bool>,
4658}
4659
4660/// EdgeCollider2D is a  class of the Unity engine since version 4.3.0.
4661/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/EdgeCollider2D.html):
4662/**
4663Collider for 2D physics representing an arbitrary set of connected edges (lines) defined by its vertices.
4664See Also: BoxCollider2D, CircleCollider2D, PolygonCollider2D.
4665*/
4666#[derive(Debug, Serialize, Deserialize)]
4667pub struct EdgeCollider2D {
4668    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
4669    pub m_Enabled: u8,
4670    /**The game object this component is attached to. A component is always attached to a game object.*/
4671    /// PPtr<[`GameObject`]>: (4.3.0 - 2022.3.2f1)
4672    pub m_GameObject: PPtr,
4673    /**Is this collider configured as a trigger?*/
4674    pub m_IsTrigger: bool,
4675    /// PPtr<[`PhysicsMaterial2D`]>: (4.3.0 - 2022.3.2f1)
4676    pub m_Material: PPtr,
4677    /**Get or set the points defining multiple continuous edges.*/
4678    pub m_Points: Vec<Vector2f>,
4679    /**Defines the position of a virtual point adjacent to the end point of the EdgeCollider2D.*/
4680    /// Vector2f: (2020.1.0b1 - 2022.3.2f1)
4681    pub m_AdjacentEndPoint: Option<Vector2f>,
4682    /**Defines the position of a virtual point adjacent to the start point of the EdgeCollider2D.*/
4683    /// Vector2f: (2020.1.0b1 - 2022.3.2f1)
4684    pub m_AdjacentStartPoint: Option<Vector2f>,
4685    /**The Layers that this Collider2D will report collision or trigger callbacks for during a contact with another Collider2D.*/
4686    /// BitField: (2022.2.0b1 - 2022.3.2f1)
4687    pub m_CallbackLayers: Option<BitField>,
4688    /**The layers of other Collider2D involved in contacts with this Collider2D that will be captured.*/
4689    /// BitField: (2022.2.0b1 - 2022.3.2f1)
4690    pub m_ContactCaptureLayers: Option<BitField>,
4691    /**The density of the collider used to calculate its mass (when auto mass is enabled).*/
4692    /// f32: (5.3.0f1 - 2022.3.2f1)
4693    pub m_Density: Option<f32>,
4694    /**Controls the radius of all edges created by the collider.*/
4695    /// f32: (5.6.0f1 - 2022.3.2f1)
4696    pub m_EdgeRadius: Option<f32>,
4697    /**The additional Layers that this Collider2D should exclude when deciding if a contact with another Collider2D should happen or not.*/
4698    /// BitField: (2022.2.0b1 - 2022.3.2f1)
4699    pub m_ExcludeLayers: Option<BitField>,
4700    /**The Layers that this Collider2D can receive forces from during a Collision contact with another Collider2D.*/
4701    /// BitField: (2022.2.0b1 - 2022.3.2f1)
4702    pub m_ForceReceiveLayers: Option<BitField>,
4703    /**The Layers that this Collider2D is allowed to send forces to during a Collision contact with another Collider2D.*/
4704    /// BitField: (2022.2.0b1 - 2022.3.2f1)
4705    pub m_ForceSendLayers: Option<BitField>,
4706    /**The additional Layers that this Collider2D should include when deciding if a contact with another Collider2D should happen or not.*/
4707    /// BitField: (2022.2.0b1 - 2022.3.2f1)
4708    pub m_IncludeLayers: Option<BitField>,
4709    /**A decision priority assigned to this Collider2D used when there is a conflicting decision on whether a contact between itself and another Collision2D should happen or not.*/
4710    /// i32: (2022.2.0b1 - 2022.3.2f1)
4711    pub m_LayerOverridePriority: Option<i32>,
4712    /**The local offset of the collider geometry.*/
4713    /// Vector2f: (5.0.0f4 - 2022.3.2f1)
4714    pub m_Offset: Option<Vector2f>,
4715    /**Set this to true to use the adjacentEndPoint to form the collision normal that is used to calculate the collision response when a collision occurs at the Edge Collider's end point. Set this to false to not use the adjacentEndPoint, and the collision normal becomes the direction of motion of the collision.*/
4716    /// bool: (2020.1.0b1 - 2022.3.2f1)
4717    pub m_UseAdjacentEndPoint: Option<bool>,
4718    /**Set this to true to use the adjacentStartPoint to form the collision normal that is used to calculate the collision response when a collision occurs at the Edge Collider's start point. Set this to false to not use the adjacentStartPoint, and the collision normal becomes the direction of motion of the collision.*/
4719    /// bool: (2020.1.0b1 - 2022.3.2f1)
4720    pub m_UseAdjacentStartPoint: Option<bool>,
4721    /**Sets whether the Collider will be used or not used by a CompositeCollider2D.*/
4722    /// bool: (5.6.0b1 - 2022.3.2f1)
4723    pub m_UsedByComposite: Option<bool>,
4724    /**Whether the collider is used by an attached effector or not.*/
4725    /// bool: (5.0.0f4 - 2022.3.2f1)
4726    pub m_UsedByEffector: Option<bool>,
4727}
4728
4729/// EditorBuildSettings is a  class of the Unity engine since version 3.4.0.
4730/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/EditorBuildSettings.html):
4731/**
4732This class allows you to modify the Editor Build Settings via script.
4733See EditorBuildSettings.scenes for an example of how to use this class.
4734See Also: EditorBuildSettingsScene, EditorUserBuildSettings, BuildPlayerOptions.
4735*/
4736#[derive(Debug, Serialize, Deserialize)]
4737pub struct EditorBuildSettings {
4738    pub m_Scenes: Vec<Scene>,
4739    /// Vec<(String, PPtr<[`Object`]>)>: (2018.1.0b2 - 2022.3.2f1)
4740    pub m_configObjects: Option<Vec<(String, PPtr)>>,
4741}
4742
4743/// EditorExtensionImpl is a  class of the Unity engine since version 3.4.0.
4744#[derive(Debug, Serialize, Deserialize)]
4745pub struct EditorExtensionImpl {
4746    /// Vec<u8>: (3.4.0 - 3.4.2)
4747    pub gFlattenedTypeTree: Option<Vec<u8>>,
4748    /// PPtr<[`DataTemplate`]>: (3.4.0 - 3.4.2)
4749    pub m_DataTemplate: Option<PPtr>,
4750    /// PPtr<[`EditorExtension`]>: (3.4.0 - 3.4.2)
4751    pub m_Object: Option<PPtr>,
4752    /// bitset: (3.4.0 - 3.4.2)
4753    pub m_OverrideVariable: Option<bitset>,
4754    /// PPtr<[`EditorExtensionImpl`]>: (3.4.0 - 3.4.2)
4755    pub m_TemplateFather: Option<PPtr>,
4756}
4757
4758/// EditorProjectAccess is a  class of the Unity engine since version 2018.1.0b2.
4759#[derive(Debug, Serialize, Deserialize)]
4760pub struct EditorProjectAccess {
4761    pub m_Name: String,
4762}
4763
4764/// EditorSettings is a  class of the Unity engine since version 3.4.0.
4765/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/EditorSettings.html):
4766/**
4767User settings for Unity Editor.
4768Use EditorSettings to apply Editor Project Settings to your Unity Project. You can control settings such as version control, streaming settings, and Asset serialization.See Also: Editor Project Settings
4769*/
4770#[derive(Debug, Serialize, Deserialize)]
4771pub struct EditorSettings {
4772    /// bool: (2020.1.0f1 - 2022.3.2f1)
4773    pub m_AssetNamingUsesSpace: Option<bool>,
4774    /// i32: (2019.3.0f1 - 2022.3.2f1)
4775    pub m_AssetPipelineMode: Option<i32>,
4776    /// bool: (2019.1.0f2 - 2022.3.2f1)
4777    pub m_AsyncShaderCompilation: Option<bool>,
4778    /// i32: (2021.2.0b1 - 2022.3.2f1)
4779    pub m_Bc7TextureCompressor: Option<i32>,
4780    /// i32: (2021.3.10f1 - 2022.3.2f1)
4781    pub m_CacheServerDownloadBatchSize: Option<i32>,
4782    /// bool: (2020.1.0b1 - 2022.3.2f1)
4783    pub m_CacheServerEnableAuth: Option<bool>,
4784    /// bool: (2019.3.0f1 - 2022.3.2f1)
4785    pub m_CacheServerEnableDownload: Option<bool>,
4786    /// bool: (2020.1.0b1 - 2022.3.2f1)
4787    pub m_CacheServerEnableTls: Option<bool>,
4788    /// bool: (2019.3.0f1 - 2022.3.2f1)
4789    pub m_CacheServerEnableUpload: Option<bool>,
4790    /// String: (2019.3.0f1 - 2022.3.2f1)
4791    pub m_CacheServerEndpoint: Option<String>,
4792    /// i32: (2019.3.0f1 - 2022.3.2f1)
4793    pub m_CacheServerMode: Option<i32>,
4794    /// String: (2019.3.0f1 - 2022.3.2f1)
4795    pub m_CacheServerNamespacePrefix: Option<String>,
4796    /// i32: (2019.4.40f1 - 2022.3.2f1)
4797    pub m_CacheServerValidationMode: Option<i32>,
4798    /// bool: (2020.1.0b1 - 2022.1.0a9)
4799    pub m_CachingShaderPreprocessor: Option<bool>,
4800    /// CollabEditorSettings: (2017.1.0f2 - 2020.1.0a12)
4801    pub m_CollabEditorSettings: Option<CollabEditorSettings>,
4802    /// i32: (4.3.0 - 2022.3.2f1)
4803    pub m_DefaultBehaviorMode: Option<i32>,
4804    /// bool: (2020.1.0b1 - 2022.3.2f1)
4805    pub m_DisableCookiesInLightmapper: Option<bool>,
4806    /// bool: (2022.1.0b1 - 2022.3.2f1)
4807    pub m_EnableEditorAsyncCPUTextureLoading: Option<bool>,
4808    /// bool: (2022.2.0b1 - 2022.3.2f1)
4809    pub m_EnableEnlightenBakedGI: Option<bool>,
4810    /// bool: (2020.2.0a12 - 2020.2.0a16)
4811    pub m_EnableRoslynAnalyzers: Option<bool>,
4812    /// bool: (2019.1.0b1 - 2022.3.2f1)
4813    pub m_EnableTextureStreamingInEditMode: Option<bool>,
4814    /// bool: (2018.2.0b1 - 2022.3.2f1)
4815    pub m_EnableTextureStreamingInPlayMode: Option<bool>,
4816    /// i32: (2019.3.0b1 - 2022.3.2f1)
4817    pub m_EnterPlayModeOptions: Option<i32>,
4818    /// bool: (2019.3.0b1 - 2022.3.2f1)
4819    pub m_EnterPlayModeOptionsEnabled: Option<bool>,
4820    /// i32: (2017.2.0b2 - 2022.3.2f1)
4821    pub m_EtcTextureBestCompressor: Option<i32>,
4822    /// i32: (2017.2.0b2 - 2022.3.2f1)
4823    pub m_EtcTextureCompressorBehavior: Option<i32>,
4824    /// i32: (2017.2.0b2 - 2022.3.2f1)
4825    pub m_EtcTextureFastCompressor: Option<i32>,
4826    /// i32: (2017.2.0b2 - 2022.3.2f1)
4827    pub m_EtcTextureNormalCompressor: Option<i32>,
4828    /// i32: (3.4.0 - 3.5.7); String: (4.0.0 - 2020.1.0a12)
4829    pub m_ExternalVersionControlSupport: Option<Enum_i32__String>,
4830    /// i32: (2020.1.0f1 - 2022.3.2f1)
4831    pub m_GameObjectNamingDigits: Option<i32>,
4832    /// i32: (2020.1.0f1 - 2022.3.2f1)
4833    pub m_GameObjectNamingScheme: Option<i32>,
4834    /// bool: (2022.2.0b1 - 2022.3.2f1)
4835    pub m_InspectorUseIMGUIDefaultInspector: Option<bool>,
4836    /// i32: (2017.3.0b1 - 2022.3.2f1)
4837    pub m_LineEndingsForNewScripts: Option<i32>,
4838    /// bool: (2020.2.0b1 - 2022.3.2f1)
4839    pub m_PrefabModeAllowAutoSave: Option<bool>,
4840    /// PPtr<[`SceneAsset`]>: (2018.3.0f2 - 2022.3.2f1)
4841    pub m_PrefabRegularEnvironment: Option<PPtr>,
4842    /// PPtr<[`SceneAsset`]>: (2018.3.0f2 - 2022.3.2f1)
4843    pub m_PrefabUIEnvironment: Option<PPtr>,
4844    /// String: (5.2.0f2 - 2022.3.2f1)
4845    pub m_ProjectGenerationIncludedExtensions: Option<String>,
4846    /// String: (5.2.0f2 - 2022.3.2f1)
4847    pub m_ProjectGenerationRootNamespace: Option<String>,
4848    /// i32: (2021.2.0b1 - 2022.3.2f1)
4849    pub m_RefreshImportMode: Option<i32>,
4850    /// i32: (3.5.0 - 2022.3.2f1)
4851    pub m_SerializationMode: Option<i32>,
4852    /// bool: (2020.1.0b1 - 2022.3.2f1)
4853    pub m_SerializeInlineMappingsOnOneLine: Option<bool>,
4854    /// bool: (2019.2.0b1 - 2020.1.0a12)
4855    pub m_ShowLightmapResolutionOverlay: Option<bool>,
4856    /// i32: (2022.1.0b1 - 2022.3.2f1)
4857    pub m_SpritePackerCacheSize: Option<i32>,
4858    /// i32: (4.3.0 - 2022.3.2f1)
4859    pub m_SpritePackerMode: Option<i32>,
4860    /// i32: (5.1.0f1 - 2022.3.2f1)
4861    pub m_SpritePackerPaddingPower: Option<i32>,
4862    /// bool: (2019.3.0b1 - 2022.3.2f1)
4863    pub m_UseLegacyProbeSampleCount: Option<bool>,
4864    /// String: (5.5.0f3 - 2018.2.21f1)
4865    pub m_UserGeneratedProjectSuffix: Option<String>,
4866    /// i32: (3.4.0 - 5.4.6f3)
4867    pub m_WebSecurityEmulationEnabled: Option<i32>,
4868    /// String: (3.4.0 - 5.4.6f3)
4869    pub m_WebSecurityEmulationHostUrl: Option<String>,
4870}
4871
4872#[derive(Debug, Serialize, Deserialize)]
4873#[serde(untagged)]
4874pub enum Enum_i32__String {
4875    i32(i32),
4876    String(String),
4877}
4878
4879/// EditorUSerSettings is a  class of the Unity engine since version 3.5.0.
4880#[derive(Debug, Serialize, Deserialize)]
4881pub struct EditorUSerSettings {
4882    pub m_VCAutomaticAdd: bool,
4883    pub m_VCDebugCmd: bool,
4884    pub m_VCDebugCom: bool,
4885    pub m_VCDebugOut: bool,
4886    /// Vec<(String, String)>: (4.0.0 - 4.0.1)
4887    pub m_ConfigValues: Option<Vec<(String, String)>>,
4888    /// String: (3.5.0 - 3.5.7)
4889    pub m_VCPassword: Option<String>,
4890    /// String: (3.5.0 - 3.5.7)
4891    pub m_VCServer: Option<String>,
4892    /// String: (3.5.0 - 3.5.7)
4893    pub m_VCUserName: Option<String>,
4894    /// String: (3.5.0 - 3.5.7)
4895    pub m_VCWorkspace: Option<String>,
4896}
4897
4898/// EditorUserBuildSettings is a  class of the Unity engine since version 3.4.0.
4899/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/EditorUserBuildSettings.html):
4900/**
4901User build settings for the Editor
4902See Also: EditorBuildSettings.
4903*/
4904#[derive(Debug, Serialize, Deserialize)]
4905pub struct EditorUserBuildSettings {
4906    pub m_ActiveBuildTarget: i32,
4907    pub m_AllowDebugging: bool,
4908    pub m_ArchitectureFlags: i32,
4909    pub m_BuildLocation: Vec<String>,
4910    pub m_ConnectProfiler: bool,
4911    pub m_Development: bool,
4912    pub m_InstallInBuildFolder: bool,
4913    pub m_SelectedAndroidSubtarget: i32,
4914    pub m_SelectedBuildTargetGroup: i32,
4915    pub m_SelectedStandaloneTarget: i32,
4916    /// String: (2021.2.0b1 - 2022.3.2f1)
4917    pub m_ActiveBuildPlatformGroupName: Option<String>,
4918    /// i32: (5.6.0b1 - 2022.3.2f1)
4919    pub m_ActiveBuildTargetGroup: Option<i32>,
4920    /// i32: (2021.2.0b1 - 2022.3.2f1)
4921    pub m_ActiveStandaloneBuildSubtarget: Option<i32>,
4922    /// i32: (5.5.0f3 - 2022.3.2f1)
4923    pub m_AndroidBuildSystem: Option<i32>,
4924    /// i32: (5.6.0f1 - 2022.3.2f1)
4925    pub m_AndroidBuildType: Option<i32>,
4926    /// i32: (2021.1.0b1 - 2022.3.2f1)
4927    pub m_AndroidCreateSymbols: Option<i32>,
4928    /// bool: (2018.4.13f1 - 2021.1.0a6)
4929    pub m_AndroidCreateSymbolsZip: Option<bool>,
4930    /// String: (2018.1.0b2 - 2022.3.2f1)
4931    pub m_AndroidCurrentDeploymentTargetId: Option<String>,
4932    /// i32: (2017.1.0b1 - 2022.3.2f1)
4933    pub m_AndroidDebugMinification: Option<i32>,
4934    /// String: (2017.2.0b2 - 2022.3.2f1)
4935    pub m_AndroidDeviceSocketAddress: Option<String>,
4936    /// i32: (2017.1.0b1 - 2022.3.2f1)
4937    pub m_AndroidReleaseMinification: Option<i32>,
4938    /// bool: (2018.3.0f2 - 2018.4.36f1)
4939    pub m_AndroidUseLegacySdkTools: Option<bool>,
4940    /// bool: (2017.4.17f1 - 2022.3.2f1)
4941    pub m_BuildAppBundle: Option<bool>,
4942    /// bool: (5.0.0f4 - 2022.3.2f1)
4943    pub m_BuildScriptsOnly: Option<bool>,
4944    /// bool: (2019.3.0b1 - 2022.3.2f1)
4945    pub m_BuildWithDeepProfilingSupport: Option<bool>,
4946    /// bool: (5.5.1f1 - 2022.3.2f1)
4947    pub m_CompressFilesInPackage: Option<bool>,
4948    /// bool: (5.0.0f4 - 2021.1.28f1)
4949    pub m_CompressWithPsArc: Option<bool>,
4950    /// bool: (5.6.0b1 - 2022.3.2f1)
4951    pub m_CreateRomFileForSwitch: Option<bool>,
4952    /// bool: (5.6.0b1 - 2020.1.0a21)
4953    pub m_CreateSolutionFileForSwitch: Option<bool>,
4954    /// bool: (2018.2.0b1 - 2019.2.21f1)
4955    pub m_DatalessPlayer: Option<bool>,
4956    /// bool: (5.6.2f1 - 2022.3.2f1)
4957    pub m_EnableDebugPadForSwitch: Option<bool>,
4958    /// bool: (4.2.0 - 2021.2.0a19)
4959    pub m_EnableHeadlessMode: Option<bool>,
4960    /// bool: (2018.3.0f2 - 2022.3.2f1)
4961    pub m_EnableHeapInspectorForSwitch: Option<bool>,
4962    /// bool: (2019.4.38f1 - 2022.3.2f1)
4963    pub m_EnableRomCompressionForSwitch: Option<bool>,
4964    /// bool: (2018.1.0b2 - 2022.3.2f1)
4965    pub m_ExplicitArrayBoundsChecks: Option<bool>,
4966    /// bool: (5.4.0f3 - 2022.3.2f1)
4967    pub m_ExplicitDivideByZeroChecks: Option<bool>,
4968    /// bool: (3.5.0 - 2022.3.2f1)
4969    pub m_ExplicitNullChecks: Option<bool>,
4970    /// bool: (5.5.0f3 - 2022.3.2f1)
4971    pub m_ExportAsGoogleAndroidProject: Option<bool>,
4972    /// String: (5.6.0f1 - 2019.3.0a10)
4973    pub m_FacebookAccessToken: Option<String>,
4974    /// bool: (5.6.0b1 - 2017.2.5f1)
4975    pub m_FacebookCreatePackageForSubmission: Option<bool>,
4976    /// bool: (5.6.3f1 - 2022.3.2f1)
4977    pub m_ForceInstallation: Option<bool>,
4978    /// bool: (5.2.2f1 - 5.6.7f1)
4979    pub m_ForceOptimizeScriptCompilation: Option<bool>,
4980    /// bool: (4.5.0 - 4.7.2)
4981    pub m_GenerateMetroReferenceProjects: Option<bool>,
4982    /// bool: (2018.4.35f1 - 2022.3.2f1)
4983    pub m_GenerateNintendoSwitchShaderInfo: Option<bool>,
4984    /// bool: (5.0.0f4 - 2018.4.36f1)
4985    pub m_GenerateWSAReferenceProjects: Option<bool>,
4986    /// bool: (2020.1.0b1 - 2022.3.2f1)
4987    pub m_HTCSScriptDebuggingForSwitch: Option<bool>,
4988    /// i32: (2021.2.0b1 - 2022.1.0a13)
4989    pub m_Il2CppCodeGeneration: Option<i32>,
4990    /// bool: (2018.1.0b2 - 2022.3.2f1)
4991    pub m_MovePackageToDiscOuterEdge: Option<bool>,
4992    /// bool: (2018.3.0f2 - 2020.1.0a9)
4993    pub m_NVNDrawValidation: Option<bool>,
4994    /// bool: (2020.1.0b1 - 2022.3.2f1)
4995    pub m_NVNDrawValidationHeavy: Option<bool>,
4996    /// bool: (2020.1.0b1 - 2022.3.2f1)
4997    pub m_NVNDrawValidationLight: Option<bool>,
4998    /// bool: (5.6.0b1 - 2022.3.2f1)
4999    pub m_NVNGraphicsDebuggerForSwitch: Option<bool>,
5000    /// bool: (2018.3.0f2 - 2022.3.2f1)
5001    pub m_NVNShaderDebugging: Option<bool>,
5002    /// bool: (5.0.0f4 - 2022.3.2f1)
5003    pub m_NeedSubmissionMaterials: Option<bool>,
5004    /// i32: (2021.2.0b1 - 2022.3.2f1)
5005    pub m_OverrideMaxTextureSize: Option<i32>,
5006    /// i32: (2021.2.0b1 - 2022.3.2f1)
5007    pub m_OverrideTextureCompression: Option<i32>,
5008    /// i32: (5.3.7f1 - 2022.3.2f1)
5009    pub m_PS4HardwareTarget: Option<i32>,
5010    /// bool: (2019.4.23f1 - 2019.4.40f1)
5011    pub m_PS5KeepPackageFiles: Option<bool>,
5012    /// String: (2019.4.23f1 - 2019.4.40f1)
5013    pub m_PS5WorkspaceName: Option<String>,
5014    /// String: (2021.2.14f1 - 2022.3.2f1)
5015    pub m_PathOnRemoteDevice: Option<String>,
5016    /// Vec<(String, PlatformSettingsData)>: (5.4.0f3 - 2022.3.2f1)
5017    pub m_PlatformSettings: Option<Vec<(String, PlatformSettingsData)>>,
5018    /// bool: (5.6.2f1 - 2022.3.2f1)
5019    pub m_RedirectWritesToHostMountForSwitch: Option<bool>,
5020    /// String: (2021.2.14f1 - 2022.3.2f1)
5021    pub m_RemoteDeviceAddress: Option<String>,
5022    /// String: (2021.2.14f1 - 2022.3.2f1)
5023    pub m_RemoteDeviceExports: Option<String>,
5024    /// bool: (2021.2.14f1 - 2022.3.2f1)
5025    pub m_RemoteDeviceInfo: Option<bool>,
5026    /// String: (2021.2.14f1 - 2022.3.2f1)
5027    pub m_RemoteDeviceUsername: Option<String>,
5028    /// String: (2019.4.38f1 - 2022.3.2f1)
5029    pub m_RomCompressionConfigForSwitch: Option<String>,
5030    /// i32: (2019.4.38f1 - 2022.3.2f1)
5031    pub m_RomCompressionLevelForSwitch: Option<i32>,
5032    /// i32: (2019.4.38f1 - 2022.3.2f1)
5033    pub m_RomCompressionTypeForSwitch: Option<i32>,
5034    /// bool: (2019.4.38f1 - 2022.3.2f1)
5035    pub m_SaveADFForSwitch: Option<bool>,
5036    /// i32: (2017.3.0b1 - 2022.3.2f1)
5037    pub m_SelectedAndroidETC2Fallback: Option<i32>,
5038    /// i32: (4.2.0 - 5.3.8f2)
5039    pub m_SelectedBlackBerryBuildType: Option<i32>,
5040    /// i32: (4.2.0 - 5.3.8f2)
5041    pub m_SelectedBlackBerrySubtarget: Option<i32>,
5042    /// String: (2021.2.0b1 - 2022.3.2f1)
5043    pub m_SelectedBuildPlatformGroupName: Option<String>,
5044    /// Vec<(String, i32)>: (2017.2.0b2 - 2022.3.2f1)
5045    pub m_SelectedCompressionType: Option<Vec<(String, i32)>>,
5046    /// i32: (2021.2.0b1 - 2022.3.2f1)
5047    pub m_SelectedEmbeddedLinuxArchitecture: Option<i32>,
5048    /// i32: (5.6.0b1 - 2019.3.0a10)
5049    pub m_SelectedFacebookTarget: Option<i32>,
5050    /// i32: (5.1.0f1 - 2022.3.2f1)
5051    pub m_SelectedIOSBuildType: Option<i32>,
5052    /// i32: (4.5.3 - 4.7.2)
5053    pub m_SelectedMetroBuildAndRunDeployTarget: Option<i32>,
5054    /// i32: (4.0.0 - 4.7.2)
5055    pub m_SelectedMetroBuildType: Option<i32>,
5056    /// i32: (4.3.0 - 4.7.2)
5057    pub m_SelectedMetroSDK: Option<i32>,
5058    /// i32: (4.2.0 - 4.7.2)
5059    pub m_SelectedMetroTarget: Option<i32>,
5060    /// i32: (4.0.0 - 5.4.1f1)
5061    pub m_SelectedPS3Subtarget: Option<i32>,
5062    /// i32: (5.0.0f4 - 2022.3.2f1)
5063    pub m_SelectedPS4Subtarget: Option<i32>,
5064    /// i32: (2019.4.23f1 - 2019.4.40f1)
5065    pub m_SelectedPS5CompressionLevel: Option<i32>,
5066    /// i32: (2019.4.23f1 - 2019.4.40f1)
5067    pub m_SelectedPS5CompressionType: Option<i32>,
5068    /// i32: (2019.4.23f1 - 2019.4.40f1)
5069    pub m_SelectedPS5Subtarget: Option<i32>,
5070    /// i32: (5.0.0f4 - 2017.4.40f1)
5071    pub m_SelectedPSMSubtarget: Option<i32>,
5072    /// i32: (4.5.0 - 2018.2.21f1)
5073    pub m_SelectedPSP2Subtarget: Option<i32>,
5074    /// i32: (2022.2.0b1 - 2022.3.2f1)
5075    pub m_SelectedQNXArchitecture: Option<i32>,
5076    /// i32: (2022.2.0b1 - 2022.3.2f1)
5077    pub m_SelectedQNXOsVersion: Option<i32>,
5078    /// i32: (2021.2.0b1 - 2022.3.2f1)
5079    pub m_SelectedStandaloneBuildSubtarget: Option<i32>,
5080    /// i32: (4.5.0 - 2018.1.9f2)
5081    pub m_SelectedTizenSubtarget: Option<i32>,
5082    /// String: (2018.3.0f2 - 2022.3.2f1)
5083    pub m_SelectedWSAArchitecture: Option<String>,
5084    /// i32: (5.0.0f4 - 2022.3.2f1)
5085    pub m_SelectedWSABuildAndRunDeployTarget: Option<i32>,
5086    /// String: (2018.3.0f2 - 2022.3.2f1)
5087    pub m_SelectedWSAMinUWPSDK: Option<String>,
5088    /// i32: (5.0.0f4 - 2017.1.0b1)
5089    pub m_SelectedWSASDK: Option<i32>,
5090    /// i32: (5.5.0f3 - 2021.1.28f1)
5091    pub m_SelectedWSASubtarget: Option<i32>,
5092    /// i32: (5.2.0f2 - 2022.3.2f1)
5093    pub m_SelectedWSAUWPBuildType: Option<i32>,
5094    /// String: (5.5.2f1 - 2022.3.2f1)
5095    pub m_SelectedWSAUWPSDK: Option<String>,
5096    /// String: (2017.3.0b1 - 2022.3.2f1)
5097    pub m_SelectedWSAUWPVSVersion: Option<String>,
5098    /// i32: (2021.2.0b1 - 2022.3.2f1)
5099    pub m_SelectedWebGLSubtarget: Option<i32>,
5100    /// i32: (3.5.0 - 4.3.4)
5101    pub m_SelectedWiiDebugLevel: Option<i32>,
5102    /// i32: (3.4.0 - 4.3.4)
5103    pub m_SelectedWiiSubtarget: Option<i32>,
5104    /// i32: (5.2.0f2 - 2017.4.40f1)
5105    pub m_SelectedWiiUBootMode: Option<i32>,
5106    /// i32: (5.2.0f2 - 2017.4.40f1)
5107    pub m_SelectedWiiUBuildOutput: Option<i32>,
5108    /// i32: (5.2.0f2 - 2017.4.40f1)
5109    pub m_SelectedWiiUDebugLevel: Option<i32>,
5110    /// i32: (2018.2.0b1 - 2022.3.2f1)
5111    pub m_SelectedXboxOneDeployDrive: Option<i32>,
5112    /// i32: (5.0.0f4 - 2022.3.2f1)
5113    pub m_SelectedXboxOneDeployMethod: Option<i32>,
5114    /// i32: (3.5.0 - 5.4.6f3)
5115    pub m_SelectedXboxRunMethod: Option<i32>,
5116    /// i32: (3.5.0 - 2022.3.2f1)
5117    pub m_SelectedXboxSubtarget: Option<i32>,
5118    /// bool: (3.4.0 - 2021.1.28f1)
5119    pub m_SymlinkLibraries: Option<bool>,
5120    /// bool: (2021.2.0b1 - 2022.3.2f1)
5121    pub m_SymlinkSources: Option<bool>,
5122    /// bool: (5.1.0f1 - 2022.3.2f1)
5123    pub m_SymlinkTrampoline: Option<bool>,
5124    /// bool: (2019.4.24f1 - 2022.3.2f1)
5125    pub m_UseLegacyNvnPoolAllocatorForSwitch: Option<bool>,
5126    /// Vec<bool>: (5.3.0f1 - 2018.4.36f1)
5127    pub m_WSADotNetNativeEnabled: Option<Vec<bool>>,
5128    /// bool: (2019.1.0b1 - 2022.3.2f1)
5129    pub m_WaitForPlayerConnection: Option<bool>,
5130    /// i32: (5.0.0f4 - 5.3.8f2)
5131    pub m_WebGLOptimizationLevel: Option<i32>,
5132    /// bool: (5.4.0f3 - 2018.4.36f1)
5133    pub m_WebGLUsePreBuiltUnityEngine: Option<bool>,
5134    /// bool: (3.5.0 - 5.1.5f1)
5135    pub m_WebPlayerDeployOnline: Option<bool>,
5136    /// bool: (3.4.0 - 3.5.7)
5137    pub m_WebPlayerNaClSupport: Option<bool>,
5138    /// bool: (3.4.0 - 2017.1.5f1)
5139    pub m_WebPlayerOfflineDeployment: Option<bool>,
5140    /// bool: (3.4.0 - 2017.1.5f1)
5141    pub m_WebPlayerStreamed: Option<bool>,
5142    /// bool: (5.2.0f2 - 2017.4.40f1)
5143    pub m_WiiUEnableNetAPI: Option<bool>,
5144    /// String: (2019.2.0b1 - 2022.3.2f1)
5145    pub m_WindowsDevicePortalAddress: Option<String>,
5146    /// String: (2019.2.0b1 - 2022.3.2f1)
5147    pub m_WindowsDevicePortalUsername: Option<String>,
5148    /// bool: (2018.2.0b1 - 2019.1.0a12)
5149    pub m_WsaHolographicRemoting: Option<bool>,
5150    /// bool: (3.5.0 - 3.5.7)
5151    pub m_XboxCompressedXex: Option<bool>,
5152    /// String: (5.3.0f1 - 2019.1.14f1)
5153    pub m_XboxOneNetworkSharePath: Option<String>,
5154    /// i32: (5.0.0f4 - 2022.3.2f1)
5155    pub m_XboxOneStreamingInstallLaunchChunkRange: Option<i32>,
5156    /// String: (5.3.0f1 - 2019.1.14f1)
5157    pub m_XboxOneUsername: Option<String>,
5158    /// i32: (2021.2.0b1 - 2022.3.2f1)
5159    pub m_macosXcodeBuildConfig: Option<i32>,
5160}
5161
5162/// EditorUserSettings is a  class of the Unity engine since version 4.1.0.
5163#[derive(Debug, Serialize, Deserialize)]
5164pub struct EditorUserSettings {
5165    pub m_VCAutomaticAdd: bool,
5166    pub m_VCDebugCmd: bool,
5167    pub m_VCDebugCom: bool,
5168    pub m_VCDebugOut: bool,
5169    /// bool: (2021.2.0b1 - 2022.3.2f1)
5170    pub m_ArtifactGarbageCollection: Option<bool>,
5171    /// i32: (2019.2.0b1 - 2019.2.21f1)
5172    pub m_AssetPipelineMode: Option<i32>,
5173    /// i32: (2019.3.0b1 - 2020.1.0a8)
5174    pub m_AssetPipelineMode2: Option<i32>,
5175    /// i32: (2019.2.0b1 - 2020.1.0a8)
5176    pub m_CacheServerMode: Option<i32>,
5177    /// Vec<String>: (2019.2.0b1 - 2020.1.0a8)
5178    pub m_CacheServers: Option<Vec<String>>,
5179    /// Vec<(String, ConfigSetting)>: (5.4.2f2 - 2022.3.2f1)
5180    pub m_ConfigSettings: Option<Vec<(String, ConfigSetting)>>,
5181    /// Vec<(String, String)>: (4.1.0 - 5.4.1f1)
5182    pub m_ConfigValues: Option<Vec<(String, String)>>,
5183    /// i32: (2021.2.0b1 - 2022.3.2f1)
5184    pub m_DesiredImportWorkerCount: Option<i32>,
5185    /// i32: (2021.2.0f1 - 2022.3.2f1)
5186    pub m_IdleImportWorkerShutdownDelay: Option<i32>,
5187    /// i32: (5.0.0f4 - 2022.3.2f1)
5188    pub m_SemanticMergeMode: Option<i32>,
5189    /// i32: (2021.2.0f1 - 2022.3.2f1)
5190    pub m_StandbyImportWorkerCount: Option<i32>,
5191    /// bool: (5.6.6f1 - 2022.3.2f1)
5192    pub m_VCAllowAsyncUpdate: Option<bool>,
5193    /// bool: (2020.2.0b1 - 2022.3.2f1)
5194    pub m_VCHierarchyOverlayIcons: Option<bool>,
5195    /// bool: (2020.2.0b1 - 2022.3.2f1)
5196    pub m_VCOtherOverlayIcons: Option<bool>,
5197    /// bool: (2019.3.0b1 - 2020.1.17f1)
5198    pub m_VCOverlayIcons: Option<bool>,
5199    /// bool: (2018.4.5f1 - 2022.3.2f1)
5200    pub m_VCOverwriteFailedCheckoutAssets: Option<bool>,
5201    /// bool: (2020.2.0b1 - 2022.3.2f1)
5202    pub m_VCProjectOverlayIcons: Option<bool>,
5203    /// bool: (5.1.0f1 - 2022.3.2f1)
5204    pub m_VCShowFailedCheckout: Option<bool>,
5205}
5206
5207/// EffectConstant is a sub class of the Unity engine since version 5.0.0f4.
5208#[derive(Debug, Serialize, Deserialize)]
5209pub struct EffectConstant {
5210    pub bypass: bool,
5211    pub groupConstantIndex: u32,
5212    pub parameterIndices: Vec<u32>,
5213    pub prevEffectIndex: u32,
5214    pub sendTargetEffectIndex: u32,
5215    pub wetMixLevelIndex: u32,
5216    /// i32: (5.0.0f4 - 2022.3.2f1)
5217    #[serde(alias = "type")]
5218    pub _type: Option<i32>,
5219}
5220
5221/// EllipsoidParticleEmitter is a  class of the Unity engine since version 3.4.0.
5222#[derive(Debug, Serialize, Deserialize)]
5223pub struct EllipsoidParticleEmitter {
5224    pub angularVelocity: f32,
5225    pub emitterVelocityScale: f32,
5226    pub localVelocity: Vector3f,
5227    pub m_Ellipsoid: Vector3f,
5228    pub m_Emit: bool,
5229    pub m_Enabled: bool,
5230    /// PPtr<[`GameObject`]>: (3.4.0 - 2018.2.21f1)
5231    pub m_GameObject: PPtr,
5232    pub m_MinEmitterRange: f32,
5233    pub m_OneShot: bool,
5234    pub maxEmission: f32,
5235    pub maxEnergy: f32,
5236    pub maxSize: f32,
5237    pub minEmission: f32,
5238    pub minEnergy: f32,
5239    pub minSize: f32,
5240    pub rndAngularVelocity: f32,
5241    pub rndRotation: bool,
5242    pub rndVelocity: Vector3f,
5243    pub tangentVelocity: Vector3f,
5244    pub worldVelocity: Vector3f,
5245    /// bool: (3.4.0 - 2018.2.21f1)
5246    #[serde(alias = "Simulate in Worldspace?")]
5247    pub Simulate_in_Worldspace_: Option<bool>,
5248}
5249
5250/// EmbeddedNativeType is a sub class of the Unity engine since version 2019.1.0b1.
5251#[derive(Debug, Serialize, Deserialize)]
5252pub struct EmbeddedNativeType {
5253    pub m_FloatArray: Vec<f32>,
5254    pub m_String: String,
5255}
5256
5257/// EmissionModule is a sub class of the Unity engine since version 3.5.0.
5258/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.EmissionModule.html):
5259/**
5260Script interface for the EmissionModule of a Particle System.
5261See Also: ParticleSystem, ParticleSystem.emission.
5262*/
5263#[derive(Debug, Serialize, Deserialize)]
5264pub struct EmissionModule {
5265    /**Specifies whether the EmissionModule is enabled or disabled.*/
5266    pub enabled: bool,
5267    /**The current number of bursts.*/
5268    pub m_BurstCount: i32,
5269    /// u16: (3.5.0 - 5.3.8f2); i32: (5.4.0f3 - 5.6.0b4)
5270    pub cnt0: Option<i32>,
5271    /// u16: (3.5.0 - 5.3.8f2); i32: (5.4.0f3 - 5.6.0b4)
5272    pub cnt1: Option<i32>,
5273    /// u16: (3.5.0 - 5.3.8f2); i32: (5.4.0f3 - 5.6.0b4)
5274    pub cnt2: Option<i32>,
5275    /// u16: (3.5.0 - 5.3.8f2); i32: (5.4.0f3 - 5.6.0b4)
5276    pub cnt3: Option<i32>,
5277    /// u16: (5.3.0f1 - 5.3.8f2); i32: (5.4.0f3 - 5.6.0b4)
5278    pub cntmax0: Option<i32>,
5279    /// u16: (5.3.0f1 - 5.3.8f2); i32: (5.4.0f3 - 5.6.0b4)
5280    pub cntmax1: Option<i32>,
5281    /// u16: (5.3.0f1 - 5.3.8f2); i32: (5.4.0f3 - 5.6.0b4)
5282    pub cntmax2: Option<i32>,
5283    /// u16: (5.3.0f1 - 5.3.8f2); i32: (5.4.0f3 - 5.6.0b4)
5284    pub cntmax3: Option<i32>,
5285    /// Vec<ParticleSystemEmissionBurst>: (5.6.0f1 - 2022.3.2f1)
5286    pub m_Bursts: Option<Vec<ParticleSystemEmissionBurst>>,
5287    /// i32: (3.5.0 - 5.4.6f3)
5288    pub m_Type: Option<i32>,
5289    /// MinMaxCurve: (3.5.0 - 5.4.6f3)
5290    pub rate: Option<MinMaxCurve>,
5291    /**The rate at which the emitter spawns new particles over distance.*/
5292    /// MinMaxCurve: (5.5.0f3 - 2022.3.2f1)
5293    pub rateOverDistance: Option<MinMaxCurve>,
5294    /**The rate at which the emitter spawns new particles over time.*/
5295    /// MinMaxCurve: (5.5.0f3 - 2022.3.2f1)
5296    pub rateOverTime: Option<MinMaxCurve>,
5297    /// f32: (3.5.0 - 5.6.0b4)
5298    pub time0: Option<f32>,
5299    /// f32: (3.5.0 - 5.6.0b4)
5300    pub time1: Option<f32>,
5301    /// f32: (3.5.0 - 5.6.0b4)
5302    pub time2: Option<f32>,
5303    /// f32: (3.5.0 - 5.6.0b4)
5304    pub time3: Option<f32>,
5305}
5306
5307/// EmptyObject is a  class of the Unity engine since version 2019.2.0b1.
5308#[derive(Debug, Serialize, Deserialize)]
5309pub struct EmptyObject {}
5310
5311/// EnlightenRendererInformation is a sub class of the Unity engine since version 5.0.0f4.
5312#[derive(Debug, Serialize, Deserialize)]
5313pub struct EnlightenRendererInformation {
5314    pub dynamicLightmapSTInSystem: Vector4f,
5315    pub instanceHash: Hash128,
5316    /// PPtr<[`Object`]>: (5.0.0f4 - 2022.3.2f1)
5317    pub renderer: PPtr,
5318    pub systemId: i32,
5319}
5320
5321/// EnlightenSceneMapping is a sub class of the Unity engine since version 5.0.0f4.
5322#[derive(Debug, Serialize, Deserialize)]
5323pub struct EnlightenSceneMapping {
5324    pub m_Renderers: Vec<EnlightenRendererInformation>,
5325    pub m_SystemAtlases: Vec<EnlightenSystemAtlasInformation>,
5326    pub m_Systems: Vec<EnlightenSystemInformation>,
5327    pub m_TerrainChunks: Vec<EnlightenTerrainChunksInformation>,
5328    /// Vec<Hash128>: (5.3.0f1 - 2022.3.2f1)
5329    pub m_Probesets: Option<Vec<Hash128>>,
5330}
5331
5332/// EnlightenSystemAtlasInformation is a sub class of the Unity engine since version 5.0.0f4.
5333#[derive(Debug, Serialize, Deserialize)]
5334pub struct EnlightenSystemAtlasInformation {
5335    pub atlasHash: Hash128,
5336    pub atlasSize: i32,
5337    pub firstSystemId: i32,
5338}
5339
5340/// EnlightenSystemInformation is a sub class of the Unity engine since version 5.0.0f4.
5341#[derive(Debug, Serialize, Deserialize)]
5342pub struct EnlightenSystemInformation {
5343    pub atlasIndex: i32,
5344    pub atlasOffsetX: i32,
5345    pub atlasOffsetY: i32,
5346    pub inputSystemHash: Hash128,
5347    pub radiositySystemHash: Hash128,
5348    pub rendererIndex: u32,
5349    pub rendererSize: u32,
5350}
5351
5352/// EnlightenTerrainChunksInformation is a sub class of the Unity engine since version 5.0.0f4.
5353#[derive(Debug, Serialize, Deserialize)]
5354pub struct EnlightenTerrainChunksInformation {
5355    pub firstSystemId: i32,
5356    pub numChunksInX: i32,
5357    pub numChunksInY: i32,
5358}
5359
5360/// ExpandedData is a sub class of the Unity engine since version 3.4.0.
5361#[derive(Debug, Serialize, Deserialize)]
5362pub struct ExpandedData {
5363    pub m_ClassID: i32,
5364    pub m_ExpandedProperties: Vec<String>,
5365    pub m_InspectorExpanded: bool,
5366    pub m_ScriptClass: String,
5367}
5368
5369/// ExposedReferenceTable is a sub class of the Unity engine since version 2017.1.0b1.
5370#[derive(Debug, Serialize, Deserialize)]
5371pub struct ExposedReferenceTable {
5372    /// Vec<(String, PPtr<[`Object`]>)>: (2017.1.0b1 - 2022.3.2f1)
5373    pub m_References: Vec<(String, PPtr)>,
5374}
5375
5376/// Expression is a sub class of the Unity engine since version 2018.3.0f2.
5377#[derive(Debug, Serialize, Deserialize)]
5378pub struct Expression {
5379    pub op: i32,
5380    pub valueIndex: i32,
5381    /// i32: (2018.3.0f2 - 2022.3.2f1)
5382    #[serde(alias = "data[0]")]
5383    pub data_0_: Option<i32>,
5384    /// i32: (2018.3.0f2 - 2022.3.2f1)
5385    #[serde(alias = "data[1]")]
5386    pub data_1_: Option<i32>,
5387    /// i32: (2018.3.0f2 - 2022.3.2f1)
5388    #[serde(alias = "data[2]")]
5389    pub data_2_: Option<i32>,
5390    /// i32: (2018.3.0f2 - 2022.3.2f1)
5391    #[serde(alias = "data[3]")]
5392    pub data_3_: Option<i32>,
5393}
5394
5395/// ExtensionPropertyValue is a sub class of the Unity engine since version 2017.2.0b2.
5396#[derive(Debug, Serialize, Deserialize)]
5397pub struct ExtensionPropertyValue {
5398    pub extensionName: String,
5399    pub pluginName: String,
5400    pub propertyName: String,
5401    pub propertyValue: f32,
5402}
5403
5404/// ExternalForcesModule is a sub class of the Unity engine since version 4.0.0.
5405/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.ExternalForcesModule.html):
5406/**
5407Script interface for the ExternalForcesModule of a Particle System.
5408See Also: ParticleSystem, ParticleSystem.externalForces.
5409*/
5410#[derive(Debug, Serialize, Deserialize)]
5411pub struct ExternalForcesModule {
5412    /**Specifies whether the ExternalForcesModule is enabled or disabled.*/
5413    pub enabled: bool,
5414    /**Apply all Force Fields belonging to a matching Layer to this Particle System.*/
5415    /// i32: (2018.3.0f2 - 2022.3.2f1)
5416    pub influenceFilter: Option<i32>,
5417    /// Vec<PPtr<[`ParticleSystemForceField`]>>: (2018.3.0f2 - 2022.3.2f1)
5418    pub influenceList: Option<Vec<PPtr>>,
5419    /**Particle System Force Field Components with a matching Layer affect this Particle System.*/
5420    /// BitField: (2018.3.0f2 - 2022.3.2f1)
5421    pub influenceMask: Option<BitField>,
5422    /**Multiplies the magnitude of external forces affecting the particles.*/
5423    /// f32: (4.0.0 - 2019.2.0a8)
5424    pub multiplier: Option<f32>,
5425    /**Multiplies the magnitude of applied external forces.*/
5426    /// MinMaxCurve: (2019.1.0f2 - 2022.3.2f1)
5427    pub multiplierCurve: Option<MinMaxCurve>,
5428}
5429
5430/// FalloffTable is a sub class of the Unity engine since version 2017.1.0b1.
5431#[derive(Debug, Serialize, Deserialize)]
5432pub struct FalloffTable {
5433    /// f32: (2017.1.0b1 - 2017.1.0b10)
5434    #[serde(alias = "m_Table[0]")]
5435    pub m_Table_0_: Option<f32>,
5436    /// f32: (2017.1.0b1 - 2017.1.0b10)
5437    #[serde(alias = "m_Table[10]")]
5438    pub m_Table_10_: Option<f32>,
5439    /// f32: (2017.1.0b1 - 2017.1.0b10)
5440    #[serde(alias = "m_Table[11]")]
5441    pub m_Table_11_: Option<f32>,
5442    /// f32: (2017.1.0b1 - 2017.1.0b10)
5443    #[serde(alias = "m_Table[12]")]
5444    pub m_Table_12_: Option<f32>,
5445    /// f32: (2017.1.0b1 - 2017.1.0b10)
5446    #[serde(alias = "m_Table[1]")]
5447    pub m_Table_1_: Option<f32>,
5448    /// f32: (2017.1.0b1 - 2017.1.0b10)
5449    #[serde(alias = "m_Table[2]")]
5450    pub m_Table_2_: Option<f32>,
5451    /// f32: (2017.1.0b1 - 2017.1.0b10)
5452    #[serde(alias = "m_Table[3]")]
5453    pub m_Table_3_: Option<f32>,
5454    /// f32: (2017.1.0b1 - 2017.1.0b10)
5455    #[serde(alias = "m_Table[4]")]
5456    pub m_Table_4_: Option<f32>,
5457    /// f32: (2017.1.0b1 - 2017.1.0b10)
5458    #[serde(alias = "m_Table[5]")]
5459    pub m_Table_5_: Option<f32>,
5460    /// f32: (2017.1.0b1 - 2017.1.0b10)
5461    #[serde(alias = "m_Table[6]")]
5462    pub m_Table_6_: Option<f32>,
5463    /// f32: (2017.1.0b1 - 2017.1.0b10)
5464    #[serde(alias = "m_Table[7]")]
5465    pub m_Table_7_: Option<f32>,
5466    /// f32: (2017.1.0b1 - 2017.1.0b10)
5467    #[serde(alias = "m_Table[8]")]
5468    pub m_Table_8_: Option<f32>,
5469    /// f32: (2017.1.0b1 - 2017.1.0b10)
5470    #[serde(alias = "m_Table[9]")]
5471    pub m_Table_9_: Option<f32>,
5472}
5473
5474/// FastPropertyName is a sub class of the Unity engine since version 3.4.0.
5475#[derive(Debug, Serialize, Deserialize)]
5476pub struct FastPropertyName {
5477    pub name: String,
5478}
5479
5480/// FixedJoint is a  class of the Unity engine since version 3.4.0.
5481/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/FixedJoint.html):
5482/**
5483The Fixed joint groups together 2 rigidbodies, making them stick together in their bound position.
5484See Also: CharacterJoint, HingeJoint, SpringJoint, ConfigurableJoint.
5485*/
5486#[derive(Debug, Serialize, Deserialize)]
5487pub struct FixedJoint {
5488    /**The force that needs to be applied for this joint to break.*/
5489    pub m_BreakForce: f32,
5490    /**The torque that needs to be applied for this joint to break. To be able to break, a joint must be _Locked_ or _Limited_ on the axis of rotation where the torque is being applied. This means that some joints cannot break, such as an unconstrained Configurable Joint.*/
5491    pub m_BreakTorque: f32,
5492    /**A reference to another rigidbody this joint connects to.*/
5493    /// PPtr<[`Rigidbody`]>: (3.4.0 - 2022.3.2f1)
5494    pub m_ConnectedBody: PPtr,
5495    /**The game object this component is attached to. A component is always attached to a game object.*/
5496    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
5497    pub m_GameObject: PPtr,
5498    /**A reference to an articulation body this joint connects to.*/
5499    /// PPtr<[`ArticulationBody`]>: (2020.2.0b1 - 2022.3.2f1)
5500    pub m_ConnectedArticulationBody: Option<PPtr>,
5501    /**The scale to apply to the inverse mass and inertia tensor of the connected body prior to solving the constraints.*/
5502    /// f32: (2017.1.0b2 - 2022.3.2f1)
5503    pub m_ConnectedMassScale: Option<f32>,
5504    /**Enable collision between bodies connected with the joint.*/
5505    /// bool: (4.5.0 - 2022.3.2f1)
5506    pub m_EnableCollision: Option<bool>,
5507    /**Toggle preprocessing for this joint.*/
5508    /// bool: (5.0.0f4 - 2022.3.2f1)
5509    pub m_EnablePreprocessing: Option<bool>,
5510    /// bool: (2017.1.0b2 - 2017.1.0b5)
5511    pub m_Enabled: Option<bool>,
5512    /**The scale to apply to the inverse mass and inertia tensor of the body prior to solving the constraints.*/
5513    /// f32: (2017.1.0b2 - 2022.3.2f1)
5514    pub m_MassScale: Option<f32>,
5515}
5516
5517/// FixedJoint2D is a  class of the Unity engine since version 5.3.0f1.
5518/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/FixedJoint2D.html):
5519/**
5520Connects two Rigidbody2D together at their anchor points using a configurable spring.
5521*/
5522#[derive(Debug, Serialize, Deserialize)]
5523pub struct FixedJoint2D {
5524    /**The joint's anchor point on the object that has the joint component.*/
5525    pub m_Anchor: Vector2f,
5526    /**Should the connectedAnchor be calculated automatically?*/
5527    pub m_AutoConfigureConnectedAnchor: bool,
5528    /**The force that needs to be applied for this joint to break.*/
5529    pub m_BreakForce: f32,
5530    /**The torque that needs to be applied for this joint to break.*/
5531    pub m_BreakTorque: f32,
5532    /**The joint's anchor point on the second object (ie, the one which doesn't have the joint component).*/
5533    pub m_ConnectedAnchor: Vector2f,
5534    /// PPtr<[`Rigidbody2D`]>: (5.3.0f1 - 2022.3.2f1)
5535    pub m_ConnectedRigidBody: PPtr,
5536    /**The amount by which the spring force is reduced in proportion to the movement speed.*/
5537    pub m_DampingRatio: f32,
5538    /**Should the two rigid bodies connected with this joint collide with each other?*/
5539    pub m_EnableCollision: bool,
5540    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
5541    pub m_Enabled: u8,
5542    /**The frequency at which the spring oscillates around the distance between the objects.*/
5543    pub m_Frequency: f32,
5544    /**The game object this component is attached to. A component is always attached to a game object.*/
5545    /// PPtr<[`GameObject`]>: (5.3.0f1 - 2022.3.2f1)
5546    pub m_GameObject: PPtr,
5547    /**The action to take when the joint breaks the breakForce or breakTorque.*/
5548    /// i32: (2022.2.0b1 - 2022.3.2f1)
5549    pub m_BreakAction: Option<i32>,
5550}
5551
5552/// Flare is a  class of the Unity engine since version 3.4.0.
5553/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Flare.html):
5554/**
5555A flare asset. Read more about flares in the components reference.
5556The flare class has no properties. It needs to be setup up in the inspector.
5557
5558You can reference flares and assign them to a Light at runtime.See Also: Flare assets, LensFlare class.
5559*/
5560#[derive(Debug, Serialize, Deserialize)]
5561pub struct Flare {
5562    pub m_Elements: Vec<FlareElement>,
5563    /// PPtr<[`Texture`]>: (3.4.0 - 2022.3.2f1)
5564    pub m_FlareTexture: PPtr,
5565    /**The name of the object.*/
5566    pub m_Name: String,
5567    pub m_TextureLayout: i32,
5568    pub m_UseFog: bool,
5569}
5570
5571/// FlareElement is a sub class of the Unity engine since version 3.4.0.
5572#[derive(Debug, Serialize, Deserialize)]
5573pub struct FlareElement {
5574    pub m_Color: ColorRGBA,
5575    pub m_Fade: bool,
5576    pub m_ImageIndex: u32,
5577    pub m_Position: f32,
5578    pub m_Rotate: bool,
5579    pub m_Size: f32,
5580    pub m_UseLightColor: bool,
5581    pub m_Zoom: bool,
5582}
5583
5584/// FloatCurve is a sub class of the Unity engine since version 3.4.0.
5585#[derive(Debug, Serialize, Deserialize)]
5586pub struct FloatCurve {
5587    pub attribute: String,
5588    pub classID: i32,
5589    pub curve: AnimationCurve,
5590    pub path: String,
5591    /// PPtr<[`MonoScript`]>: (3.4.0 - 2022.3.2f1)
5592    pub script: PPtr,
5593    /// i32: (2022.2.0b1 - 2022.3.2f1)
5594    pub flags: Option<i32>,
5595}
5596
5597/// Font is a  class of the Unity engine since version 3.4.0.
5598/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Font.html):
5599/**
5600Script interface for font assets.
5601You can use this class to dynamically switch fonts on Text Meshes.See Also: TextMesh.
5602*/
5603#[derive(Debug, Serialize, Deserialize)]
5604pub struct Font {
5605    /**The ascent of the font.*/
5606    pub m_Ascent: f32,
5607    pub m_AsciiStartOffset: i32,
5608    pub m_CharacterRects: Vec<CharacterInfo>,
5609    pub m_ConvertCase: i32,
5610    /// PPtr<[`Material`]>: (3.4.0 - 2022.3.2f1)
5611    pub m_DefaultMaterial: PPtr,
5612    pub m_DefaultStyle: u32,
5613    pub m_FontData: Vec<char>,
5614    pub m_FontNames: Vec<String>,
5615    /**The default size of the font.*/
5616    pub m_FontSize: f32,
5617    pub m_KerningValues: Vec<((u16, u16), f32)>,
5618    pub m_LineSpacing: f32,
5619    /**The name of the object.*/
5620    pub m_Name: String,
5621    /// PPtr<[`Texture`]>: (3.4.0 - 2022.3.2f1)
5622    pub m_Texture: PPtr,
5623    /// i32: (4.0.0 - 2022.3.2f1)
5624    pub m_CharacterPadding: Option<i32>,
5625    /// i32: (4.0.0 - 2022.3.2f1)
5626    pub m_CharacterSpacing: Option<i32>,
5627    /// f32: (5.4.0f3 - 2022.3.2f1)
5628    pub m_Descent: Option<f32>,
5629    /// Vec<PPtr<[`Font`]>>: (4.0.0 - 2022.3.2f1)
5630    pub m_FallbackFonts: Option<Vec<PPtr>>,
5631    /// i32: (3.4.0 - 3.5.7)
5632    pub m_FontCountX: Option<i32>,
5633    /// i32: (3.4.0 - 3.5.7)
5634    pub m_FontCountY: Option<i32>,
5635    /// i32: (4.0.0 - 2022.3.2f1)
5636    pub m_FontRenderingMode: Option<i32>,
5637    /// bool: (3.4.0 - 3.5.7)
5638    pub m_GridFont: Option<bool>,
5639    /// f32: (3.4.0 - 5.2.5f1)
5640    pub m_Kerning: Option<f32>,
5641    /// Vec<(i32, f32)>: (3.4.0 - 3.5.7)
5642    pub m_PerCharacterKerning: Option<Vec<(i32, f32)>>,
5643    /// f32: (4.0.0 - 2022.3.2f1)
5644    pub m_PixelScale: Option<f32>,
5645    /// bool: (2018.1.0b2 - 2022.3.2f1)
5646    pub m_ShouldRoundAdvanceValue: Option<bool>,
5647    /// f32: (5.3.0f1 - 2022.3.2f1)
5648    pub m_Tracking: Option<f32>,
5649    /// bool: (5.6.5f1 - 2022.3.2f1)
5650    pub m_UseLegacyBoundsCalculation: Option<bool>,
5651}
5652
5653/// ForceModule is a sub class of the Unity engine since version 3.5.0.
5654#[derive(Debug, Serialize, Deserialize)]
5655pub struct ForceModule {
5656    pub enabled: bool,
5657    pub inWorldSpace: bool,
5658    pub randomizePerFrame: bool,
5659    pub x: MinMaxCurve,
5660    pub y: MinMaxCurve,
5661    pub z: MinMaxCurve,
5662}
5663
5664/// FrictionJoint2D is a  class of the Unity engine since version 5.3.0f1.
5665/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/FrictionJoint2D.html):
5666/**
5667Applies both force and torque to reduce both the linear and angular velocities to zero.
5668The joint constantly tries to reduce both the ::Rigidbody2D::velocity and ::Rigidbody2D::angularVelocity to zero.  Unlike contact friction which requires two colliders to be in contact, force and torque here are applied continuously.You can control both the maximum force using maxForce and maximum torque using maxTorque.  Because you can use very high force or torque limits, you can essentially reduce an objects movement to almost zero.A typical usage for this joint might be to simulate top-down surface friction or to simulate stiff rotation of an object.
5669*/
5670#[derive(Debug, Serialize, Deserialize)]
5671pub struct FrictionJoint2D {
5672    /**The joint's anchor point on the object that has the joint component.*/
5673    pub m_Anchor: Vector2f,
5674    /**Should the connectedAnchor be calculated automatically?*/
5675    pub m_AutoConfigureConnectedAnchor: bool,
5676    /**The force that needs to be applied for this joint to break.*/
5677    pub m_BreakForce: f32,
5678    /**The torque that needs to be applied for this joint to break.*/
5679    pub m_BreakTorque: f32,
5680    /**The joint's anchor point on the second object (ie, the one which doesn't have the joint component).*/
5681    pub m_ConnectedAnchor: Vector2f,
5682    /// PPtr<[`Rigidbody2D`]>: (5.3.0f1 - 2022.3.2f1)
5683    pub m_ConnectedRigidBody: PPtr,
5684    /**Should the two rigid bodies connected with this joint collide with each other?*/
5685    pub m_EnableCollision: bool,
5686    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
5687    pub m_Enabled: u8,
5688    /**The game object this component is attached to. A component is always attached to a game object.*/
5689    /// PPtr<[`GameObject`]>: (5.3.0f1 - 2022.3.2f1)
5690    pub m_GameObject: PPtr,
5691    /**The maximum force that can be generated when trying to maintain the friction joint constraint.*/
5692    pub m_MaxForce: f32,
5693    /**The maximum torque that can be generated when trying to maintain the friction joint constraint.*/
5694    pub m_MaxTorque: f32,
5695    /**The action to take when the joint breaks the breakForce or breakTorque.*/
5696    /// i32: (2022.2.0b1 - 2022.3.2f1)
5697    pub m_BreakAction: Option<i32>,
5698}
5699
5700/// GISettings is a sub class of the Unity engine since version 5.0.0f4.
5701#[derive(Debug, Serialize, Deserialize)]
5702pub struct GISettings {
5703    pub m_AlbedoBoost: f32,
5704    pub m_BounceScale: f32,
5705    pub m_EnableBakedLightmaps: bool,
5706    pub m_EnableRealtimeLightmaps: bool,
5707    pub m_EnvironmentLightingMode: u32,
5708    pub m_IndirectOutputScale: f32,
5709    /// f32: (5.0.0f4 - 2018.2.21f1)
5710    pub m_TemporalCoherenceThreshold: Option<f32>,
5711}
5712
5713/// GLTextureSettings is a sub class of the Unity engine since version 3.4.0.
5714#[derive(Debug, Serialize, Deserialize)]
5715pub struct GLTextureSettings {
5716    pub m_Aniso: i32,
5717    pub m_FilterMode: i32,
5718    pub m_MipBias: f32,
5719    /// i32: (3.4.0 - 5.6.7f1)
5720    pub m_WrapMode: Option<i32>,
5721    /// i32: (2017.1.0b1 - 2022.3.2f1)
5722    pub m_WrapU: Option<i32>,
5723    /// i32: (2017.1.0b1 - 2022.3.2f1)
5724    pub m_WrapV: Option<i32>,
5725    /// i32: (2017.1.0b1 - 2022.3.2f1)
5726    pub m_WrapW: Option<i32>,
5727}
5728
5729/// GUID is a sub class of the Unity engine since version 3.4.0.
5730#[derive(Debug, Serialize, Deserialize)]
5731pub struct GUID {
5732    /// u32: (3.4.0 - 2022.3.2f1)
5733    #[serde(alias = "data[0]")]
5734    pub data_0_: Option<u32>,
5735    /// u32: (3.4.0 - 2022.3.2f1)
5736    #[serde(alias = "data[1]")]
5737    pub data_1_: Option<u32>,
5738    /// u32: (3.4.0 - 2022.3.2f1)
5739    #[serde(alias = "data[2]")]
5740    pub data_2_: Option<u32>,
5741    /// u32: (3.4.0 - 2022.3.2f1)
5742    #[serde(alias = "data[3]")]
5743    pub data_3_: Option<u32>,
5744}
5745
5746/// GUIDSerializer is a  class of the Unity engine since version 3.4.0.
5747#[derive(Debug, Serialize, Deserialize)]
5748pub struct GUIDSerializer {
5749    pub guidToPath: Vec<(GUID, String)>,
5750}
5751
5752/// GUIText is a  class of the Unity engine since version 3.4.0.
5753#[derive(Debug, Serialize, Deserialize)]
5754pub struct GUIText {
5755    pub m_Alignment: i16,
5756    pub m_Anchor: i16,
5757    pub m_Enabled: u8,
5758    /// PPtr<[`Font`]>: (3.4.0 - 2019.3.0a3)
5759    pub m_Font: PPtr,
5760    pub m_FontSize: i32,
5761    pub m_FontStyle: i32,
5762    /// PPtr<[`GameObject`]>: (3.4.0 - 2019.3.0a3)
5763    pub m_GameObject: PPtr,
5764    pub m_LineSpacing: f32,
5765    /// PPtr<[`Material`]>: (3.4.0 - 2019.3.0a3)
5766    pub m_Material: PPtr,
5767    pub m_PixelCorrect: bool,
5768    pub m_PixelOffset: Vector2f,
5769    pub m_TabSize: f32,
5770    pub m_Text: String,
5771    /// ColorRGBA: (4.2.0 - 2019.3.0a3)
5772    pub m_Color: Option<ColorRGBA>,
5773    /// bool: (4.0.0 - 2019.3.0a3)
5774    pub m_RichText: Option<bool>,
5775}
5776
5777/// GUITexture is a  class of the Unity engine since version 3.4.0.
5778#[derive(Debug, Serialize, Deserialize)]
5779pub struct GUITexture {
5780    pub m_BottomBorder: i32,
5781    pub m_Color: ColorRGBA,
5782    pub m_Enabled: u8,
5783    /// PPtr<[`GameObject`]>: (3.4.0 - 2019.3.0a3)
5784    pub m_GameObject: PPtr,
5785    pub m_LeftBorder: i32,
5786    pub m_PixelInset: Rectf,
5787    pub m_RightBorder: i32,
5788    /// PPtr<[`Texture`]>: (3.4.0 - 2019.3.0a3)
5789    pub m_Texture: PPtr,
5790    pub m_TopBorder: i32,
5791}
5792
5793/// GameManager is a  class of the Unity engine since version 3.4.0.
5794#[derive(Debug, Serialize, Deserialize)]
5795pub struct GameManager {}
5796
5797/// GameObject is a  class of the Unity engine since version 3.4.0.
5798/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/GameObject.html):
5799/**
5800Base class for all entities in Unity Scenes.
5801Note: Many variables in the GameObject class have been removed. To access GameObject.renderer in csharp, for example, use GetComponent<Renderer>() instead.      See Also: Component.
5802*/
5803#[derive(Debug, Serialize, Deserialize)]
5804pub struct GameObject {
5805    /// Vec<(i32, PPtr<[`Component`]>)>: (3.4.0 - 5.4.6f3); Vec<ComponentPair>: (5.5.0f3 - 2022.3.2f1)
5806    pub m_Component: Vec<Enum_ComponentPair___i32__PPtr>,
5807    pub m_IsActive: Enum_u8__bool,
5808    /**The layer the GameObject is in.*/
5809    pub m_Layer: u32,
5810    /**The name of the object.*/
5811    pub m_Name: String,
5812    /**The tag of this GameObject.*/
5813    pub m_Tag: u16,
5814}
5815
5816#[derive(Debug, Serialize, Deserialize)]
5817#[serde(untagged)]
5818pub enum Enum_ComponentPair___i32__PPtr {
5819    ComponentPair(ComponentPair),
5820    i32__PPtr((i32, PPtr)),
5821}
5822
5823#[derive(Debug, Serialize, Deserialize)]
5824#[serde(untagged)]
5825pub enum Enum_u8__bool {
5826    u8(u8),
5827    bool(bool),
5828}
5829
5830/// GameObjectRecorder is a  class of the Unity engine since version 2017.1.0b1.
5831/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.GameObjectRecorder.html):
5832/**
5833Records the changing properties of a GameObject as the Scene runs and saves the information into an AnimationClip.
5834This class binds GameObject properties, records their values as they change in the running Scene, and saves the result in an AnimationClip. The recorded GameObject is called root in the class, and you can also bind the properties of any child of root.See the following code example on how this class can be implemented and to set what gets recorded.
5835*/
5836#[derive(Debug, Serialize, Deserialize)]
5837pub struct GameObjectRecorder {
5838    /**The name of the object.*/
5839    pub m_Name: String,
5840}
5841
5842/// GenericBinding is a sub class of the Unity engine since version 4.3.0.
5843#[derive(Debug, Serialize, Deserialize)]
5844pub struct GenericBinding {
5845    pub attribute: u32,
5846    pub customType: u8,
5847    pub isPPtrCurve: u8,
5848    pub path: u32,
5849    /// PPtr<[`Object`]>: (4.3.0 - 2022.3.2f1)
5850    pub script: PPtr,
5851    /// u16: (4.3.0 - 5.5.6f1)
5852    pub classID: Option<u16>,
5853    /// u8: (2022.1.0b1 - 2022.3.2f1)
5854    pub isIntCurve: Option<u8>,
5855    /// u8: (2022.2.0b1 - 2022.3.2f1)
5856    pub isSerializeReferenceCurve: Option<u8>,
5857    /// i32: (5.6.0b1 - 2022.3.2f1)
5858    pub typeID: Option<i32>,
5859}
5860
5861/// GlobalGameManager is a  class of the Unity engine since version 3.4.0.
5862#[derive(Debug, Serialize, Deserialize)]
5863pub struct GlobalGameManager {}
5864
5865/// Google is a sub class of the Unity engine since version 5.6.0b1.
5866#[derive(Debug, Serialize, Deserialize)]
5867pub struct Google {
5868    pub depthFormat: i32,
5869    pub enableTransitionView: bool,
5870}
5871
5872/// Gradient is a sub class of the Unity engine since version 3.4.0.
5873/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Gradient.html):
5874/**
5875Represents a Gradient used for animating colors.
5876Gradients allow animating or interpolating colors by having several "color keys" and "alpha keys". Color keys and alpha keys are separate, and each key has a time specified for it, ranging from 0.0 (0%) to 1.0 (100%). Note that the alpha and colors keys will be automatically sorted by time value and that it is ensured to always have a minimum of 2 color keys and 2 alpha keys.How the colors are interpolated between the keys is controlled by GradientMode.Public Gradient variables used in scripts automatically display the gradient editor in the inspector window. GradientUsageAttribute allows specifying whether the gradient colors should be high dynamic range for editing.
5877See Also: GradientColorKey, GradientAlphaKey, SerializedProperty.gradientValue.
5878*/
5879#[derive(Debug, Serialize, Deserialize)]
5880pub struct Gradient {
5881    /// u16: (5.5.0f3 - 2022.3.2f1)
5882    pub atime0: Option<u16>,
5883    /// u16: (5.5.0f3 - 2022.3.2f1)
5884    pub atime1: Option<u16>,
5885    /// u16: (5.5.0f3 - 2022.3.2f1)
5886    pub atime2: Option<u16>,
5887    /// u16: (5.5.0f3 - 2022.3.2f1)
5888    pub atime3: Option<u16>,
5889    /// u16: (5.5.0f3 - 2022.3.2f1)
5890    pub atime4: Option<u16>,
5891    /// u16: (5.5.0f3 - 2022.3.2f1)
5892    pub atime5: Option<u16>,
5893    /// u16: (5.5.0f3 - 2022.3.2f1)
5894    pub atime6: Option<u16>,
5895    /// u16: (5.5.0f3 - 2022.3.2f1)
5896    pub atime7: Option<u16>,
5897    /// u16: (5.5.0f3 - 2022.3.2f1)
5898    pub ctime0: Option<u16>,
5899    /// u16: (5.5.0f3 - 2022.3.2f1)
5900    pub ctime1: Option<u16>,
5901    /// u16: (5.5.0f3 - 2022.3.2f1)
5902    pub ctime2: Option<u16>,
5903    /// u16: (5.5.0f3 - 2022.3.2f1)
5904    pub ctime3: Option<u16>,
5905    /// u16: (5.5.0f3 - 2022.3.2f1)
5906    pub ctime4: Option<u16>,
5907    /// u16: (5.5.0f3 - 2022.3.2f1)
5908    pub ctime5: Option<u16>,
5909    /// u16: (5.5.0f3 - 2022.3.2f1)
5910    pub ctime6: Option<u16>,
5911    /// u16: (5.5.0f3 - 2022.3.2f1)
5912    pub ctime7: Option<u16>,
5913    /// ColorRGBA: (5.5.0f3 - 2022.3.2f1)
5914    pub key0: Option<ColorRGBA>,
5915    /// ColorRGBA: (5.5.0f3 - 2022.3.2f1)
5916    pub key1: Option<ColorRGBA>,
5917    /// ColorRGBA: (5.5.0f3 - 2022.3.2f1)
5918    pub key2: Option<ColorRGBA>,
5919    /// ColorRGBA: (5.5.0f3 - 2022.3.2f1)
5920    pub key3: Option<ColorRGBA>,
5921    /// ColorRGBA: (5.5.0f3 - 2022.3.2f1)
5922    pub key4: Option<ColorRGBA>,
5923    /// ColorRGBA: (5.5.0f3 - 2022.3.2f1)
5924    pub key5: Option<ColorRGBA>,
5925    /// ColorRGBA: (5.5.0f3 - 2022.3.2f1)
5926    pub key6: Option<ColorRGBA>,
5927    /// ColorRGBA: (5.5.0f3 - 2022.3.2f1)
5928    pub key7: Option<ColorRGBA>,
5929    /**Indicates the color space that the gradient color keys are using.*/
5930    /// i8: (2022.2.0b1 - 2022.3.2f1)
5931    pub m_ColorSpace: Option<i8>,
5932    /// ColorRGBA: (3.4.0 - 5.4.6f3)
5933    #[serde(alias = "m_Color[0]")]
5934    pub m_Color_0_: Option<ColorRGBA>,
5935    /// ColorRGBA: (3.4.0 - 5.4.6f3)
5936    #[serde(alias = "m_Color[1]")]
5937    pub m_Color_1_: Option<ColorRGBA>,
5938    /// ColorRGBA: (3.4.0 - 5.4.6f3)
5939    #[serde(alias = "m_Color[2]")]
5940    pub m_Color_2_: Option<ColorRGBA>,
5941    /// ColorRGBA: (3.4.0 - 5.4.6f3)
5942    #[serde(alias = "m_Color[3]")]
5943    pub m_Color_3_: Option<ColorRGBA>,
5944    /// ColorRGBA: (3.4.0 - 5.4.6f3)
5945    #[serde(alias = "m_Color[4]")]
5946    pub m_Color_4_: Option<ColorRGBA>,
5947    /**Controls how the gradient colors are interpolated.*/
5948    /// i32: (5.5.0f3 - 2022.1.24f1); u8: (2022.2.0b1 - 2022.3.2f1)
5949    pub m_Mode: Option<i32>,
5950    /// u8: (5.5.0f3 - 2022.3.2f1)
5951    pub m_NumAlphaKeys: Option<u8>,
5952    /// u8: (5.5.0f3 - 2022.3.2f1)
5953    pub m_NumColorKeys: Option<u8>,
5954}
5955
5956/// GradientNEW is a sub class of the Unity engine since version 3.5.0.
5957#[derive(Debug, Serialize, Deserialize)]
5958pub struct GradientNEW {
5959    pub atime0: u16,
5960    pub atime1: u16,
5961    pub atime2: u16,
5962    pub atime3: u16,
5963    pub atime4: u16,
5964    pub atime5: u16,
5965    pub atime6: u16,
5966    pub atime7: u16,
5967    pub ctime0: u16,
5968    pub ctime1: u16,
5969    pub ctime2: u16,
5970    pub ctime3: u16,
5971    pub ctime4: u16,
5972    pub ctime5: u16,
5973    pub ctime6: u16,
5974    pub ctime7: u16,
5975    pub key0: ColorRGBA,
5976    pub key1: ColorRGBA,
5977    pub key2: ColorRGBA,
5978    pub key3: ColorRGBA,
5979    pub key4: ColorRGBA,
5980    pub key5: ColorRGBA,
5981    pub key6: ColorRGBA,
5982    pub key7: ColorRGBA,
5983    pub m_NumAlphaKeys: u8,
5984    pub m_NumColorKeys: u8,
5985}
5986
5987/// GraphicsSettings is a  class of the Unity engine since version 4.2.0.
5988/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Rendering.GraphicsSettings.html):
5989/**
5990Script interface for Graphics Settings.
5991*/
5992#[derive(Debug, Serialize, Deserialize)]
5993pub struct GraphicsSettings {
5994    /// Vec<PPtr<[`Shader`]>>: (4.2.0 - 2022.3.2f1)
5995    pub m_AlwaysIncludedShaders: Vec<PPtr>,
5996    /// bool: (2019.3.0b1 - 2020.1.0a7)
5997    pub m_AllowEnlightenSupportForUpgradedProject: Option<bool>,
5998    /// bool: (2020.3.45f1 - 2022.3.2f1)
5999    pub m_CameraRelativeLightCulling: Option<bool>,
6000    /// bool: (2020.3.45f1 - 2022.3.2f1)
6001    pub m_CameraRelativeShadowCulling: Option<bool>,
6002    /// PPtr<[`MonoBehaviour`]>: (5.6.0f1 - 2022.3.2f1)
6003    pub m_CustomRenderPipeline: Option<PPtr>,
6004    /// u32: (2020.2.0b1 - 2022.3.2f1)
6005    pub m_DefaultRenderingLayerMask: Option<u32>,
6006    /// BuiltinShaderSettings: (5.0.0f4 - 2022.3.2f1)
6007    pub m_Deferred: Option<BuiltinShaderSettings>,
6008    /// BuiltinShaderSettings: (5.2.0f2 - 2022.3.2f1)
6009    pub m_DeferredReflections: Option<BuiltinShaderSettings>,
6010    /// BuiltinShaderSettings: (5.4.0f3 - 2022.3.2f1)
6011    pub m_DepthNormals: Option<BuiltinShaderSettings>,
6012    /// BuiltinShaderSettings: (5.0.0f4 - 2022.1.24f1)
6013    pub m_LegacyDeferred: Option<BuiltinShaderSettings>,
6014    /// BuiltinShaderSettings: (5.4.0f3 - 2022.3.2f1)
6015    pub m_LensFlare: Option<BuiltinShaderSettings>,
6016    /// BuiltinShaderSettings: (5.4.0f3 - 2022.3.2f1)
6017    pub m_LightHalo: Option<BuiltinShaderSettings>,
6018    /// i32: (2022.2.0b1 - 2022.3.2f1)
6019    pub m_LightProbeOutsideHullStrategy: Option<i32>,
6020    /// bool: (5.6.0b1 - 5.6.0b9)
6021    pub m_LightsUseCCT: Option<bool>,
6022    /// bool: (5.6.0f1 - 2022.3.2f1)
6023    pub m_LightsUseColorTemperature: Option<bool>,
6024    /// bool: (5.6.0b1 - 2022.3.2f1)
6025    pub m_LightsUseLinearIntensity: Option<bool>,
6026    /// bool: (2018.4.6f1 - 2022.3.2f1)
6027    pub m_LogWhenShaderIsCompiled: Option<bool>,
6028    /// BuiltinShaderSettings: (5.4.0f3 - 2022.3.2f1)
6029    pub m_MotionVectors: Option<BuiltinShaderSettings>,
6030    /// i32: (2021.2.0b1 - 2022.3.2f1)
6031    pub m_PreloadShadersBatchTimeLimit: Option<i32>,
6032    /// Vec<PPtr<[`ShaderVariantCollection`]>>: (5.0.0f4 - 2022.3.2f1)
6033    pub m_PreloadedShaders: Option<Vec<PPtr>>,
6034    /// Vec<(String, PPtr<[`Object`]>)>: (2021.2.0b1 - 2022.3.2f1)
6035    pub m_SRPDefaultSettings: Option<Vec<(String, PPtr)>>,
6036    /// BuiltinShaderSettings: (5.4.0f3 - 2022.3.2f1)
6037    pub m_ScreenSpaceShadows: Option<BuiltinShaderSettings>,
6038    /// Vec<PlatformShaderDefines>: (2017.1.0b2 - 2022.3.2f1)
6039    pub m_ShaderDefinesPerShaderCompiler: Option<Vec<PlatformShaderDefines>>,
6040    /// PlatformShaderSettings: (5.3.0f1 - 5.3.8f2)
6041    pub m_ShaderSettings: Option<PlatformShaderSettings>,
6042    /// PlatformShaderSettings: (5.4.0f3 - 5.4.6f3)
6043    pub m_ShaderSettings_Tier1: Option<PlatformShaderSettings>,
6044    /// PlatformShaderSettings: (5.4.0f3 - 5.4.6f3)
6045    pub m_ShaderSettings_Tier2: Option<PlatformShaderSettings>,
6046    /// PlatformShaderSettings: (5.4.0f3 - 5.4.6f3)
6047    pub m_ShaderSettings_Tier3: Option<PlatformShaderSettings>,
6048    /// PPtr<[`Material`]>: (5.4.0f3 - 2022.3.2f1)
6049    pub m_SpritesDefaultMaterial: Option<PPtr>,
6050    /// TierGraphicsSettings: (5.5.0f3 - 2022.3.2f1)
6051    pub m_TierSettings_Tier1: Option<TierGraphicsSettings>,
6052    /// TierGraphicsSettings: (5.5.0f3 - 2022.3.2f1)
6053    pub m_TierSettings_Tier2: Option<TierGraphicsSettings>,
6054    /// TierGraphicsSettings: (5.5.0f3 - 2022.3.2f1)
6055    pub m_TierSettings_Tier3: Option<TierGraphicsSettings>,
6056    /// Vector3f: (5.6.0b1 - 2022.3.2f1)
6057    pub m_TransparencySortAxis: Option<Vector3f>,
6058    /// i32: (5.6.0b1 - 2022.3.2f1)
6059    pub m_TransparencySortMode: Option<i32>,
6060    /// i32: (2020.1.0b1 - 2022.3.2f1)
6061    pub m_VideoShadersIncludeMode: Option<i32>,
6062}
6063
6064/// Grid is a  class of the Unity engine since version 2017.2.0b2.
6065/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Grid.html):
6066/**
6067Grid is the base class for plotting a layout of uniformly spaced points and lines.
6068The Grid component stores dimensional data of the layout of the grid and provides helper functions to retrieve information about the grid, such as the conversion between the cell location and local space location of items within the grid.The layout of the Grid component is in the XY plane with the origin of the grid always beginning at (0, 0) and the X and Y coordinates of the grid only as positive values.Implements the interface GridLayout.
6069*/
6070#[derive(Debug, Serialize, Deserialize)]
6071pub struct Grid {
6072    /**The size of the gap between each cell in the layout.*/
6073    pub m_CellGap: Vector3f,
6074    /**The layout of the cells.*/
6075    pub m_CellLayout: i32,
6076    /**The size of each cell in the layout.*/
6077    pub m_CellSize: Vector3f,
6078    /**The cell swizzle for the layout.*/
6079    pub m_CellSwizzle: i32,
6080    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
6081    pub m_Enabled: u8,
6082    /**The game object this component is attached to. A component is always attached to a game object.*/
6083    /// PPtr<[`GameObject`]>: (2017.2.0b2 - 2022.3.2f1)
6084    pub m_GameObject: PPtr,
6085}
6086
6087/// GroupConnection is a sub class of the Unity engine since version 2021.2.0b1.
6088#[derive(Debug, Serialize, Deserialize)]
6089pub struct GroupConnection {
6090    pub sendEffectIndex: u32,
6091    pub sourceGroupIndex: u32,
6092    pub targetGroupIndex: u32,
6093}
6094
6095/// GroupConstant is a sub class of the Unity engine since version 5.0.0f4.
6096#[derive(Debug, Serialize, Deserialize)]
6097pub struct GroupConstant {
6098    pub bypassEffects: bool,
6099    pub mute: bool,
6100    pub parentConstantIndex: i32,
6101    pub pitchIndex: u32,
6102    pub solo: bool,
6103    pub volumeIndex: u32,
6104    /// u32: (2019.1.0b1 - 2022.1.0a9)
6105    pub sendIndex: Option<u32>,
6106}
6107
6108/// Halo is a  class of the Unity engine since version 3.4.0.
6109#[derive(Debug, Serialize, Deserialize)]
6110pub struct Halo {
6111    pub m_Color: ColorRGBA,
6112    pub m_Enabled: u8,
6113    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
6114    pub m_GameObject: PPtr,
6115    pub m_Size: f32,
6116}
6117
6118/// HandPose is a sub class of the Unity engine since version 4.0.0.
6119#[derive(Debug, Serialize, Deserialize)]
6120pub struct HandPose {
6121    pub m_CloseOpen: f32,
6122    pub m_DoFArray: Vec<f32>,
6123    pub m_Grab: f32,
6124    pub m_GrabX: xform,
6125    pub m_InOut: f32,
6126    pub m_Override: f32,
6127}
6128
6129/// Hash128 is a sub class of the Unity engine since version 4.1.0.
6130/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Hash128.html):
6131/**
6132Represents  a 128-bit hash value.
6133Use Hash128 to uniquely identify a piece of data. A 128-bit hash value has an extremely
6134low probability of hash collisions, so you can assume that if the hash values of two pieces of data are identical,
6135then the data is identical too. For example, to quickly determine whether texture pixel contents have changed, or
6136if they are identical between several textures, you can use Texture.imageContentsHash.To compute the hash values for some data, use the Hash128.Compute function. To compute the hash
6137values incrementally for several pieces of data, use Hash128.Append.
6138The hash algorithm used to compute Hash128 values is SpookyHash V2. Note that while this hash algorithm is quite fast to compute and has good hash distribution qualities, it is not a cryptographic hash function.
6139*/
6140#[derive(Debug, Serialize, Deserialize)]
6141pub struct Hash128 {
6142    /// u8: (4.1.0 - 2022.3.2f1)
6143    #[serde(alias = "bytes[0]")]
6144    pub bytes_0_: Option<u8>,
6145    /// u8: (4.1.0 - 2022.3.2f1)
6146    #[serde(alias = "bytes[10]")]
6147    pub bytes_10_: Option<u8>,
6148    /// u8: (4.1.0 - 2022.3.2f1)
6149    #[serde(alias = "bytes[11]")]
6150    pub bytes_11_: Option<u8>,
6151    /// u8: (4.1.0 - 2022.3.2f1)
6152    #[serde(alias = "bytes[12]")]
6153    pub bytes_12_: Option<u8>,
6154    /// u8: (4.1.0 - 2022.3.2f1)
6155    #[serde(alias = "bytes[13]")]
6156    pub bytes_13_: Option<u8>,
6157    /// u8: (4.1.0 - 2022.3.2f1)
6158    #[serde(alias = "bytes[14]")]
6159    pub bytes_14_: Option<u8>,
6160    /// u8: (4.1.0 - 2022.3.2f1)
6161    #[serde(alias = "bytes[15]")]
6162    pub bytes_15_: Option<u8>,
6163    /// u8: (4.1.0 - 2022.3.2f1)
6164    #[serde(alias = "bytes[1]")]
6165    pub bytes_1_: Option<u8>,
6166    /// u8: (4.1.0 - 2022.3.2f1)
6167    #[serde(alias = "bytes[2]")]
6168    pub bytes_2_: Option<u8>,
6169    /// u8: (4.1.0 - 2022.3.2f1)
6170    #[serde(alias = "bytes[3]")]
6171    pub bytes_3_: Option<u8>,
6172    /// u8: (4.1.0 - 2022.3.2f1)
6173    #[serde(alias = "bytes[4]")]
6174    pub bytes_4_: Option<u8>,
6175    /// u8: (4.1.0 - 2022.3.2f1)
6176    #[serde(alias = "bytes[5]")]
6177    pub bytes_5_: Option<u8>,
6178    /// u8: (4.1.0 - 2022.3.2f1)
6179    #[serde(alias = "bytes[6]")]
6180    pub bytes_6_: Option<u8>,
6181    /// u8: (4.1.0 - 2022.3.2f1)
6182    #[serde(alias = "bytes[7]")]
6183    pub bytes_7_: Option<u8>,
6184    /// u8: (4.1.0 - 2022.3.2f1)
6185    #[serde(alias = "bytes[8]")]
6186    pub bytes_8_: Option<u8>,
6187    /// u8: (4.1.0 - 2022.3.2f1)
6188    #[serde(alias = "bytes[9]")]
6189    pub bytes_9_: Option<u8>,
6190}
6191
6192/// HeightMeshBVNode is a sub class of the Unity engine since version 5.0.0f4.
6193#[derive(Debug, Serialize, Deserialize)]
6194pub struct HeightMeshBVNode {
6195    pub i: i32,
6196    pub max: Vector3f,
6197    pub min: Vector3f,
6198    pub n: i32,
6199}
6200
6201/// HeightMeshData is a sub class of the Unity engine since version 5.0.0f4.
6202#[derive(Debug, Serialize, Deserialize)]
6203pub struct HeightMeshData {
6204    pub m_Bounds: AABB,
6205    pub m_Indices: Vec<i32>,
6206    pub m_Nodes: Vec<HeightMeshBVNode>,
6207    pub m_Vertices: Vec<Vector3f>,
6208}
6209
6210/// Heightmap is a sub class of the Unity engine since version 3.4.0.
6211#[derive(Debug, Serialize, Deserialize)]
6212pub struct Heightmap {
6213    pub m_Heights: Vec<i16>,
6214    pub m_Levels: i32,
6215    pub m_MinMaxPatchHeights: Vec<f32>,
6216    pub m_PrecomputedError: Vec<f32>,
6217    pub m_Scale: Vector3f,
6218    /// PPtr<[`PhysicMaterial`]>: (3.4.0 - 4.7.2)
6219    pub m_DefaultPhysicMaterial: Option<PPtr>,
6220    /// bool: (2019.3.0b1 - 2022.3.2f1)
6221    pub m_EnableHolesTextureCompression: Option<bool>,
6222    /// bool: (2019.3.0a5 - 2019.3.0a7)
6223    pub m_EnableSurfaceMaskTextureCompression: Option<bool>,
6224    /// i32: (3.4.0 - 2019.3.0a4)
6225    pub m_Height: Option<i32>,
6226    /// Vec<u8>: (2019.3.0b1 - 2022.3.2f1)
6227    pub m_Holes: Option<Vec<u8>>,
6228    /// Vec<u8>: (2019.3.0b1 - 2022.3.2f1)
6229    pub m_HolesLOD: Option<Vec<u8>>,
6230    /// i32: (2019.3.0b1 - 2022.3.2f1)
6231    pub m_Resolution: Option<i32>,
6232    /// Vec<u8>: (2019.3.0a5 - 2019.3.0a7)
6233    pub m_SurfaceMask: Option<Vec<u8>>,
6234    /// Vec<u8>: (2019.3.0a5 - 2019.3.0a7)
6235    pub m_SurfaceMaskLOD: Option<Vec<u8>>,
6236    /// f32: (5.0.0f4 - 2019.3.0a8)
6237    pub m_Thickness: Option<f32>,
6238    /// i32: (3.4.0 - 2019.3.0a4)
6239    pub m_Width: Option<i32>,
6240}
6241
6242/// HeightmapData is a sub class of the Unity engine since version 3.5.0.
6243#[derive(Debug, Serialize, Deserialize)]
6244pub struct HeightmapData {
6245    /// PPtr<[`Object`]>: (3.5.0 - 2022.3.2f1)
6246    pub terrainData: PPtr,
6247    /// bool: (2022.2.0b1 - 2022.3.2f1)
6248    pub isRotated: Option<bool>,
6249    /// Vector3f: (3.5.0 - 2022.1.24f1)
6250    pub position: Option<Vector3f>,
6251    /// Matrix4x4f: (2022.2.0b1 - 2022.3.2f1)
6252    pub surfaceToTerrain: Option<Matrix4x4f>,
6253}
6254
6255/// HierarchicalSceneData is a sub class of the Unity engine since version 2019.3.0b1.
6256#[derive(Debug, Serialize, Deserialize)]
6257pub struct HierarchicalSceneData {
6258    pub m_SceneGUID: GUID,
6259}
6260
6261/// HierarchyState is a  class of the Unity engine since version 3.4.0.
6262#[derive(Debug, Serialize, Deserialize)]
6263pub struct HierarchyState {
6264    /// Vec<PPtr<[`Object`]>>: (3.4.0 - 2022.3.2f1)
6265    pub expanded: Vec<PPtr>,
6266    /// Vec<PPtr<[`Object`]>>: (3.4.0 - 2022.3.2f1)
6267    pub selection: Vec<PPtr>,
6268    /// f32: (3.4.0 - 2022.3.2f1)
6269    #[serde(alias = "scrollposition.x")]
6270    pub scrollposition_x: Option<f32>,
6271    /// f32: (3.4.0 - 2022.3.2f1)
6272    #[serde(alias = "scrollposition.y")]
6273    pub scrollposition_y: Option<f32>,
6274}
6275
6276/// HingeJoint is a  class of the Unity engine since version 3.4.0.
6277/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/HingeJoint.html):
6278/**
6279The HingeJoint groups together 2 rigid bodies, constraining them to move like connected by a hinge.
6280This joint is great for, well, doors, but can also be used to model chains, etc...The HingeJoint has a motor which can be used to make the hinge spin around the joints axis.
6281
6282A spring which attempts to reach for a target angle by spinning around the joints axis.
6283
6284And a limit which constrains the joint angle.
6285*/
6286#[derive(Debug, Serialize, Deserialize)]
6287pub struct HingeJoint {
6288    /**The Position of the anchor around which the joints motion is constrained.*/
6289    pub m_Anchor: Vector3f,
6290    /**The Direction of the axis around which the body is constrained.*/
6291    pub m_Axis: Vector3f,
6292    /**The force that needs to be applied for this joint to break.*/
6293    pub m_BreakForce: f32,
6294    /**The torque that needs to be applied for this joint to break. To be able to break, a joint must be _Locked_ or _Limited_ on the axis of rotation where the torque is being applied. This means that some joints cannot break, such as an unconstrained Configurable Joint.*/
6295    pub m_BreakTorque: f32,
6296    /**A reference to another rigidbody this joint connects to.*/
6297    /// PPtr<[`Rigidbody`]>: (3.4.0 - 2022.3.2f1)
6298    pub m_ConnectedBody: PPtr,
6299    /**The game object this component is attached to. A component is always attached to a game object.*/
6300    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
6301    pub m_GameObject: PPtr,
6302    /**Limit of angular rotation (in degrees) on the hinge joint.*/
6303    pub m_Limits: JointLimits,
6304    /**The motor will apply a force up to a maximum force to achieve the target velocity in degrees per second.*/
6305    pub m_Motor: JointMotor,
6306    /**The spring attempts to reach a target angle by adding spring and damping forces.*/
6307    pub m_Spring: JointSpring,
6308    /**Enables the joint's limits. Disabled by default.*/
6309    pub m_UseLimits: bool,
6310    /**Enables the joint's motor. Disabled by default.*/
6311    pub m_UseMotor: bool,
6312    /**Enables the joint's spring. Disabled by default.*/
6313    pub m_UseSpring: bool,
6314    /**Should the connectedAnchor be calculated automatically?*/
6315    /// bool: (4.3.0 - 2022.3.2f1)
6316    pub m_AutoConfigureConnectedAnchor: Option<bool>,
6317    /**Position of the anchor relative to the connected Rigidbody.*/
6318    /// Vector3f: (4.3.0 - 2022.3.2f1)
6319    pub m_ConnectedAnchor: Option<Vector3f>,
6320    /**A reference to an articulation body this joint connects to.*/
6321    /// PPtr<[`ArticulationBody`]>: (2020.2.0b1 - 2022.3.2f1)
6322    pub m_ConnectedArticulationBody: Option<PPtr>,
6323    /**The scale to apply to the inverse mass and inertia tensor of the connected body prior to solving the constraints.*/
6324    /// f32: (2017.1.0b2 - 2022.3.2f1)
6325    pub m_ConnectedMassScale: Option<f32>,
6326    /**Enable collision between bodies connected with the joint.*/
6327    /// bool: (4.5.0 - 2022.3.2f1)
6328    pub m_EnableCollision: Option<bool>,
6329    /**Toggle preprocessing for this joint.*/
6330    /// bool: (5.0.0f4 - 2022.3.2f1)
6331    pub m_EnablePreprocessing: Option<bool>,
6332    /// bool: (2017.1.0b2 - 2017.1.0b5)
6333    pub m_Enabled: Option<bool>,
6334    /**If enabled, the angle of the hinge is extended to [-360, 360] degrees.*/
6335    /// bool: (2022.2.0b1 - 2022.3.2f1)
6336    pub m_ExtendedLimits: Option<bool>,
6337    /**The scale to apply to the inverse mass and inertia tensor of the body prior to solving the constraints.*/
6338    /// f32: (2017.1.0b2 - 2022.3.2f1)
6339    pub m_MassScale: Option<f32>,
6340    /**Defines whether the HingeJoint.spring outputs accelerations instead of forces.*/
6341    /// bool: (2022.2.0b1 - 2022.3.2f1)
6342    pub m_UseAcceleration: Option<bool>,
6343}
6344
6345/// HingeJoint2D is a  class of the Unity engine since version 4.3.0.
6346/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/HingeJoint2D.html):
6347/**
6348Joint that allows a Rigidbody2D object to rotate around a point in space or a point on another object.
6349See Also: DistanceJoint2D, SliderJoint2D, SpringJoint2D, JointAngleLimits2D.
6350*/
6351#[derive(Debug, Serialize, Deserialize)]
6352pub struct HingeJoint2D {
6353    /**The joint's anchor point on the object that has the joint component.*/
6354    pub m_Anchor: Vector2f,
6355    pub m_AngleLimits: Enum_JointAngleLimit2D__JointAngleLimits2D,
6356    /**The joint's anchor point on the second object (ie, the one which doesn't have the joint component).*/
6357    pub m_ConnectedAnchor: Vector2f,
6358    /// PPtr<[`Rigidbody2D`]>: (4.3.0 - 2022.3.2f1)
6359    pub m_ConnectedRigidBody: PPtr,
6360    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
6361    pub m_Enabled: u8,
6362    /**The game object this component is attached to. A component is always attached to a game object.*/
6363    /// PPtr<[`GameObject`]>: (4.3.0 - 2022.3.2f1)
6364    pub m_GameObject: PPtr,
6365    /**Parameters for the motor force applied to the joint.*/
6366    pub m_Motor: JointMotor2D,
6367    /**Should limits be placed on the range of rotation?*/
6368    pub m_UseLimits: bool,
6369    /**Should the joint be rotated automatically by a motor torque?*/
6370    pub m_UseMotor: bool,
6371    /**Should the connectedAnchor be calculated automatically?*/
6372    /// bool: (5.3.0f1 - 2022.3.2f1)
6373    pub m_AutoConfigureConnectedAnchor: Option<bool>,
6374    /**The action to take when the joint breaks the breakForce or breakTorque.*/
6375    /// i32: (2022.2.0b1 - 2022.3.2f1)
6376    pub m_BreakAction: Option<i32>,
6377    /**The force that needs to be applied for this joint to break.*/
6378    /// f32: (5.3.0f1 - 2022.3.2f1)
6379    pub m_BreakForce: Option<f32>,
6380    /**The torque that needs to be applied for this joint to break.*/
6381    /// f32: (5.3.0f1 - 2022.3.2f1)
6382    pub m_BreakTorque: Option<f32>,
6383    /// bool: (4.3.0 - 5.0.0f4)
6384    pub m_CollideConnected: Option<bool>,
6385    /**Should the two rigid bodies connected with this joint collide with each other?*/
6386    /// bool: (5.0.1f1 - 2022.3.2f1)
6387    pub m_EnableCollision: Option<bool>,
6388}
6389
6390#[derive(Debug, Serialize, Deserialize)]
6391#[serde(untagged)]
6392pub enum Enum_JointAngleLimit2D__JointAngleLimits2D {
6393    JointAngleLimit2D(JointAngleLimit2D),
6394    JointAngleLimits2D(JointAngleLimits2D),
6395}
6396
6397/// HoloLens is a sub class of the Unity engine since version 5.6.0f1.
6398#[derive(Debug, Serialize, Deserialize)]
6399pub struct HoloLens {
6400    pub depthFormat: i32,
6401    /// bool: (2017.3.0f3 - 2020.2.0a15)
6402    pub depthBufferSharingEnabled: Option<bool>,
6403}
6404
6405/// HumanBone is a sub class of the Unity engine since version 4.0.0.
6406/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/HumanBone.html):
6407/**
6408The mapping between a bone in the model and the conceptual bone in the Mecanim human anatomy.
6409The names of the Mecanim human bone and the bone in the model are stored along with the limiting muscle values that constrain the bone's rotation during animation.
6410See Also: HumanDescription, AvatarBuilder.
6411*/
6412#[derive(Debug, Serialize, Deserialize)]
6413pub struct HumanBone {
6414    /**The name of the bone to which the Mecanim human bone is mapped.*/
6415    pub m_BoneName: String,
6416    /**The name of the Mecanim human bone to which the bone from the model is mapped.*/
6417    pub m_HumanName: String,
6418    /**The rotation limits that define the muscle for this bone.*/
6419    pub m_Limit: SkeletonBoneLimit,
6420}
6421
6422/// HumanDescription is a sub class of the Unity engine since version 4.0.0.
6423/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/HumanDescription.html):
6424/**
6425Class that holds humanoid avatar parameters to pass to the AvatarBuilder.BuildHumanAvatar function.
6426*/
6427#[derive(Debug, Serialize, Deserialize)]
6428pub struct HumanDescription {
6429    /**Amount by which the arm's length is allowed to stretch when using IK.*/
6430    pub m_ArmStretch: f32,
6431    pub m_ArmTwist: f32,
6432    /**Modification to the minimum distance between the feet of a humanoid model.*/
6433    pub m_FeetSpacing: f32,
6434    pub m_ForeArmTwist: f32,
6435    /**Mapping between Mecanim bone names and bone names in the rig.*/
6436    pub m_Human: Vec<HumanBone>,
6437    /**Amount by which the leg's length is allowed to stretch when using IK.*/
6438    pub m_LegStretch: f32,
6439    pub m_LegTwist: f32,
6440    pub m_RootMotionBoneName: String,
6441    /**List of bone Transforms to include in the model.*/
6442    pub m_Skeleton: Vec<SkeletonBone>,
6443    /**Defines how the upper leg's roll/twisting is distributed between the thigh and knee joints.*/
6444    pub m_UpperLegTwist: f32,
6445    /// f32: (2019.1.0b1 - 2022.3.2f1)
6446    pub m_GlobalScale: Option<f32>,
6447    /// Vec<HumanHandle>: (4.0.0 - 4.2.2)
6448    pub m_Handles: Option<Vec<HumanHandle>>,
6449    /// bool: (5.5.0f3 - 2022.3.2f1)
6450    pub m_HasExtraRoot: Option<bool>,
6451    /**True for any human that has a translation Degree of Freedom (DoF). It is set to false by default.*/
6452    /// bool: (5.2.0f2 - 2022.3.2f1)
6453    pub m_HasTranslationDoF: Option<bool>,
6454    /// Quaternionf: (5.5.0f3 - 2018.2.12f1)
6455    pub m_RootMotionBoneRotation: Option<Quaternionf>,
6456    /// bool: (5.5.0f3 - 2022.3.2f1)
6457    pub m_SkeletonHasParents: Option<bool>,
6458}
6459
6460/// HumanGoal is a sub class of the Unity engine since version 4.0.0.
6461#[derive(Debug, Serialize, Deserialize)]
6462pub struct HumanGoal {
6463    pub m_WeightR: f32,
6464    pub m_WeightT: f32,
6465    pub m_X: xform,
6466    /// float4: (5.0.0f4 - 5.3.8f2); float3: (5.4.0f3 - 2022.3.2f1)
6467    pub m_HintT: Option<Enum_float4__float3>,
6468    /// f32: (5.0.0f4 - 2022.3.2f1)
6469    pub m_HintWeightT: Option<f32>,
6470}
6471
6472/// HumanHandle is a sub class of the Unity engine since version 4.0.0.
6473#[derive(Debug, Serialize, Deserialize)]
6474pub struct HumanHandle {
6475    pub m_BoneName: String,
6476    pub m_LookAt: bool,
6477    pub m_Name: String,
6478    pub m_Position: Vector3f,
6479    pub m_Rotation: Quaternionf,
6480    pub m_Scale: Vector3f,
6481}
6482
6483/// HumanPose is a sub class of the Unity engine since version 4.0.0.
6484/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/HumanPose.html):
6485/**
6486Retargetable humanoid pose.
6487Represents a humanoid pose that is completely abstracted from any skeleton rig.
6488See Also: HumanPoseHandler.
6489*/
6490#[derive(Debug, Serialize, Deserialize)]
6491pub struct HumanPose {
6492    pub m_DoFArray: Vec<f32>,
6493    pub m_GoalArray: Vec<HumanGoal>,
6494    pub m_LeftHandPose: HandPose,
6495    pub m_LookAtPosition: Enum_float4__float3,
6496    pub m_LookAtWeight: float4,
6497    pub m_RightHandPose: HandPose,
6498    pub m_RootX: xform,
6499    /// Vec<float4>: (5.2.0f2 - 5.3.8f2); Vec<float3>: (5.4.0f3 - 2022.3.2f1)
6500    pub m_TDoFArray: Option<Vec<Enum_float3__float4>>,
6501}
6502
6503#[derive(Debug, Serialize, Deserialize)]
6504#[serde(untagged)]
6505pub enum Enum_float3__float4 {
6506    float3(float3),
6507    float4(float4),
6508}
6509
6510/// HumanTemplate is a  class of the Unity engine since version 4.0.0.
6511#[derive(Debug, Serialize, Deserialize)]
6512pub struct HumanTemplate {
6513    pub m_BoneTemplate: Vec<(String, String)>,
6514    pub m_Name: String,
6515}
6516
6517/// IHVImageFormatImporter is a  class of the Unity engine since version 5.6.0b1.
6518/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/IHVImageFormatImporter.html):
6519/**
6520Use IHVImageFormatImporter to modify Texture2D import settings for Textures in IHV (Independent Hardware Vendor) formats such as .DDS and .PVR from Editor scripts.
6521*/
6522#[derive(Debug, Serialize, Deserialize)]
6523pub struct IHVImageFormatImporter {
6524    /**Get or set the AssetBundle name.*/
6525    pub m_AssetBundleName: String,
6526    /**Get or set the AssetBundle variant.*/
6527    pub m_AssetBundleVariant: String,
6528    /**Is texture data readable from scripts.*/
6529    pub m_IsReadable: bool,
6530    /**The name of the object.*/
6531    pub m_Name: String,
6532    pub m_TextureSettings: GLTextureSettings,
6533    /**Get or set any user data.*/
6534    pub m_UserData: String,
6535    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
6536    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
6537    /**Enable if the texture should ignore any texture mipmap limit settings set in the Project Settings.*/
6538    /// bool: (2022.2.0f1 - 2022.3.2f1)
6539    pub m_IgnoreMipmapLimit: Option<bool>,
6540    /**Name of the texture mipmap limit group to which this texture belongs.*/
6541    /// String: (2022.2.0f1 - 2022.3.2f1)
6542    pub m_MipmapLimitGroupName: Option<String>,
6543    /**Enable mipmap streaming for this texture.*/
6544    /// bool: (2018.2.0b1 - 2022.3.2f1)
6545    pub m_StreamingMipmaps: Option<bool>,
6546    /**Relative priority for this texture when reducing memory size in order to hit the memory budget.*/
6547    /// i32: (2018.2.0b1 - 2022.3.2f1)
6548    pub m_StreamingMipmapsPriority: Option<i32>,
6549    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
6550    pub m_UsedFileIDs: Option<Vec<i64>>,
6551    /// bool: (2017.3.0b1 - 2022.3.2f1)
6552    pub m_sRGBTexture: Option<bool>,
6553}
6554
6555/// Image is a sub class of the Unity engine since version 3.4.0.
6556/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/UIElements.Image.html):
6557/**
6558A VisualElement representing a source texture.
6559*/
6560#[derive(Debug, Serialize, Deserialize)]
6561pub struct Image {
6562    pub m_Format: i64,
6563    pub m_Height: i32,
6564    pub m_RowBytes: i32,
6565    pub m_Width: i32,
6566    /// Vec<u8>: (3.4.0 - 2020.1.17f1)
6567    #[serde(alias = "image data")]
6568    pub image_data: Option<Vec<u8>>,
6569}
6570
6571/// ImportLog is a  class of the Unity engine since version 2022.2.0b1.
6572/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AssetImporters.ImportLog.html):
6573/**
6574Container class that holds the collection of logs generated by an importer during the import process.
6575See Also: AssetImportContext.LogImportError, AssetImportContext.LogImportWarning.
6576*/
6577#[derive(Debug, Serialize, Deserialize)]
6578pub struct ImportLog {
6579    pub m_Logs: Vec<ImportLog_ImportLogEntry>,
6580    /**The name of the object.*/
6581    pub m_Name: String,
6582}
6583
6584/// ImportLog_ImportLogEntry is a sub class of the Unity engine since version 2022.2.0b1.
6585#[derive(Debug, Serialize, Deserialize)]
6586pub struct ImportLog_ImportLogEntry {
6587    pub file: String,
6588    pub line: i32,
6589    pub message: String,
6590    pub mode: i32,
6591    /// PPtr<[`Object`]>: (2022.2.0b1 - 2022.3.2f1)
6592    pub object: PPtr,
6593}
6594
6595/// InheritVelocityModule is a sub class of the Unity engine since version 5.3.0f1.
6596/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.InheritVelocityModule.html):
6597/**
6598The Inherit Velocity Module controls how the velocity of the emitter is transferred to the particles as they are emitted.
6599NOTE: The inherit velocity module only has an effect if the Particle System is set to simulate in world space. If the system is simulating in local space, this module is ignored.
6600
6601See Also: ParticleSystem, ParticleSystem.inheritVelocity.
6602*/
6603#[derive(Debug, Serialize, Deserialize)]
6604pub struct InheritVelocityModule {
6605    /**Specifies whether the InheritVelocityModule is enabled or disabled.*/
6606    pub enabled: bool,
6607    /**Curve to define how much of the emitter velocity the system applies during the lifetime of a particle.*/
6608    pub m_Curve: MinMaxCurve,
6609    /**Specifies how to apply emitter velocity to particles.*/
6610    pub m_Mode: i32,
6611}
6612
6613/// InitialModule is a sub class of the Unity engine since version 3.5.0.
6614#[derive(Debug, Serialize, Deserialize)]
6615pub struct InitialModule {
6616    pub enabled: bool,
6617    pub gravityModifier: Enum_f32__MinMaxCurve,
6618    pub maxNumParticles: i32,
6619    pub startColor: MinMaxGradient,
6620    pub startLifetime: MinMaxCurve,
6621    pub startRotation: MinMaxCurve,
6622    pub startSize: MinMaxCurve,
6623    pub startSpeed: MinMaxCurve,
6624    /// Vector3f: (2021.1.0b1 - 2022.3.2f1)
6625    pub customEmitterVelocity: Option<Vector3f>,
6626    /// i32: (2022.1.0b1 - 2022.3.2f1)
6627    pub gravitySource: Option<i32>,
6628    /// f32: (3.5.0 - 5.2.5f1)
6629    pub inheritVelocity: Option<f32>,
6630    /// f32: (5.3.0f1 - 2022.3.2f1)
6631    pub randomizeRotationDirection: Option<f32>,
6632    /// bool: (5.3.0f1 - 2022.3.2f1)
6633    pub rotation3D: Option<bool>,
6634    /// bool: (5.4.0f3 - 2022.3.2f1)
6635    pub size3D: Option<bool>,
6636    /// MinMaxCurve: (5.3.0f1 - 2022.3.2f1)
6637    pub startRotationX: Option<MinMaxCurve>,
6638    /// MinMaxCurve: (5.3.0f1 - 2022.3.2f1)
6639    pub startRotationY: Option<MinMaxCurve>,
6640    /// MinMaxCurve: (5.4.0f3 - 2022.3.2f1)
6641    pub startSizeY: Option<MinMaxCurve>,
6642    /// MinMaxCurve: (5.4.0f3 - 2022.3.2f1)
6643    pub startSizeZ: Option<MinMaxCurve>,
6644}
6645
6646#[derive(Debug, Serialize, Deserialize)]
6647#[serde(untagged)]
6648pub enum Enum_f32__MinMaxCurve {
6649    f32(f32),
6650    MinMaxCurve(MinMaxCurve),
6651}
6652
6653/// InputAxis is a sub class of the Unity engine since version 3.4.0.
6654#[derive(Debug, Serialize, Deserialize)]
6655pub struct InputAxis {
6656    pub altNegativeButton: String,
6657    pub altPositiveButton: String,
6658    pub axis: i32,
6659    pub dead: f32,
6660    pub descriptiveName: String,
6661    pub descriptiveNegativeName: String,
6662    pub gravity: f32,
6663    pub invert: bool,
6664    pub joyNum: i32,
6665    pub m_Name: String,
6666    pub negativeButton: String,
6667    pub positiveButton: String,
6668    pub sensitivity: f32,
6669    pub snap: bool,
6670    /// i32: (3.4.0 - 2022.3.2f1)
6671    #[serde(alias = "type")]
6672    pub _type: Option<i32>,
6673}
6674
6675/// InputImportSettings is a sub class of the Unity engine since version 3.4.0.
6676#[derive(Debug, Serialize, Deserialize)]
6677pub struct InputImportSettings {
6678    pub name: String,
6679    pub value: SubstanceValue,
6680}
6681
6682/// InputManager is a  class of the Unity engine since version 3.4.0.
6683#[derive(Debug, Serialize, Deserialize)]
6684pub struct InputManager {
6685    pub m_Axes: Vec<InputAxis>,
6686    /// bool: (2021.2.0b1 - 2022.3.2f1)
6687    pub m_UsePhysicalKeys: Option<bool>,
6688}
6689
6690/// InspectorExpandedState is a  class of the Unity engine since version 3.4.0.
6691#[derive(Debug, Serialize, Deserialize)]
6692pub struct InspectorExpandedState {
6693    pub m_ExpandedData: Vec<ExpandedData>,
6694}
6695
6696/// IntPoint is a sub class of the Unity engine since version 5.6.0b1.
6697#[derive(Debug, Serialize, Deserialize)]
6698pub struct IntPoint {
6699    pub X: i64,
6700    pub Y: i64,
6701}
6702
6703/// InteractiveCloth is a  class of the Unity engine since version 3.4.0.
6704#[derive(Debug, Serialize, Deserialize)]
6705pub struct InteractiveCloth {
6706    pub m_AttachedColliders: Vec<ClothAttachment>,
6707    pub m_AttachmentResponse: f32,
6708    pub m_AttachmentTearFactor: f32,
6709    pub m_BendingStiffness: f32,
6710    pub m_CollisionResponse: f32,
6711    pub m_Damping: f32,
6712    pub m_Density: f32,
6713    pub m_Enabled: u8,
6714    pub m_ExternalAcceleration: Vector3f,
6715    pub m_Friction: f32,
6716    /// PPtr<[`GameObject`]>: (3.4.0 - 4.7.2)
6717    pub m_GameObject: PPtr,
6718    /// PPtr<[`Mesh`]>: (3.4.0 - 4.7.2)
6719    pub m_Mesh: PPtr,
6720    pub m_Pressure: f32,
6721    pub m_RandomAcceleration: Vector3f,
6722    pub m_SelfCollision: bool,
6723    pub m_StretchingStiffness: f32,
6724    pub m_TearFactor: f32,
6725    pub m_Thickness: f32,
6726    pub m_UseGravity: bool,
6727}
6728
6729/// Item is a sub class of the Unity engine since version 3.4.0.
6730/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Progress.Item.html):
6731/**
6732A data structure that provides information about a progress indicator.
6733*/
6734#[derive(Debug, Serialize, Deserialize)]
6735pub struct Item {
6736    pub markedForRemoval: bool,
6737    /// i32: (3.4.0 - 5.6.7f1)
6738    #[serde(alias = "(int&)downloadResolution")]
6739    pub downloadResolution: Option<i32>,
6740    /// i32: (3.4.0 - 5.6.7f1)
6741    #[serde(alias = "(int&)nameConflictResolution")]
6742    pub nameConflictResolution: Option<i32>,
6743}
6744
6745/// JointAngleLimit2D is a sub class of the Unity engine since version 4.3.0.
6746#[derive(Debug, Serialize, Deserialize)]
6747pub struct JointAngleLimit2D {
6748    pub m_LowerAngle: f32,
6749    pub m_UpperAngle: f32,
6750}
6751
6752/// JointAngleLimits2D is a sub class of the Unity engine since version 5.0.0f4.
6753/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/JointAngleLimits2D.html):
6754/**
6755Angular limits on the rotation of a Rigidbody2D object around a HingeJoint2D.
6756See Also: Rigidbody2D class, HingeJoint2D class.
6757*/
6758#[derive(Debug, Serialize, Deserialize)]
6759pub struct JointAngleLimits2D {
6760    pub m_LowerAngle: f32,
6761    pub m_UpperAngle: f32,
6762}
6763
6764/// JointDrive is a sub class of the Unity engine since version 3.4.0.
6765/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/JointDrive.html):
6766/**
6767How the joint's movement will behave along its local X axis.
6768*/
6769#[derive(Debug, Serialize, Deserialize)]
6770pub struct JointDrive {
6771    /**Amount of force applied to push the object toward the defined direction.*/
6772    pub maximumForce: f32,
6773    /**Resistance strength against the Position Spring. Only used if mode includes Position.*/
6774    pub positionDamper: f32,
6775    /**Strength of a rubber-band pull toward the defined direction. Only used if mode includes Position.*/
6776    pub positionSpring: f32,
6777    /// i32: (3.4.0 - 5.2.5f1)
6778    pub mode: Option<i32>,
6779    /**Defines whether the drive is an acceleration drive or a force drive.*/
6780    /// i32: (2022.2.0b1 - 2022.3.2f1)
6781    pub useAcceleration: Option<i32>,
6782}
6783
6784/// JointLimits is a sub class of the Unity engine since version 3.4.0.
6785/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/JointLimits.html):
6786/**
6787JointLimits is used by the HingeJoint to limit the joints angle.
6788See Also: HingeJoint.
6789*/
6790#[derive(Debug, Serialize, Deserialize)]
6791pub struct JointLimits {
6792    /**The upper angular limit (in degrees) of the joint.*/
6793    pub max: f32,
6794    /**The lower angular limit (in degrees) of the joint.*/
6795    pub min: f32,
6796    /**The minimum impact velocity which will cause the joint to bounce.*/
6797    /// f32: (5.1.0f1 - 2022.3.2f1)
6798    pub bounceMinVelocity: Option<f32>,
6799    /**Determines the size of the bounce when the joint hits it's limit. Also known as restitution.*/
6800    /// f32: (5.1.0f1 - 2022.3.2f1)
6801    pub bounciness: Option<f32>,
6802    /**Distance inside the limit value at which the limit will be considered to be active by the solver.*/
6803    /// f32: (5.0.0f4 - 2022.3.2f1)
6804    pub contactDistance: Option<f32>,
6805    /// f32: (3.4.0 - 5.0.4f1)
6806    pub maxBounce: Option<f32>,
6807    /// f32: (3.4.0 - 5.0.4f1)
6808    pub minBounce: Option<f32>,
6809}
6810
6811/// JointMotor is a sub class of the Unity engine since version 3.4.0.
6812/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/JointMotor.html):
6813/**
6814The JointMotor is used to motorize a joint.
6815For example the HingeJoint can be told to rotate at a given speed and force.
6816The joint will then attempt to reach the velocity with the given maximum force.
6817See Also: HingeJoint.
6818*/
6819#[derive(Debug, Serialize, Deserialize)]
6820pub struct JointMotor {
6821    /**The motor will apply a force.*/
6822    pub force: f32,
6823    /**If freeSpin is enabled the motor will only accelerate but never slow down.*/
6824    pub freeSpin: i32,
6825    /**The motor will apply a force up to force to achieve targetVelocity.*/
6826    pub targetVelocity: f32,
6827}
6828
6829/// JointMotor2D is a sub class of the Unity engine since version 4.3.0.
6830/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/JointMotor2D.html):
6831/**
6832Parameters for the optional motor force applied to a Joint2D.
6833See Also: HingeJoint2D class, SliderJoint2D class.
6834*/
6835#[derive(Debug, Serialize, Deserialize)]
6836pub struct JointMotor2D {
6837    pub m_MaximumMotorForce: f32,
6838    /**The desired speed for the Rigidbody2D to reach as it moves with the joint.*/
6839    pub m_MotorSpeed: f32,
6840}
6841
6842/// JointSpring is a sub class of the Unity engine since version 3.4.0.
6843/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/JointSpring.html):
6844/**
6845JointSpring is used add a spring force to HingeJoint and PhysicMaterial.
6846*/
6847#[derive(Debug, Serialize, Deserialize)]
6848pub struct JointSpring {
6849    /**The damper force uses to dampen the spring.*/
6850    pub damper: f32,
6851    /**The spring forces used to reach the target position.*/
6852    pub spring: f32,
6853    /**The target position the joint attempts to reach.*/
6854    pub targetPosition: f32,
6855}
6856
6857/// JointSuspension2D is a sub class of the Unity engine since version 4.5.0.
6858/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/JointSuspension2D.html):
6859/**
6860Joint suspension is used to define how suspension works on a WheelJoint2D.
6861See Also: WheelJoint2D class.
6862*/
6863#[derive(Debug, Serialize, Deserialize)]
6864pub struct JointSuspension2D {
6865    /**The world angle (in degrees) along which the suspension will move.*/
6866    pub m_Angle: f32,
6867    /**The amount by which the suspension spring force is reduced in proportion to the movement speed.*/
6868    pub m_DampingRatio: f32,
6869    /**The frequency at which the suspension spring oscillates.*/
6870    pub m_Frequency: f32,
6871}
6872
6873/// JointTranslationLimits2D is a sub class of the Unity engine since version 4.3.0.
6874/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/JointTranslationLimits2D.html):
6875/**
6876Motion limits of a Rigidbody2D object along a SliderJoint2D.
6877See Also: Rigidbody2D class, SliderJoint2D class.
6878*/
6879#[derive(Debug, Serialize, Deserialize)]
6880pub struct JointTranslationLimits2D {
6881    pub m_LowerTranslation: f32,
6882    pub m_UpperTranslation: f32,
6883}
6884
6885/// KTXImporter is a  class of the Unity engine since version 5.0.0f4.
6886#[derive(Debug, Serialize, Deserialize)]
6887pub struct KTXImporter {
6888    pub m_AssetBundleName: String,
6889    pub m_AssetBundleVariant: String,
6890    pub m_Name: String,
6891    pub m_UserData: String,
6892}
6893
6894/// Keyframe is a sub class of the Unity engine since version 3.4.0.
6895/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Keyframe.html):
6896/**
6897A single keyframe that can be injected into an animation curve.
6898*/
6899#[derive(Debug, Serialize, Deserialize)]
6900pub struct Keyframe {
6901    pub inSlope: Quaternionf,
6902    pub outSlope: Quaternionf,
6903    /**The time of the keyframe.*/
6904    pub time: f32,
6905    /**The value of the curve at keyframe.*/
6906    pub value: Quaternionf,
6907    /**Sets the incoming weight for this key. The incoming weight affects the slope of the curve from the previous key to this key.*/
6908    /// Quaternionf: (2018.1.0b2 - 2022.3.2f1)
6909    pub inWeight: Option<Quaternionf>,
6910    /**Sets the outgoing weight for this key. The outgoing weight affects the slope of the curve from this key to the next key.*/
6911    /// Quaternionf: (2018.1.0b2 - 2022.3.2f1)
6912    pub outWeight: Option<Quaternionf>,
6913    /**Weighted mode for the keyframe.*/
6914    /// i32: (2018.1.0b2 - 2022.3.2f1)
6915    pub weightedMode: Option<i32>,
6916}
6917
6918/// LOD is a sub class of the Unity engine since version 3.5.0.
6919/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LOD.html):
6920/**
6921Structure for building a LOD for passing to the SetLODs function.
6922*/
6923#[derive(Debug, Serialize, Deserialize)]
6924pub struct LOD {
6925    /**List of renderers for this LOD level.*/
6926    pub renderers: Vec<LODRenderer>,
6927    pub screenRelativeHeight: f32,
6928    /// i32: (5.0.0f4 - 5.0.4f1)
6929    pub fadeMode: Option<i32>,
6930    /**Width of the cross-fade transition zone (proportion to the current LOD's whole length) [0-1]. Only used if it's not animated.*/
6931    /// f32: (5.0.0f4 - 2022.3.2f1)
6932    pub fadeTransitionWidth: Option<f32>,
6933}
6934
6935/// LODGroup is a  class of the Unity engine since version 3.5.0.
6936/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LODGroup.html):
6937/**
6938LODGroup lets you group multiple Renderers into LOD levels.
6939This can be used to switch between different LOD levels at runtime based on size on screen.
6940*/
6941#[derive(Debug, Serialize, Deserialize)]
6942pub struct LODGroup {
6943    /**Allows you to enable or disable the LODGroup.*/
6944    pub m_Enabled: bool,
6945    /**The game object this component is attached to. A component is always attached to a game object.*/
6946    /// PPtr<[`GameObject`]>: (3.5.0 - 2022.3.2f1)
6947    pub m_GameObject: PPtr,
6948    pub m_LODs: Vec<LOD>,
6949    /**The local reference point against which the LOD distance is calculated.*/
6950    pub m_LocalReferencePoint: Vector3f,
6951    /**The size of the LOD object in local space.*/
6952    pub m_Size: f32,
6953    /**Specify if the cross-fading should be animated by time. The animation duration is specified globally as crossFadeAnimationDuration.*/
6954    /// bool: (5.1.0f1 - 2022.3.2f1)
6955    pub m_AnimateCrossFading: Option<bool>,
6956    /**The LOD fade mode used.*/
6957    /// i32: (5.1.0f1 - 2022.3.2f1)
6958    pub m_FadeMode: Option<i32>,
6959    /// bool: (2018.3.0f2 - 2022.3.2f1)
6960    pub m_LastLODIsBillboard: Option<bool>,
6961    /// f32: (3.5.0 - 4.7.2)
6962    pub m_ScreenRelativeTransitionHeight: Option<f32>,
6963}
6964
6965/// LODRenderer is a sub class of the Unity engine since version 3.5.0.
6966#[derive(Debug, Serialize, Deserialize)]
6967pub struct LODRenderer {
6968    /// PPtr<[`Renderer`]>: (3.5.0 - 2022.3.2f1)
6969    pub renderer: PPtr,
6970}
6971
6972/// LayoutDataOne is a sub class of the Unity engine since version 2019.1.0b1.
6973#[derive(Debug, Serialize, Deserialize)]
6974pub struct LayoutDataOne {
6975    pub m_FloatArray: Vec<f32>,
6976}
6977
6978/// LayoutDataThree is a sub class of the Unity engine since version 2019.1.0b1.
6979#[derive(Debug, Serialize, Deserialize)]
6980pub struct LayoutDataThree {
6981    pub m_AnotherFloatArray: Vec<f32>,
6982}
6983
6984/// LayoutDataTwo is a sub class of the Unity engine since version 2019.1.0b1.
6985#[derive(Debug, Serialize, Deserialize)]
6986pub struct LayoutDataTwo {
6987    pub m_FloatValue: f32,
6988    pub m_IntegerValue: i32,
6989}
6990
6991/// LensFlare is a  class of the Unity engine since version 3.4.0.
6992/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LensFlare.html):
6993/**
6994Script interface for a Lens flare component.
6995This allows you to change the brightness and color of lens flares at runtime.
6996*/
6997#[derive(Debug, Serialize, Deserialize)]
6998pub struct LensFlare {
6999    /**The strength of the flare.*/
7000    pub m_Brightness: f32,
7001    /**The color of the flare.*/
7002    pub m_Color: ColorRGBA,
7003    pub m_Directional: bool,
7004    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
7005    pub m_Enabled: u8,
7006    /**The flare asset to use.*/
7007    /// PPtr<[`Flare`]>: (3.4.0 - 2022.3.2f1)
7008    pub m_Flare: PPtr,
7009    /**The game object this component is attached to. A component is always attached to a game object.*/
7010    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
7011    pub m_GameObject: PPtr,
7012    pub m_IgnoreLayers: BitField,
7013    /**The fade speed of the flare.*/
7014    /// f32: (4.3.0 - 2022.3.2f1)
7015    pub m_FadeSpeed: Option<f32>,
7016}
7017
7018/// LevelGameManager is a  class of the Unity engine since version 4.1.0.
7019#[derive(Debug, Serialize, Deserialize)]
7020pub struct LevelGameManager {}
7021
7022/// LibraryAssetImporter is a  class of the Unity engine since version 4.0.0.
7023#[derive(Debug, Serialize, Deserialize)]
7024pub struct LibraryAssetImporter {
7025    pub m_Name: String,
7026    pub m_UserData: String,
7027    /// String: (5.0.0f4 - 2022.3.2f1)
7028    pub m_AssetBundleName: Option<String>,
7029    /// String: (5.0.0f4 - 2022.3.2f1)
7030    pub m_AssetBundleVariant: Option<String>,
7031    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
7032    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
7033    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
7034    pub m_UsedFileIDs: Option<Vec<i64>>,
7035}
7036
7037/// LibraryRepresentation is a sub class of the Unity engine since version 3.4.0.
7038#[derive(Debug, Serialize, Deserialize)]
7039pub struct LibraryRepresentation {
7040    pub name: String,
7041    pub scriptClassName: String,
7042    pub thumbnail: Image,
7043    pub thumbnailClassID: i32,
7044    /// u16: (4.0.0 - 2020.1.17f1)
7045    pub flags: Option<u16>,
7046    /// GUID: (5.1.0f1 - 2020.1.17f1)
7047    pub guid: Option<GUID>,
7048    /// i64: (5.1.0f1 - 2020.1.17f1)
7049    pub localIdentifier: Option<i64>,
7050    /// PPtr<[`EditorExtension`]>: (3.4.0 - 3.4.2); PPtr<[`Object`]>: (3.5.0 - 5.0.4f1)
7051    pub object: Option<PPtr>,
7052    /// String: (5.1.0f1 - 2020.1.17f1)
7053    pub path: Option<String>,
7054}
7055
7056/// LifetimeByEmitterSpeedModule is a sub class of the Unity engine since version 2020.1.0b1.
7057/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.LifetimeByEmitterSpeedModule.html):
7058/**
7059The Lifetime By Emitter Speed Module controls the initial lifetime of each particle based on the speed of the emitter when the particle was spawned.
7060This module multiplies the start lifetime of particles with a value that depends on the speed of the object that spawned them. For most Particle Systems, this is the GameObject velocity, but for sub-emitters, the velocity comes from the parent particle that the sub-emitter particle originated from.See Also: ParticleSystem, ParticleSystem.MainModule.startLifetime.
7061*/
7062#[derive(Debug, Serialize, Deserialize)]
7063pub struct LifetimeByEmitterSpeedModule {
7064    /**Use this property to enable or disable the LifetimeByEmitterSpeed module.*/
7065    pub enabled: bool,
7066    /**Use this curve to define which value to multiply the start lifetime of a particle with, based on the speed of the emitter when the particle is spawned.*/
7067    pub m_Curve: MinMaxCurve,
7068    /**Control the start lifetime multiplier between these minimum and maximum speeds of the emitter.*/
7069    pub m_Range: Vector2f,
7070}
7071
7072/// Light is a  class of the Unity engine since version 3.4.0.
7073/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Light.html):
7074/**
7075Script interface for light components.
7076Use this to control all aspects of Unity's lights. The properties are an exact match for the
7077
7078values shown in the Inspector.Usually lights are just created in the editor but sometimes you want to create a light from a script:
7079*/
7080#[derive(Debug, Serialize, Deserialize)]
7081pub struct Light {
7082    /**The color of the light.*/
7083    pub m_Color: ColorRGBA,
7084    /**The cookie texture projected by the light.*/
7085    /// PPtr<[`Texture`]>: (3.4.0 - 2022.3.2f1)
7086    pub m_Cookie: PPtr,
7087    /**The size of a directional light's cookie.*/
7088    pub m_CookieSize: f32,
7089    /**This is used to light certain objects in the Scene selectively.*/
7090    pub m_CullingMask: BitField,
7091    pub m_DrawHalo: bool,
7092    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
7093    pub m_Enabled: u8,
7094    /**The flare asset to use for this light.*/
7095    /// PPtr<[`Flare`]>: (3.4.0 - 2022.3.2f1)
7096    pub m_Flare: PPtr,
7097    /**The game object this component is attached to. A component is always attached to a game object.*/
7098    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
7099    pub m_GameObject: PPtr,
7100    /**The Intensity of a light is multiplied with the Light color.*/
7101    pub m_Intensity: f32,
7102    pub m_Lightmapping: i32,
7103    /**The range of the light.*/
7104    pub m_Range: f32,
7105    /**How to render the light.*/
7106    pub m_RenderMode: i32,
7107    /**How this light casts shadows*/
7108    pub m_Shadows: ShadowSettings,
7109    /**The angle of the light's spotlight cone in degrees.*/
7110    pub m_SpotAngle: f32,
7111    /**The type of the light.*/
7112    pub m_Type: i32,
7113    /// bool: (3.4.0 - 5.3.8f2)
7114    pub m_ActuallyLightmapped: Option<bool>,
7115    /**The size of the area light (Editor only).*/
7116    /// Vector2f: (5.4.0f3 - 2022.3.2f1)
7117    pub m_AreaSize: Option<Vector2f>,
7118    /// i32: (5.4.0f3 - 5.6.0b1)
7119    pub m_BakedIndex: Option<i32>,
7120    /**This property describes the output of the last Global Illumination bake.*/
7121    /// LightBakingOutput: (5.6.0f1 - 2022.3.2f1)
7122    pub m_BakingOutput: Option<LightBakingOutput>,
7123    /**The multiplier that defines the strength of the bounce lighting.*/
7124    /// f32: (5.0.0f4 - 2022.3.2f1)
7125    pub m_BounceIntensity: Option<f32>,
7126    /**Bounding sphere used to override the regular light bounding sphere during culling.*/
7127    /// Vector4f: (2019.1.0f2 - 2022.3.2f1)
7128    pub m_BoundingSphereOverride: Option<Vector4f>,
7129    /// f32: (5.6.0b1 - 5.6.0b9)
7130    pub m_CCT: Option<f32>,
7131    /**The color temperature of the light.          Correlated Color Temperature (abbreviated as CCT) is multiplied with the color filter when calculating the final color of a light source. The color temperature of the electromagnetic radiation emitted from an ideal black body is defined as its surface temperature in Kelvin. White is 6500K according to the D65 standard. A candle light is 1800K and a soft warm light bulb is 2700K.          If you want to use colorTemperature, GraphicsSettings.lightsUseLinearIntensity and Light.useColorTemperature has to be enabled.          See Also: GraphicsSettings.lightsUseLinearIntensity, GraphicsSettings.useColorTemperature.*/
7132    /// f32: (5.6.0f1 - 2022.3.2f1)
7133    pub m_ColorTemperature: Option<f32>,
7134    /// FalloffTable: (2017.1.0b1 - 2017.1.0b10)
7135    pub m_FalloffTable: Option<FalloffTable>,
7136    /**The angle of the light's spotlight inner cone in degrees.*/
7137    /// f32: (2019.1.0b1 - 2022.3.2f1)
7138    pub m_InnerSpotAngle: Option<f32>,
7139    /**Allows you to override the global Shadowmask Mode per light. Only use this with render pipelines that can handle per light Shadowmask modes. Incompatible with the legacy renderers.*/
7140    /// i32: (2018.2.0b1 - 2022.3.2f1)
7141    pub m_LightShadowCasterMode: Option<i32>,
7142    /**Determines which rendering LayerMask this Light affects.*/
7143    /// u32: (2019.1.0f2 - 2022.3.2f1)
7144    pub m_RenderingLayerMask: Option<u32>,
7145    /**This property describes the shape of the spot light. Only Scriptable Render Pipelines use this property; the built-in renderer does not support it.*/
7146    /// i32: (2019.3.0b1 - 2022.3.2f1)
7147    pub m_Shape: Option<i32>,
7148    /**Set to true to override light bounding sphere for culling.*/
7149    /// bool: (2019.1.0f2 - 2022.3.2f1)
7150    pub m_UseBoundingSphereOverride: Option<bool>,
7151    /**Set to true to use the color temperature.*/
7152    /// bool: (5.6.0f1 - 2022.3.2f1)
7153    pub m_UseColorTemperature: Option<bool>,
7154    /**Whether to cull shadows for this Light when the Light is outside of the view frustum.*/
7155    /// bool: (2020.2.0b1 - 2022.3.2f1)
7156    pub m_UseViewFrustumForShadowCasterCull: Option<bool>,
7157}
7158
7159/// LightBakingOutput is a sub class of the Unity engine since version 5.6.0f1.
7160/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LightBakingOutput.html):
7161/**
7162Struct describing the result of a Global Illumination bake for a given light.
7163The example below demonstrates how you can check the baked status of a light and change its active state.
7164*/
7165#[derive(Debug, Serialize, Deserialize)]
7166pub struct LightBakingOutput {
7167    /**In case of a LightmapBakeType.Mixed light, contains the index of the light as seen from the occlusion probes point of view if any, otherwise -1.*/
7168    pub probeOcclusionLightIndex: i32,
7169    /**Is the light contribution already stored in lightmaps and/or lightprobes?*/
7170    /// bool: (2017.3.0b1 - 2022.3.2f1)
7171    pub isBaked: Option<bool>,
7172    /// LightmapBakeMode: (2017.3.0b1 - 2022.3.2f1)
7173    pub lightmapBakeMode: Option<LightmapBakeMode>,
7174    /// i32: (5.6.0f1 - 2017.2.5f1)
7175    pub lightmappingMask: Option<i32>,
7176    /**In case of a LightmapBakeType.Mixed light, contains the index of the occlusion mask channel to use if any, otherwise -1.*/
7177    /// i32: (5.6.0f1 - 2022.3.2f1)
7178    pub occlusionMaskChannel: Option<i32>,
7179    /// i32: (5.6.0b2 - 5.6.0b4)
7180    pub shadowMaskChannel: Option<i32>,
7181}
7182
7183/// LightProbeData is a sub class of the Unity engine since version 5.0.0f4.
7184#[derive(Debug, Serialize, Deserialize)]
7185pub struct LightProbeData {
7186    pub m_NonTetrahedralizedProbeSetIndexMap: Vec<(Hash128, i32)>,
7187    pub m_Positions: Vec<Vector3f>,
7188    pub m_ProbeSets: Vec<ProbeSetIndex>,
7189    pub m_Tetrahedralization: ProbeSetTetrahedralization,
7190}
7191
7192/// LightProbeGroup is a  class of the Unity engine since version 3.5.0.
7193/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LightProbeGroup.html):
7194/**
7195Light Probe Group.
7196*/
7197#[derive(Debug, Serialize, Deserialize)]
7198pub struct LightProbeGroup {
7199    /**The game object this component is attached to. A component is always attached to a game object.*/
7200    /// PPtr<[`GameObject`]>: (3.5.0 - 2022.3.2f1)
7201    pub m_GameObject: PPtr,
7202    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
7203    /// u8: (4.0.0 - 2022.3.2f1)
7204    pub m_Enabled: Option<u8>,
7205}
7206
7207/// LightProbeOcclusion is a sub class of the Unity engine since version 5.4.0f3.
7208#[derive(Debug, Serialize, Deserialize)]
7209pub struct LightProbeOcclusion {
7210    pub m_Occlusion: Vec<f32>,
7211    /// Vec<i32>: (5.4.0f3 - 5.6.0b1)
7212    pub m_BakedLightIndex: Option<Vec<i32>>,
7213    /// Vec<i8>: (5.6.0f1 - 2022.3.2f1)
7214    pub m_OcclusionMaskChannel: Option<Vec<i8>>,
7215    /// Vec<i32>: (5.6.0f1 - 2022.3.2f1)
7216    pub m_ProbeOcclusionLightIndex: Option<Vec<i32>>,
7217    /// Vec<i8>: (5.6.0b2 - 5.6.0b4)
7218    pub m_ShadowMaskChannel: Option<Vec<i8>>,
7219}
7220
7221/// LightProbeProxyVolume is a  class of the Unity engine since version 5.4.0f3.
7222/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LightProbeProxyVolume.html):
7223/**
7224The Light Probe Proxy Volume component offers the possibility to use higher resolution lighting for large non-static GameObjects.
7225By default, a probe-lit Renderer receives lighting from a single Light Probe that is interpolated from the surrounding Light Probes in the Scene. Because of this, GameObjects have constant ambient lighting regardless of their position on the surface. The light has have a rotational gradient because it's using spherical harmonics, but it lacks a spatial gradient. This is more noticeable on larger GameObjects and Particle Systems. The lighting across the GameObject matches the lighting at the anchor point, and if the GameObject straddles a lighting gradient, parts of the GameObject will look incorrect.This component will generate a 3D grid of interpolated Light Probes inside a bounding volume. The resolution of the grid can be user-specified. The spherical harmonics coefficients of the interpolated Light Probes are updated into 3D textures, which are sampled at render time to compute the contribution to the diffuse ambient lighting. This adds a spatial gradient to probe-lit GameObjects.See Also: Light Probes.
7226*/
7227#[derive(Debug, Serialize, Deserialize)]
7228pub struct LightProbeProxyVolume {
7229    /**The bounding box mode for generating the 3D grid of interpolated Light Probes.*/
7230    pub m_BoundingBoxMode: i32,
7231    pub m_BoundingBoxOrigin: Vector3f,
7232    pub m_BoundingBoxSize: Vector3f,
7233    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
7234    pub m_Enabled: u8,
7235    /**The game object this component is attached to. A component is always attached to a game object.*/
7236    /// PPtr<[`GameObject`]>: (5.4.0f3 - 2022.3.2f1)
7237    pub m_GameObject: PPtr,
7238    /**The mode in which the interpolated Light Probe positions are generated.*/
7239    pub m_ProbePositionMode: i32,
7240    /**Sets the way the Light Probe Proxy Volume refreshes.*/
7241    pub m_RefreshMode: i32,
7242    /**The resolution mode for generating the grid of interpolated Light Probes.*/
7243    pub m_ResolutionMode: i32,
7244    pub m_ResolutionProbesPerUnit: f32,
7245    pub m_ResolutionX: u32,
7246    pub m_ResolutionY: u32,
7247    pub m_ResolutionZ: u32,
7248    /**The texture data format used by the Light Probe Proxy Volume 3D texture.*/
7249    /// i32: (2020.2.0b1 - 2022.3.2f1)
7250    pub m_DataFormat: Option<i32>,
7251    /**Determines how many Spherical Harmonics bands will be evaluated to compute the ambient color.*/
7252    /// i32: (2018.2.0b2 - 2022.3.2f1)
7253    pub m_QualityMode: Option<i32>,
7254}
7255
7256/// LightProbes is a  class of the Unity engine since version 3.5.0.
7257/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LightProbes.html):
7258/**
7259Stores light probe data for all currently loaded Scenes.
7260The data includes: probe positions, Spherical Harmonics (SH) coefficients and the tetrahedral tessellation.You can modify the coefficients and update the tetrahedral tessellation at runtime. You can also swap the entire LightProbes object for a different pre-baked one using LightmapSettings.lightProbes.See Also: Light Probes in the Unity Manual, LightmapSettings, ReceiveGI.
7261*/
7262#[derive(Debug, Serialize, Deserialize)]
7263pub struct LightProbes {
7264    /**The name of the object.*/
7265    pub m_Name: String,
7266    /// Vec<LightmapData>: (3.5.0 - 4.7.2)
7267    pub bakedCoefficients: Option<Vec<LightmapData>>,
7268    /// Vec<Vector3f>: (3.5.0 - 4.7.2)
7269    pub bakedPositions: Option<Vec<Vector3f>>,
7270    /// Vec<Vector3f>: (3.5.0 - 4.7.2)
7271    pub hullRays: Option<Vec<Vector3f>>,
7272    /// Vec<SphericalHarmonicsL2>: (5.0.0f4 - 2022.3.2f1)
7273    pub m_BakedCoefficients: Option<Vec<SphericalHarmonicsL2>>,
7274    /// Vec<LightProbeOcclusion>: (5.4.0f3 - 2022.3.2f1)
7275    pub m_BakedLightOcclusion: Option<Vec<LightProbeOcclusion>>,
7276    /// LightProbeData: (5.0.0f4 - 2022.3.2f1)
7277    pub m_Data: Option<LightProbeData>,
7278    /// Vec<Tetrahedron>: (3.5.0 - 4.7.2)
7279    pub tetrahedra: Option<Vec<Tetrahedron>>,
7280}
7281
7282/// LightingDataAsset is a  class of the Unity engine since version 5.3.0f1.
7283/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LightingDataAsset.html):
7284/**
7285The lighting data asset used by the active Scene.
7286Please note that modifying this value currently does not affect the Scene immediately, the lighting data is only patched into the active Scene when loading the Scene.
7287*/
7288#[derive(Debug, Serialize, Deserialize)]
7289pub struct LightingDataAsset {
7290    pub m_BakedAmbientProbeInLinear: SphericalHarmonicsL2,
7291    /// Vec<PPtr<[`Texture`]>>: (5.3.0f1 - 2022.3.2f1)
7292    pub m_BakedReflectionProbeCubemaps: Vec<PPtr>,
7293    pub m_BakedReflectionProbes: Vec<SceneObjectIdentifier>,
7294    pub m_EnlightenData: Vec<u8>,
7295    pub m_EnlightenSceneMapping: EnlightenSceneMapping,
7296    pub m_EnlightenSceneMappingRendererIDs: Vec<SceneObjectIdentifier>,
7297    /// PPtr<[`LightProbes`]>: (5.3.0f1 - 2022.3.2f1)
7298    pub m_LightProbes: PPtr,
7299    pub m_LightmappedRendererData: Vec<RendererData>,
7300    pub m_LightmappedRendererDataIDs: Vec<SceneObjectIdentifier>,
7301    pub m_Lightmaps: Vec<LightmapData>,
7302    pub m_Lights: Vec<SceneObjectIdentifier>,
7303    /**The name of the object.*/
7304    pub m_Name: String,
7305    /// Vec<PPtr<[`Texture2D`]>>: (2019.1.0b1 - 2022.3.2f1)
7306    pub m_AOTextures: Option<Vec<PPtr>>,
7307    /// Vec<i32>: (5.4.0f3 - 5.6.0b1)
7308    pub m_BakedLightIndices: Option<Vec<i32>>,
7309    /// Vec<String>: (2018.2.0b1 - 2022.3.2f1)
7310    pub m_BakedReflectionProbeCubemapCacheFiles: Option<Vec<String>>,
7311    /// i32: (5.3.6f1 - 2022.3.2f1)
7312    pub m_EnlightenDataVersion: Option<i32>,
7313    /// Vec<LightBakingOutput>: (5.6.0f1 - 2022.3.2f1)
7314    pub m_LightBakingOutputs: Option<Vec<LightBakingOutput>>,
7315    /// Vec<String>: (2018.2.0b1 - 2022.3.2f1)
7316    pub m_LightmapsCacheFiles: Option<Vec<String>>,
7317    /// i32: (5.4.0f3 - 2022.3.2f1)
7318    pub m_LightmapsMode: Option<i32>,
7319    /// PPtr<[`SceneAsset`]>: (2017.1.0f2 - 2022.3.2f1)
7320    pub m_Scene: Option<PPtr>,
7321    /// GUID: (5.3.0f1 - 5.3.0f2)
7322    pub m_SceneGUID: Option<GUID>,
7323}
7324
7325/// LightingSettings is a  class of the Unity engine since version 2020.1.0b1.
7326/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LightingSettings.html):
7327/**
7328An object containing settings for precomputing lighting data, that Unity can serialize as a Lighting Settings Asset.
7329When the Unity Editor precomputes lighting data for a Scene that uses the Baked Global Illumination system or the Enlighten Realtime Global Illumination system, it uses settings from a LightingSettings object. The same LightingSettings object can be assigned to more than one Scene, which makes it possible to share settings across multiple Scenes.The following example shows how to create a LightingSettings object and assign it to the active Scene using the Lightmapping.lightingSettings API:
7330The following example shows how to create a LightingSettings object, and save it to disk as a Lighting Settings Asset using the AssetDatabase.CreateAsset API.
7331See Also: Lighting Settings Asset.
7332*/
7333#[derive(Debug, Serialize, Deserialize)]
7334pub struct LightingSettings {
7335    /**The intensity of surface albedo throughout the Scene when considered in lighting calculations. This value influences the energy of light at each bounce. (Editor only).*/
7336    pub m_AlbedoBoost: f32,
7337    pub m_BounceScale: f32,
7338    pub m_EnableBakedLightmaps: bool,
7339    pub m_EnableRealtimeLightmaps: bool,
7340    pub m_GIWorkflowMode: i32,
7341    /**The name of the object.*/
7342    pub m_Name: String,
7343    /**Determines the lightmap that Unity stores environment lighting in.*/
7344    pub m_RealtimeEnvironmentLighting: bool,
7345    pub m_UsingShadowmask: bool,
7346    /**Whether to apply ambient occlusion to lightmaps. (Editor only).*/
7347    /// bool: (2020.1.0a3 - 2020.1.0a12)
7348    pub m_AO: Option<bool>,
7349    /**The distance that a ray travels before Unity considers it to be unoccluded when calculating ambient occlusion in lightmaps. (Editor only).*/
7350    /// f32: (2020.1.0a3 - 2020.1.0a12)
7351    pub m_AOMaxDistance: Option<f32>,
7352    /// i32: (2020.1.0a3 - 2020.1.0a12)
7353    pub m_BakeBackend: Option<i32>,
7354    /// f32: (2020.1.0a3 - 2020.1.0a12)
7355    pub m_BakeResolution: Option<f32>,
7356    /// f32: (2020.1.0a3 - 2020.1.0a12)
7357    pub m_CompAOExponent: Option<f32>,
7358    /// f32: (2020.1.0a3 - 2020.1.0a12)
7359    pub m_CompAOExponentDirect: Option<f32>,
7360    /**Whether the Progressive Lightmapper exports machine learning training data to the Project folder when it performs the bake. ( Editor only).*/
7361    /// bool: (2020.1.0a3 - 2020.1.0a12)
7362    pub m_ExportTrainingData: Option<bool>,
7363    /**Whether the Progressive Lightmapper extracts Ambient Occlusion to a separate lightmap. (Editor only).*/
7364    /// bool: (2020.1.0a3 - 2020.1.0a12)
7365    pub m_ExtractAO: Option<bool>,
7366    /// i32: (2020.1.0a3 - 2020.1.0a12)
7367    pub m_FilterMode: Option<i32>,
7368    /// bool: (2020.1.0a3 - 2020.1.0a12)
7369    pub m_FinalGather: Option<bool>,
7370    /// bool: (2020.1.0a3 - 2020.1.0a12)
7371    pub m_FinalGatherFiltering: Option<bool>,
7372    /// i32: (2020.1.0a3 - 2020.1.0a12)
7373    pub m_FinalGatherRayCount: Option<i32>,
7374    /// bool: (2020.1.0a3 - 2020.1.0a12)
7375    pub m_ForceUpdates: Option<bool>,
7376    /// bool: (2020.1.0a3 - 2020.1.0a12)
7377    pub m_ForceWhiteAlbedo: Option<bool>,
7378    /// f32: (2020.1.0b1 - 2022.3.2f1)
7379    pub m_IndirectOutputScale: Option<f32>,
7380    /**The maximum size in pixels of an individual lightmap texture. (Editor only).*/
7381    /// i32: (2020.1.0a3 - 2020.1.0a12)
7382    pub m_LightmapMaxSize: Option<i32>,
7383    /// PPtr<[`LightmapParameters`]>: (2020.1.0a3 - 2020.1.0a12)
7384    pub m_LightmapParameters: Option<PPtr>,
7385    /// i32: (2020.1.0a3 - 2020.1.0a12)
7386    pub m_LightmapsBakeMode: Option<i32>,
7387    /**Sets the MixedLightingMode that Unity uses for all Mixed Lights in the Scene. (Editor only).*/
7388    /// i32: (2020.1.0a3 - 2020.1.0a12)
7389    pub m_MixedBakeMode: Option<i32>,
7390    /// i32: (2020.1.0a3 - 2020.1.0a12)
7391    pub m_PVRBounces: Option<i32>,
7392    /// bool: (2020.1.0a3 - 2020.1.0a12)
7393    pub m_PVRCulling: Option<bool>,
7394    /// i32: (2020.1.0a3 - 2020.1.0a12)
7395    pub m_PVRDenoiserTypeAO: Option<i32>,
7396    /// i32: (2020.1.0a3 - 2020.1.0a12)
7397    pub m_PVRDenoiserTypeDirect: Option<i32>,
7398    /// i32: (2020.1.0a3 - 2020.1.0a12)
7399    pub m_PVRDenoiserTypeIndirect: Option<i32>,
7400    /// i32: (2020.1.0a3 - 2020.1.0a12)
7401    pub m_PVRDirectSampleCount: Option<i32>,
7402    /// i32: (2020.1.0a3 - 2020.1.0a12)
7403    pub m_PVREnvironmentMIS: Option<i32>,
7404    /// i32: (2020.1.0a3 - 2020.1.0a12)
7405    pub m_PVREnvironmentReferencePointCount: Option<i32>,
7406    /// i32: (2020.1.0a3 - 2020.1.0a12)
7407    pub m_PVREnvironmentSampleCount: Option<i32>,
7408    /// i32: (2020.1.0a3 - 2020.1.0a12)
7409    pub m_PVRFilterTypeAO: Option<i32>,
7410    /// i32: (2020.1.0a3 - 2020.1.0a12)
7411    pub m_PVRFilterTypeDirect: Option<i32>,
7412    /// i32: (2020.1.0a3 - 2020.1.0a12)
7413    pub m_PVRFilterTypeIndirect: Option<i32>,
7414    /// f32: (2020.1.0a3 - 2020.1.0a12)
7415    pub m_PVRFilteringAtrousPositionSigmaAO: Option<f32>,
7416    /// f32: (2020.1.0a3 - 2020.1.0a12)
7417    pub m_PVRFilteringAtrousPositionSigmaDirect: Option<f32>,
7418    /// f32: (2020.1.0a3 - 2020.1.0a12)
7419    pub m_PVRFilteringAtrousPositionSigmaIndirect: Option<f32>,
7420    /// i32: (2020.1.0a3 - 2020.1.0a12)
7421    pub m_PVRFilteringGaussRadiusAO: Option<i32>,
7422    /// i32: (2020.1.0a3 - 2020.1.0a12)
7423    pub m_PVRFilteringGaussRadiusDirect: Option<i32>,
7424    /// i32: (2020.1.0a3 - 2020.1.0a12)
7425    pub m_PVRFilteringGaussRadiusIndirect: Option<i32>,
7426    /// i32: (2020.1.0a3 - 2020.1.0a12)
7427    pub m_PVRFilteringMode: Option<i32>,
7428    /// i32: (2020.1.0a3 - 2020.1.0a12)
7429    pub m_PVRSampleCount: Option<i32>,
7430    /// i32: (2020.1.0a3 - 2020.1.0a12)
7431    pub m_PVRSampling: Option<i32>,
7432    /// i32: (2020.1.0a3 - 2020.1.0a12)
7433    pub m_Padding: Option<i32>,
7434    /// f32: (2020.1.0a3 - 2020.1.0a12)
7435    pub m_RealtimeResolution: Option<f32>,
7436    /// bool: (2020.1.0a3 - 2020.1.0a12)
7437    pub m_TextureCompression: Option<bool>,
7438    /**Determines the name of the destination folder for the exported textures. (Editor only).*/
7439    /// String: (2020.1.0a3 - 2020.1.0a12)
7440    pub m_TrainingDataDestination: Option<String>,
7441}
7442
7443/// LightmapBakeMode is a sub class of the Unity engine since version 2017.3.0b1.
7444#[derive(Debug, Serialize, Deserialize)]
7445pub struct LightmapBakeMode {
7446    pub lightmapBakeType: i32,
7447    pub mixedLightingMode: i32,
7448}
7449
7450/// LightmapData is a sub class of the Unity engine since version 3.4.0.
7451/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LightmapData.html):
7452/**
7453Data of a lightmap.
7454A Scene can have several lightmaps stored in it, and Renderer components can use those
7455lightmaps. This makes it possible to use the same material on multiple objects, while
7456each object can refer to a different lightmap or different portion of the same lightmap.You must set the following properties or Unity might render objects incorrectly:
7457*/
7458#[derive(Debug, Serialize, Deserialize)]
7459pub struct LightmapData {
7460    /// PPtr<[`Texture2D`]>: (3.4.0 - 2022.3.2f1)
7461    pub m_Lightmap: PPtr,
7462    /// PPtr<[`Texture2D`]>: (5.6.0f1 - 2022.3.2f1)
7463    pub m_DirLightmap: Option<PPtr>,
7464    /// PPtr<[`Texture2D`]>: (3.4.0 - 5.6.0b1)
7465    pub m_IndirectLightmap: Option<PPtr>,
7466    /**Texture storing occlusion mask per light (ShadowMask, up to four lights).*/
7467    /// PPtr<[`Texture2D`]>: (5.6.0f1 - 2022.3.2f1)
7468    pub m_ShadowMask: Option<PPtr>,
7469}
7470
7471/// LightmapParameters is a  class of the Unity engine since version 5.0.0f4.
7472/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LightmapParameters.html):
7473/**
7474Configures how Unity bakes lighting and can be assigned to a LightingSettings instance or asset.
7475Note that Unity's built-in Lightmap Parameters Assets are read-only.
7476
7477
7478See Also: LightmapParameters.SetLightmapParametersForLightingSettings.
7479*/
7480#[derive(Debug, Serialize, Deserialize)]
7481pub struct LightmapParameters {
7482    /**The maximum number of times to supersample a texel to reduce aliasing in AO.*/
7483    pub AOAntiAliasingSamples: i32,
7484    /**The number of rays to cast for computing ambient occlusion.*/
7485    pub AOQuality: i32,
7486    /**The maximum number of times to supersample a texel to reduce aliasing.*/
7487    pub antiAliasingSamples: i32,
7488    /**The percentage of rays shot from a ray origin that must hit front faces to be considered usable.*/
7489    pub backFaceTolerance: f32,
7490    /**BakedLightmapTag is an integer that affects the assignment to baked lightmaps. Objects with different values for bakedLightmapTag are guaranteed to not be assigned to the same lightmap even if the other baking parameters are the same.*/
7491    pub bakedLightmapTag: i32,
7492    /**The radius (in texels) of the post-processing filter that blurs baked direct lighting.*/
7493    pub blurRadius: i32,
7494    /**Controls the resolution at which Enlighten Realtime Global Illumination stores and can transfer input light.*/
7495    pub clusterResolution: f32,
7496    /**The number of rays used for lights with an area. Allows for accurate soft shadowing.*/
7497    pub directLightQuality: i32,
7498    pub edgeStitching: i32,
7499    /**The amount of data used for Enlighten Realtime Global Illumination texels. Specifies how detailed view of the Scene a texel has. Small values mean more averaged out lighting.*/
7500    pub irradianceBudget: i32,
7501    /**The number of rays to cast for computing irradiance form factors.*/
7502    pub irradianceQuality: i32,
7503    /**If enabled, the object appears transparent during GlobalIllumination lighting calculations.*/
7504    pub isTransparent: i32,
7505    /**The name of the object.*/
7506    pub m_Name: String,
7507    /**Maximum size of gaps that can be ignored for GI (multiplier on pixel size).*/
7508    pub modellingTolerance: f32,
7509    /**The texel resolution per meter used for real-time lightmaps. This value is multiplied by LightingSettings.indirectResolution.*/
7510    pub resolution: f32,
7511    /**System tag is an integer identifier. It lets you force an object into a different Enlighten Realtime Global Illumination system even though all the other parameters are the same.*/
7512    pub systemTag: i32,
7513    /**If enabled, objects sharing the same lightmap parameters will be packed into LightmapParameters.maxLightmapCount lightmaps.*/
7514    /// bool: (2019.1.0b1 - 2022.3.2f1)
7515    pub limitLightmapCount: Option<bool>,
7516    /**The maximum number of lightmaps created for objects sharing the same lightmap parameters. This property is ignored if LightmapParameters.limitLightmapCount is false.*/
7517    /// i32: (2019.1.0b1 - 2022.3.2f1)
7518    pub maxLightmapCount: Option<i32>,
7519    /**The distance to offset the ray origin from the geometry when performing ray tracing, in modelling units. Unity applies the offset to all baked lighting: direct lighting, indirect lighting, environment lighting and ambient occlusion.*/
7520    /// f32: (5.0.1f1 - 2022.3.2f1)
7521    pub pushoff: Option<f32>,
7522}
7523
7524/// LightmapSettings is a  class of the Unity engine since version 3.4.0.
7525/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LightmapSettings.html):
7526/**
7527Stores lightmaps of the Scene.
7528A Scene can have several lightmaps stored in it, and Renderer components can use those
7529lightmaps. This makes it possible to use the same material on multiple objects, while
7530each object can refer to a different lightmap or different portion of the same lightmap.See Also: LightmapData class, Renderer.lightmapIndex
7531*/
7532#[derive(Debug, Serialize, Deserialize)]
7533pub struct LightmapSettings {
7534    pub m_Lightmaps: Vec<LightmapData>,
7535    pub m_LightmapsMode: i32,
7536    /// i32: (3.5.0 - 4.7.2)
7537    pub m_BakedColorSpace: Option<i32>,
7538    /// EnlightenSceneMapping: (5.0.0f4 - 2022.3.2f1)
7539    pub m_EnlightenSceneMapping: Option<EnlightenSceneMapping>,
7540    /// GISettings: (5.0.0f4 - 2022.3.2f1)
7541    pub m_GISettings: Option<GISettings>,
7542    /// PPtr<[`LightProbes`]>: (3.5.0 - 2022.3.2f1)
7543    pub m_LightProbes: Option<PPtr>,
7544    /// PPtr<[`LightingSettings`]>: (2020.1.0b1 - 2022.3.2f1)
7545    pub m_LightingSettings: Option<PPtr>,
7546    /// i32: (5.0.0f4 - 5.6.0b6)
7547    pub m_RuntimeCPUUsage: Option<i32>,
7548    /// i32: (5.6.0f1 - 5.6.7f1)
7549    pub m_ShadowMaskMode: Option<i32>,
7550    /// bool: (3.4.0 - 4.7.2)
7551    pub m_UseDualLightmapsInForward: Option<bool>,
7552    /// bool: (2017.1.0b1 - 2020.1.0a12)
7553    pub m_UseShadowmask: Option<bool>,
7554}
7555
7556/// LightmapSnapshot is a  class of the Unity engine since version 5.0.0f4.
7557#[derive(Debug, Serialize, Deserialize)]
7558pub struct LightmapSnapshot {
7559    /// Vec<PPtr<[`Texture`]>>: (5.0.0f4 - 5.2.5f1)
7560    pub m_BakedReflectionProbeCubemaps: Vec<PPtr>,
7561    pub m_BakedReflectionProbes: Vec<SceneObjectIdentifier>,
7562    pub m_EnlightenData: Vec<u8>,
7563    pub m_EnlightenSceneMapping: EnlightenSceneMapping,
7564    pub m_EnlightenSceneMappingRendererIDs: Vec<SceneObjectIdentifier>,
7565    /// PPtr<[`LightProbes`]>: (5.0.0f4 - 5.2.5f1)
7566    pub m_LightProbes: PPtr,
7567    pub m_LightmappedRendererData: Vec<RendererData>,
7568    pub m_LightmappedRendererDataIDs: Vec<SceneObjectIdentifier>,
7569    pub m_Lightmaps: Vec<LightmapData>,
7570    pub m_Lights: Vec<SceneObjectIdentifier>,
7571    pub m_Name: String,
7572    /// SphericalHarmonicsL2: (5.2.0f2 - 5.2.5f1)
7573    pub m_BakedAmbientProbeInGamma: Option<SphericalHarmonicsL2>,
7574    /// SphericalHarmonicsL2: (5.2.0f2 - 5.2.5f1)
7575    pub m_BakedAmbientProbeInLinear: Option<SphericalHarmonicsL2>,
7576    /// Vec<SphericalHarmonicsL2>: (5.0.0f4 - 5.1.5f1)
7577    pub m_BakedAmbientProbesInGamma: Option<Vec<SphericalHarmonicsL2>>,
7578    /// Vec<SphericalHarmonicsL2>: (5.0.0f4 - 5.1.5f1)
7579    pub m_BakedAmbientProbesInLinear: Option<Vec<SphericalHarmonicsL2>>,
7580    /// Vec<PPtr<[`Texture`]>>: (5.0.0f4 - 5.1.5f1)
7581    pub m_BakedSkyboxProbeCubemaps: Option<Vec<PPtr>>,
7582    /// GUID: (5.2.0f2 - 5.2.5f1)
7583    pub m_SceneGUID: Option<GUID>,
7584}
7585
7586/// LightsModule is a sub class of the Unity engine since version 5.5.0f3.
7587/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.LightsModule.html):
7588/**
7589Access the ParticleSystem Lights Module.
7590This module allows you to attach real-time Lights to a percentage of your particles.The Lights Module is a simple and powerful module that allows particles to cast light onto their environment easily. Lights can inherit properties from the particles they are attached to, such as color and size. Point and Spot Lights are supported, including shadow casting and Light cookies.
7591*/
7592#[derive(Debug, Serialize, Deserialize)]
7593pub struct LightsModule {
7594    pub color: bool,
7595    /**Specifies whether the LightsModule is enabled or disabled.*/
7596    pub enabled: bool,
7597    /**Define a curve to apply custom intensity scaling to particle Lights.*/
7598    pub intensity: bool,
7599    pub intensityCurve: MinMaxCurve,
7600    /**Select what Light Prefab you want to base your particle lights on.*/
7601    /// PPtr<[`Light`]>: (5.5.0f3 - 2022.3.2f1)
7602    pub light: PPtr,
7603    /**Set a limit on how many Lights this Module can create.*/
7604    pub maxLights: i32,
7605    pub randomDistribution: bool,
7606    /**Define a curve to apply custom range scaling to particle Lights.*/
7607    pub range: bool,
7608    pub rangeCurve: MinMaxCurve,
7609    /**Choose what proportion of particles receive a dynamic light.*/
7610    pub ratio: f32,
7611}
7612
7613/// LineParameters is a sub class of the Unity engine since version 3.4.0.
7614#[derive(Debug, Serialize, Deserialize)]
7615pub struct LineParameters {
7616    /// i32: (5.5.0f3 - 2022.3.2f1)
7617    pub alignment: Option<i32>,
7618    /// Gradient: (5.5.0f3 - 2022.3.2f1)
7619    pub colorGradient: Option<Gradient>,
7620    /// f32: (3.4.0 - 5.4.6f3)
7621    pub endWidth: Option<f32>,
7622    /// bool: (2017.1.0b2 - 2022.3.2f1)
7623    pub generateLightingData: Option<bool>,
7624    /// ColorRGBA: (3.4.0 - 5.4.6f3)
7625    pub m_EndColor: Option<ColorRGBA>,
7626    /// ColorRGBA: (3.4.0 - 5.4.6f3)
7627    pub m_StartColor: Option<ColorRGBA>,
7628    /// i32: (5.5.0f3 - 2022.3.2f1)
7629    pub numCapVertices: Option<i32>,
7630    /// i32: (5.5.0f3 - 2022.3.2f1)
7631    pub numCornerVertices: Option<i32>,
7632    /// f32: (2018.3.0f2 - 2022.3.2f1)
7633    pub shadowBias: Option<f32>,
7634    /// f32: (3.4.0 - 5.4.6f3)
7635    pub startWidth: Option<f32>,
7636    /// i32: (5.5.0f3 - 2022.3.2f1)
7637    pub textureMode: Option<i32>,
7638    /// Vector2f: (2022.1.0b1 - 2022.3.2f1)
7639    pub textureScale: Option<Vector2f>,
7640    /// AnimationCurve: (5.5.0f3 - 2022.3.2f1)
7641    pub widthCurve: Option<AnimationCurve>,
7642    /// f32: (5.5.0f3 - 2022.3.2f1)
7643    pub widthMultiplier: Option<f32>,
7644}
7645
7646/// LineRenderer is a  class of the Unity engine since version 3.4.0.
7647/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LineRenderer.html):
7648/**
7649The line renderer is used to draw free-floating lines in 3D space.
7650This class is a script interface for a line renderer component.
7651*/
7652#[derive(Debug, Serialize, Deserialize)]
7653pub struct LineRenderer {
7654    pub m_CastShadows: Enum_bool__u8,
7655    /**Makes the rendered 3D object visible if enabled.*/
7656    pub m_Enabled: bool,
7657    /**The game object this component is attached to. A component is always attached to a game object.*/
7658    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
7659    pub m_GameObject: PPtr,
7660    /**The index of the baked lightmap applied to this renderer.*/
7661    pub m_LightmapIndex: u16,
7662    pub m_LightmapTilingOffset: Vector4f,
7663    /**Returns all the instantiated materials of this object.*/
7664    /// Vec<PPtr<[`Material`]>>: (3.4.0 - 2022.3.2f1)
7665    pub m_Materials: Vec<PPtr>,
7666    pub m_Parameters: LineParameters,
7667    pub m_Positions: Vec<Vector3f>,
7668    /**Does this object receive shadows?*/
7669    pub m_ReceiveShadows: Enum_bool__u8,
7670    /// PPtr<[`Transform`]>: (3.4.0 - 2022.3.2f1)
7671    pub m_StaticBatchRoot: PPtr,
7672    /**If enabled, the lines are defined in world space.*/
7673    pub m_UseWorldSpace: bool,
7674    /// bool: (2022.1.0b1 - 2022.3.2f1)
7675    pub m_ApplyActiveColorSpace: Option<bool>,
7676    /// u8: (2017.2.0b2 - 2022.3.2f1)
7677    pub m_DynamicOccludee: Option<u8>,
7678    /// PPtr<[`Transform`]>: (3.5.0 - 4.7.2)
7679    pub m_LightProbeAnchor: Option<PPtr>,
7680    /**The light probe interpolation type.*/
7681    /// u8: (5.4.0f3 - 2022.3.2f1)
7682    pub m_LightProbeUsage: Option<u8>,
7683    /// PPtr<[`GameObject`]>: (5.4.0f3 - 2022.3.2f1)
7684    pub m_LightProbeVolumeOverride: Option<PPtr>,
7685    /// u16: (5.0.0f4 - 2022.3.2f1)
7686    pub m_LightmapIndexDynamic: Option<u16>,
7687    /// Vector4f: (5.0.0f4 - 2022.3.2f1)
7688    pub m_LightmapTilingOffsetDynamic: Option<Vector4f>,
7689    /**Connect the start and end positions of the line together to form a continuous loop.*/
7690    /// bool: (5.6.0f1 - 2022.3.2f1)
7691    pub m_Loop: Option<bool>,
7692    /**Specifies how the LineRenderer interacts with SpriteMask.*/
7693    /// i32: (2022.1.0b1 - 2022.3.2f1)
7694    pub m_MaskInteraction: Option<i32>,
7695    /// u8: (5.4.0f3 - 2022.3.2f1)
7696    pub m_MotionVectors: Option<u8>,
7697    /**If set, Renderer will use this Transform's position to find the light or reflection probe.*/
7698    /// PPtr<[`Transform`]>: (5.0.0f4 - 2022.3.2f1)
7699    pub m_ProbeAnchor: Option<PPtr>,
7700    /// u8: (2020.1.0b1 - 2022.3.2f1)
7701    pub m_RayTraceProcedural: Option<u8>,
7702    /**Describes how this renderer is updated for ray tracing.*/
7703    /// u8: (2019.3.0b1 - 2022.3.2f1)
7704    pub m_RayTracingMode: Option<u8>,
7705    /**Should reflection probes be used for this Renderer?*/
7706    /// i32: (5.0.0f4 - 5.3.8f2); u8: (5.4.0f3 - 2022.3.2f1)
7707    pub m_ReflectionProbeUsage: Option<i32>,
7708    /**This value sorts renderers by priority. Lower values are rendered first and higher values are rendered last.*/
7709    /// i32: (2018.3.0f2 - 2022.3.2f1)
7710    pub m_RendererPriority: Option<i32>,
7711    /**Determines which rendering layer this renderer lives on.*/
7712    /// u32: (2018.1.0b2 - 2022.3.2f1)
7713    pub m_RenderingLayerMask: Option<u32>,
7714    /// i16: (4.3.0 - 2022.3.2f1)
7715    pub m_SortingLayer: Option<i16>,
7716    /**Unique ID of the Renderer's sorting layer.*/
7717    /// u32: (4.5.0 - 4.7.2); i32: (5.0.0f4 - 2022.3.2f1)
7718    pub m_SortingLayerID: Option<i64>,
7719    /**Renderer's order within a sorting layer.*/
7720    /// i16: (4.3.0 - 2022.3.2f1)
7721    pub m_SortingOrder: Option<i16>,
7722    /// StaticBatchInfo: (5.5.0f3 - 2022.3.2f1)
7723    pub m_StaticBatchInfo: Option<StaticBatchInfo>,
7724    /**Is this renderer a static shadow caster?*/
7725    /// u8: (2021.1.0b1 - 2022.3.2f1)
7726    pub m_StaticShadowCaster: Option<u8>,
7727    /// Vec<u32>: (3.4.0 - 5.4.6f3)
7728    pub m_SubsetIndices: Option<Vec<u32>>,
7729    /// bool: (3.5.0 - 5.3.8f2)
7730    pub m_UseLightProbes: Option<bool>,
7731}
7732
7733/// LocalizationAsset is a  class of the Unity engine since version 2018.2.0b1.
7734/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/LocalizationAsset.html):
7735/**
7736An asset to represent a table of localized strings for one specific locale.
7737*/
7738#[derive(Debug, Serialize, Deserialize)]
7739pub struct LocalizationAsset {
7740    /**The name of the object.*/
7741    pub m_Name: String,
7742    /// bool: (2018.2.0b1 - 2022.3.2f1)
7743    #[serde(alias = "Editor Asset")]
7744    pub Editor_Asset: Option<bool>,
7745    /**ISO Code used to identify the locale. ex: en-uk, zh-hans, ja*/
7746    /// String: (2018.2.0b1 - 2022.3.2f1)
7747    #[serde(alias = "Locale ISO Code")]
7748    pub Locale_ISO_Code: Option<String>,
7749    /// Vec<(String, String)>: (2018.2.0b1 - 2022.3.2f1)
7750    #[serde(alias = "String Table")]
7751    pub String_Table: Option<Vec<(String, String)>>,
7752}
7753
7754/// LocalizationImporter is a  class of the Unity engine since version 2018.2.0b1.
7755#[derive(Debug, Serialize, Deserialize)]
7756pub struct LocalizationImporter {
7757    pub m_AssetBundleName: String,
7758    pub m_AssetBundleVariant: String,
7759    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2018.2.0b1 - 2022.3.2f1)
7760    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
7761    pub m_Name: String,
7762    pub m_UserData: String,
7763    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
7764    pub m_UsedFileIDs: Option<Vec<i64>>,
7765}
7766
7767/// LookAtConstraint is a  class of the Unity engine since version 2018.2.0b1.
7768/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.LookAtConstraint.html):
7769/**
7770Constrains the orientation of an object relative to the position of one or more source objects, such that the object is facing the average position of the sources.
7771                The LookAtConstraint is a simplified AimConstraint typically used with a Camera.
7772*/
7773#[derive(Debug, Serialize, Deserialize)]
7774pub struct LookAtConstraint {
7775    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
7776    pub m_Enabled: u8,
7777    /**The game object this component is attached to. A component is always attached to a game object.*/
7778    /// PPtr<[`GameObject`]>: (2018.2.0b1 - 2022.3.2f1)
7779    pub m_GameObject: PPtr,
7780    /**The rotation angle along the z axis of the object. The constraint uses this property to calculate the world up vector when Animations.LookAtConstraint.UseUpObject is false.*/
7781    pub m_Roll: f32,
7782    /**The rotation used when the sources have a total weight of 0.*/
7783    pub m_RotationAtRest: Vector3f,
7784    /**Represents an offset from the constrained orientation.*/
7785    pub m_RotationOffset: Vector3f,
7786    pub m_Sources: Vec<ConstraintSource>,
7787    /**Determines how the up vector is calculated.*/
7788    pub m_UseUpObject: bool,
7789    /**The weight of the constraint component.*/
7790    pub m_Weight: f32,
7791    /**The world up object, used to calculate the world up vector when Animations.LookAtConstraint.UseUpObject is true.*/
7792    /// PPtr<[`Transform`]>: (2018.2.0b1 - 2022.3.2f1)
7793    pub m_WorldUpObject: PPtr,
7794    /// bool: (2022.1.0b1 - 2022.3.2f1)
7795    pub m_Active: Option<bool>,
7796    /// bool: (2018.2.0b1 - 2022.1.0a9)
7797    pub m_IsContraintActive: Option<bool>,
7798}
7799
7800/// Lumin is a sub class of the Unity engine since version 2019.1.0b1.
7801#[derive(Debug, Serialize, Deserialize)]
7802pub struct Lumin {
7803    pub depthFormat: i32,
7804    pub enableGLCache: bool,
7805    pub frameTiming: i32,
7806    pub glCacheMaxBlobSize: u32,
7807    pub glCacheMaxFileSize: u32,
7808}
7809
7810/// Material is a  class of the Unity engine since version 3.4.0.
7811/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Material.html):
7812/**
7813The material class.
7814This class exposes all properties from a material, allowing you to animate them.
7815
7816You can also use it to set custom shader properties that can't be accessed through
7817
7818the inspector (e.g. matrices).In order to get the material used by an object, use the Renderer.material property.See Also: Materials, Shaders.
7819*/
7820#[derive(Debug, Serialize, Deserialize)]
7821pub struct Material {
7822    /**The name of the object.*/
7823    pub m_Name: String,
7824    pub m_SavedProperties: UnityPropertySheet,
7825    /**The shader used by the material.*/
7826    /// PPtr<[`Shader`]>: (3.4.0 - 2022.3.2f1)
7827    pub m_Shader: PPtr,
7828    /// Vec<String>: (5.6.0f1 - 2022.3.2f1)
7829    pub disabledShaderPasses: Option<Vec<String>>,
7830    /// Vec<BuildTextureStackReference>: (2020.1.0b1 - 2022.3.2f1)
7831    pub m_BuildTextureStacks: Option<Vec<BuildTextureStackReference>>,
7832    /// i32: (4.3.0 - 2022.3.2f1)
7833    pub m_CustomRenderQueue: Option<i32>,
7834    /**Gets and sets whether the Double Sided Global Illumination setting is enabled for this material.*/
7835    /// bool: (5.6.2f1 - 2022.3.2f1)
7836    pub m_DoubleSidedGI: Option<bool>,
7837    /// bool: (5.6.0f1 - 2022.3.2f1)
7838    pub m_EnableInstancingVariants: Option<bool>,
7839    /// Vec<String>: (2021.2.18f1 - 2022.3.2f1)
7840    pub m_InvalidKeywords: Option<Vec<String>>,
7841    /// u32: (5.0.0f4 - 2022.3.2f1)
7842    pub m_LightmapFlags: Option<u32>,
7843    /**An array containing names of the local shader keywords that are currently enabled for this material.*/
7844    /// Vec<String>: (4.1.0 - 4.7.2); String: (5.0.0f4 - 2022.1.0a16)
7845    pub m_ShaderKeywords: Option<Enum_Vec_String___String>,
7846    /// Vec<String>: (2021.2.18f1 - 2022.3.2f1)
7847    pub m_ValidKeywords: Option<Vec<String>>,
7848    /// Vec<(String, String)>: (5.1.0f1 - 2022.3.2f1)
7849    pub stringTagMap: Option<Vec<(String, String)>>,
7850}
7851
7852#[derive(Debug, Serialize, Deserialize)]
7853#[serde(untagged)]
7854pub enum Enum_Vec_String___String {
7855    Vec(Vec<String>),
7856    String(String),
7857}
7858
7859/// MaterialImportOutput is a sub class of the Unity engine since version 4.0.0.
7860#[derive(Debug, Serialize, Deserialize)]
7861pub struct MaterialImportOutput {
7862    pub baked: i32,
7863    pub currentSettings: BuildTargetSettings,
7864}
7865
7866/// MaterialInstanceSettings is a sub class of the Unity engine since version 3.4.0.
7867#[derive(Debug, Serialize, Deserialize)]
7868pub struct MaterialInstanceSettings {
7869    pub buildTargetSettings: Vec<BuildTargetSettings>,
7870    pub inputs: Vec<InputImportSettings>,
7871    pub materialInformation: ProceduralMaterialInformation,
7872    pub materialProperties: UnityPropertySheet,
7873    pub name: String,
7874    pub prototypeName: String,
7875    pub textureParameters: Vec<InputImportSettings>,
7876    /// u32: (5.0.2f1 - 2017.4.40f1)
7877    pub lightmapFlags: Option<u32>,
7878    /// i32: (5.0.0f4 - 2017.4.40f1)
7879    pub renderQueue: Option<i32>,
7880    /// PPtr<[`Shader`]>: (4.5.0 - 2017.4.40f1)
7881    pub shader: Option<PPtr>,
7882    /// String: (5.0.0f4 - 2017.4.40f1)
7883    pub shaderKeywords: Option<String>,
7884    /// String: (3.4.0 - 2017.4.40f1)
7885    pub shaderName: Option<String>,
7886    /// Vec<ProceduralTextureAssignment>: (4.5.0 - 2017.4.40f1)
7887    pub textureAssignments: Option<Vec<ProceduralTextureAssignment>>,
7888}
7889
7890/// Matrix3x4f is a sub class of the Unity engine since version 3.5.0.
7891#[derive(Debug, Serialize, Deserialize)]
7892pub struct Matrix3x4f {
7893    pub e00: f32,
7894    pub e01: f32,
7895    pub e02: f32,
7896    pub e03: f32,
7897    pub e10: f32,
7898    pub e11: f32,
7899    pub e12: f32,
7900    pub e13: f32,
7901    pub e20: f32,
7902    pub e21: f32,
7903    pub e22: f32,
7904    pub e23: f32,
7905}
7906
7907/// Matrix4x4f is a sub class of the Unity engine since version 3.4.0.
7908#[derive(Debug, Serialize, Deserialize)]
7909pub struct Matrix4x4f {
7910    pub e00: f32,
7911    pub e01: f32,
7912    pub e02: f32,
7913    pub e03: f32,
7914    pub e10: f32,
7915    pub e11: f32,
7916    pub e12: f32,
7917    pub e13: f32,
7918    pub e20: f32,
7919    pub e21: f32,
7920    pub e22: f32,
7921    pub e23: f32,
7922    pub e30: f32,
7923    pub e31: f32,
7924    pub e32: f32,
7925    pub e33: f32,
7926}
7927
7928/// MatrixParameter is a sub class of the Unity engine since version 5.5.0f3.
7929#[derive(Debug, Serialize, Deserialize)]
7930pub struct MatrixParameter {
7931    pub m_ArraySize: i32,
7932    pub m_Index: i32,
7933    pub m_NameIndex: i32,
7934    pub m_RowCount: i8,
7935    pub m_Type: i8,
7936}
7937
7938/// MdFour is a sub class of the Unity engine since version 3.4.0.
7939#[derive(Debug, Serialize, Deserialize)]
7940pub struct MdFour {
7941    /// Vec<u8>: (3.4.0 - 4.7.2)
7942    #[serde(alias = "md4 hash")]
7943    pub md4_hash: Option<Vec<u8>>,
7944}
7945
7946/// MemorySettings is a  class of the Unity engine since version 2021.2.0b1.
7947#[derive(Debug, Serialize, Deserialize)]
7948pub struct MemorySettings {}
7949
7950/// Mesh is a  class of the Unity engine since version 3.4.0.
7951/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Mesh.html):
7952/**
7953A class that allows you to create or modify meshes.
7954Meshes contain vertices and multiple triangle arrays.Conceptually, all vertex data is stored in separate arrays of the same size. For example, if you have
7955
7956a mesh of 100 Vertices, and want to have a position, normal and two texture coordinates
7957
7958for each vertex, then the mesh should have vertices, normals, uv and uv2
7959
7960arrays, each being 100 in size. Data for i-th vertex is at index "i" in each array.For every vertex there can be a vertex position, normal, tangent, color and up to 8 texture coordinates.
7961
7962Texture coordinates most often are 2D data (Vector2), but it is possible to make them
7963
7964Vector3 or Vector4 if needed. This is most often used for holding arbitrary data in mesh
7965
7966vertices, for special effects used in shaders. For skinned meshes, the vertex data can also
7967
7968contain boneWeights.The mesh face data, i.e. the triangles it is made of, is simply three vertex indices for each triangle.
7969
7970For example, if the mesh has 10 triangles, then the triangles array should be 30 numbers,
7971
7972with each number indicating which vertex to use. The first three elements in the triangles array are
7973
7974the indices for the vertices that make up that triangle; the second three elements make up
7975
7976another triangle and so on.Note that while triangle meshes are the most common use case, Unity also supports other
7977
7978mesh topology types, for example Line or Point meshes. For line meshes, each line
7979
7980is composed of two vertex indices and so on. See SetIndices and MeshTopology.
7981Simple vs Advanced Mesh APIThe Mesh class has two sets of methods for assigning data to a Mesh from script. The "simple" set of methods provide a basis for setting the indices, triangle, normals, tangents, etc. These methods include validation checks, for example to ensure that you are not passing in data that would include out-of-bounds indices. They represent the standard way to assign Mesh data from script in Unity.The "simple" methods are: SetColors, SetIndices, SetNormals, SetTangents, SetTriangles, SetUVs, SetVertices, SetBoneWeights.There is also an "advanced" set of methods, which allow you to directly write to the mesh data with control over whether any checks or validation should be performed. These methods are intended for advanced use cases which require maximum performance. They are faster, but allow you to skip the checks on the data you supply. If you use these methods you must make sure that you are not supplying invalid data, because Unity will not check for you.The "advanced" methods are: SetVertexBufferParams, SetVertexBufferData, SetIndexBufferParams, SetIndexBufferData, SetSubMesh, and you can use the MeshUpdateFlags to control which checks or validation are performed or omitted. Use AcquireReadOnlyMeshData to take a read-only snapshot of Mesh data that you can use with C# Jobs and Burst, and AllocateWritableMeshData with ApplyAndDisposeWritableMeshData to create Meshes from C# Jobs and Burst.Manipulating meshes from a scriptThere are three common tasks that might want to use the Mesh API for:1. Building a mesh from scratch:
7982
7983should always be done in the following order:
7984
7985a) Assign vertices
7986
7987b) Assign triangles.
79882. Modifying vertex attributes every frame:
7989
7990a) Get vertices
7991
7992b) Modify them
7993
7994c) Assign them back to the mesh.
79953. Continously changing the mesh triangles and vertices:
7996
7997a) Call Clear to start fresh
7998
7999b) Assign vertices and other attributes
8000
8001c) Assign triangle indices.It is important to call Clear before assigning new vertices or triangles. Unity always checks the supplied triangle indices whether they don't reference out of bounds vertices.
8002
8003Calling Clear then assigning vertices then triangles makes sure you never have out of bounds data.
8004*/
8005#[derive(Debug, Serialize, Deserialize)]
8006pub struct Mesh {
8007    pub m_BindPose: Vec<Matrix4x4f>,
8008    pub m_CompressedMesh: CompressedMesh,
8009    pub m_IndexBuffer: Vec<u8>,
8010    pub m_LocalAABB: AABB,
8011    pub m_MeshCompression: u8,
8012    pub m_MeshUsageFlags: i32,
8013    /**The name of the object.*/
8014    pub m_Name: String,
8015    pub m_SubMeshes: Vec<SubMesh>,
8016    /// Vec<u8>: (5.0.0f4 - 2022.3.2f1)
8017    pub m_BakedConvexCollisionMesh: Option<Vec<u8>>,
8018    /// Vec<u8>: (5.0.0f4 - 2022.3.2f1)
8019    pub m_BakedTriangleCollisionMesh: Option<Vec<u8>>,
8020    /// Vec<u32>: (4.3.0 - 2022.3.2f1)
8021    pub m_BoneNameHashes: Option<Vec<u32>>,
8022    /// Vec<MinMaxAABB>: (2019.1.0b1 - 2022.3.2f1)
8023    pub m_BonesAABB: Option<Vec<MinMaxAABB>>,
8024    /// Vec<u32>: (3.4.0 - 3.4.2)
8025    pub m_CollisionTriangles: Option<Vec<u32>>,
8026    /// i32: (3.4.0 - 3.4.2)
8027    pub m_CollisionVertexCount: Option<i32>,
8028    /**Vertex colors of the Mesh.*/
8029    /// Vec<ColorRGBA>: (3.4.0 - 3.4.2)
8030    pub m_Colors: Option<Vec<ColorRGBA>>,
8031    /// i32: (2022.1.0b1 - 2022.3.2f1)
8032    pub m_CookingOptions: Option<i32>,
8033    /**Format of the mesh index buffer data.*/
8034    /// i32: (2017.3.0b1 - 2022.3.2f1)
8035    pub m_IndexFormat: Option<i32>,
8036    /**Returns true if the Mesh is read/write enabled, or false if it is not.*/
8037    /// bool: (4.0.0 - 2022.3.2f1)
8038    pub m_IsReadable: Option<bool>,
8039    /// bool: (4.0.0 - 2022.3.2f1)
8040    pub m_KeepIndices: Option<bool>,
8041    /// bool: (4.0.0 - 2022.3.2f1)
8042    pub m_KeepVertices: Option<bool>,
8043    /// f32: (2022.3.2f1 - 2022.3.2f1)
8044    #[serde(alias = "m_MeshMetrics[0]")]
8045    pub m_MeshMetrics_0_: Option<f32>,
8046    /// f32: (2022.3.2f1 - 2022.3.2f1)
8047    #[serde(alias = "m_MeshMetrics[1]")]
8048    pub m_MeshMetrics_1_: Option<f32>,
8049    /**The normals of the Mesh.*/
8050    /// Vec<Vector3f>: (3.4.0 - 3.4.2)
8051    pub m_Normals: Option<Vec<Vector3f>>,
8052    /// u32: (4.3.0 - 2022.3.2f1)
8053    pub m_RootBoneNameHash: Option<u32>,
8054    /// Vec<MeshBlendShapeVertex>: (4.1.0 - 4.2.2)
8055    pub m_ShapeVertices: Option<Vec<MeshBlendShapeVertex>>,
8056    /// Vec<MeshBlendShape>: (4.1.0 - 4.2.2); BlendShapeData: (4.3.0 - 2022.3.2f1)
8057    pub m_Shapes: Option<Enum_Vec_MeshBlendShape___BlendShapeData>,
8058    /// Vec<BoneInfluence>: (3.4.0 - 5.6.7f1); Vec<BoneWeights4>: (2017.1.0b1 - 2018.1.9f2)
8059    pub m_Skin: Option<Vec<Enum_BoneInfluence__BoneWeights4>>,
8060    /// u8: (4.0.0 - 4.7.2)
8061    pub m_StreamCompression: Option<u8>,
8062    /// StreamingInfo: (2018.3.0f2 - 2022.3.2f1)
8063    pub m_StreamData: Option<StreamingInfo>,
8064    /**The tangents of the Mesh.*/
8065    /// Vec<Vector4f>: (3.4.0 - 3.4.2)
8066    pub m_Tangents: Option<Vec<Vector4f>>,
8067    /**The texture coordinates (UVs) in the first channel.*/
8068    /// Vec<Vector2f>: (3.4.0 - 3.4.2)
8069    pub m_UV: Option<Vec<Vector2f>>,
8070    /// Vec<Vector2f>: (3.4.0 - 3.4.2)
8071    pub m_UV1: Option<Vec<Vector2f>>,
8072    /// i32: (3.4.0 - 3.4.2)
8073    pub m_Use16BitIndices: Option<i32>,
8074    /// VariableBoneCountWeights: (2019.1.0b1 - 2022.3.2f1)
8075    pub m_VariableBoneCountWeights: Option<VariableBoneCountWeights>,
8076    /// VertexData: (3.5.0 - 2022.3.2f1)
8077    pub m_VertexData: Option<VertexData>,
8078    /**Returns a copy of the vertex positions or assigns a new vertex positions array.*/
8079    /// Vec<Vector3f>: (3.4.0 - 3.4.2)
8080    pub m_Vertices: Option<Vec<Vector3f>>,
8081}
8082
8083#[derive(Debug, Serialize, Deserialize)]
8084#[serde(untagged)]
8085pub enum Enum_Vec_MeshBlendShape___BlendShapeData {
8086    Vec(Vec<MeshBlendShape>),
8087    BlendShapeData(BlendShapeData),
8088}
8089
8090#[derive(Debug, Serialize, Deserialize)]
8091#[serde(untagged)]
8092pub enum Enum_BoneInfluence__BoneWeights4 {
8093    BoneInfluence(BoneInfluence),
8094    BoneWeights4(BoneWeights4),
8095}
8096
8097/// MeshBlendShape is a sub class of the Unity engine since version 4.1.0.
8098#[derive(Debug, Serialize, Deserialize)]
8099pub struct MeshBlendShape {
8100    pub firstVertex: u32,
8101    pub hasNormals: bool,
8102    pub hasTangents: bool,
8103    pub vertexCount: u32,
8104    /// Vector3f: (4.1.0 - 4.2.2)
8105    pub aabbMaxDelta: Option<Vector3f>,
8106    /// Vector3f: (4.1.0 - 4.2.2)
8107    pub aabbMinDelta: Option<Vector3f>,
8108    /// String: (4.1.0 - 4.2.2)
8109    pub name: Option<String>,
8110}
8111
8112/// MeshBlendShapeChannel is a sub class of the Unity engine since version 4.3.0.
8113#[derive(Debug, Serialize, Deserialize)]
8114pub struct MeshBlendShapeChannel {
8115    pub frameCount: i32,
8116    pub frameIndex: i32,
8117    pub name: String,
8118    pub nameHash: u32,
8119}
8120
8121/// MeshBlendShapeVertex is a sub class of the Unity engine since version 4.1.0.
8122#[derive(Debug, Serialize, Deserialize)]
8123pub struct MeshBlendShapeVertex {
8124    pub index: i32,
8125    pub normal: Vector3f,
8126    pub tangent: Vector3f,
8127    pub vertex: Vector3f,
8128}
8129
8130/// MeshCollider is a  class of the Unity engine since version 3.4.0.
8131/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/MeshCollider.html):
8132/**
8133A mesh collider allows you to do collision detection between meshes and primitives.
8134See Also: BoxCollider, CapsuleCollider, PhysicMaterial, Rigidbody.
8135*/
8136#[derive(Debug, Serialize, Deserialize)]
8137pub struct MeshCollider {
8138    /**Use a convex collider from the mesh.*/
8139    pub m_Convex: bool,
8140    /**Enabled Colliders will collide with other Colliders, disabled Colliders won't.*/
8141    pub m_Enabled: bool,
8142    /**The game object this component is attached to. A component is always attached to a game object.*/
8143    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
8144    pub m_GameObject: PPtr,
8145    /**Specify if this collider is configured as a trigger.*/
8146    pub m_IsTrigger: bool,
8147    /**The material used by the collider.*/
8148    /// PPtr<[`PhysicMaterial`]>: (3.4.0 - 2022.3.2f1)
8149    pub m_Material: PPtr,
8150    /// PPtr<[`Mesh`]>: (3.4.0 - 2022.3.2f1)
8151    pub m_Mesh: PPtr,
8152    /**Options used to enable or disable certain features in mesh cooking.*/
8153    /// i32: (2017.3.0b1 - 2022.3.2f1)
8154    pub m_CookingOptions: Option<i32>,
8155    /**The additional layers that this Collider should exclude when deciding if the Collider can contact another Collider.*/
8156    /// BitField: (2022.2.0b1 - 2022.3.2f1)
8157    pub m_ExcludeLayers: Option<BitField>,
8158    /**The additional layers that this Collider should include when deciding if the Collider can contact another Collider.*/
8159    /// BitField: (2022.2.0b1 - 2022.3.2f1)
8160    pub m_IncludeLayers: Option<BitField>,
8161    /// bool: (5.5.0f3 - 2017.2.5f1)
8162    pub m_InflateMesh: Option<bool>,
8163    /**A decision priority assigned to this Collider used when there is a conflicting decision on whether a Collider can contact another Collider.*/
8164    /// i32: (2022.2.0b1 - 2022.3.2f1)
8165    pub m_LayerOverridePriority: Option<i32>,
8166    /**Whether or not this Collider generates contacts for Physics.ContactEvent.*/
8167    /// bool: (2022.2.0b1 - 2022.3.2f1)
8168    pub m_ProvidesContacts: Option<bool>,
8169    /// f32: (5.5.0f3 - 2018.2.21f1)
8170    pub m_SkinWidth: Option<f32>,
8171    /// bool: (3.4.0 - 4.7.2)
8172    pub m_SmoothSphereCollisions: Option<bool>,
8173}
8174
8175/// MeshFilter is a  class of the Unity engine since version 3.4.0.
8176/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/MeshFilter.html):
8177/**
8178A class to access the Mesh of the mesh filter.
8179Use this with a procedural mesh interface. See Also: Mesh class.
8180*/
8181#[derive(Debug, Serialize, Deserialize)]
8182pub struct MeshFilter {
8183    /**The game object this component is attached to. A component is always attached to a game object.*/
8184    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
8185    pub m_GameObject: PPtr,
8186    /**Returns either a new mesh or a duplicate of the existing mesh, and assigns it to the mesh filter.*/
8187    /// PPtr<[`Mesh`]>: (3.4.0 - 2022.3.2f1)
8188    pub m_Mesh: PPtr,
8189}
8190
8191/// MeshParticleEmitter is a  class of the Unity engine since version 3.4.0.
8192#[derive(Debug, Serialize, Deserialize)]
8193pub struct MeshParticleEmitter {
8194    pub angularVelocity: f32,
8195    pub emitterVelocityScale: f32,
8196    pub localVelocity: Vector3f,
8197    pub m_Emit: bool,
8198    pub m_Enabled: bool,
8199    /// PPtr<[`GameObject`]>: (3.4.0 - 2018.2.21f1)
8200    pub m_GameObject: PPtr,
8201    pub m_InterpolateTriangles: bool,
8202    pub m_MaxNormalVelocity: f32,
8203    /// PPtr<[`Mesh`]>: (3.4.0 - 2018.2.21f1)
8204    pub m_Mesh: PPtr,
8205    pub m_MinNormalVelocity: f32,
8206    pub m_OneShot: bool,
8207    pub m_Systematic: bool,
8208    pub maxEmission: f32,
8209    pub maxEnergy: f32,
8210    pub maxSize: f32,
8211    pub minEmission: f32,
8212    pub minEnergy: f32,
8213    pub minSize: f32,
8214    pub rndAngularVelocity: f32,
8215    pub rndRotation: bool,
8216    pub rndVelocity: Vector3f,
8217    pub tangentVelocity: Vector3f,
8218    pub worldVelocity: Vector3f,
8219    /// bool: (3.4.0 - 2018.2.21f1)
8220    #[serde(alias = "Simulate in Worldspace?")]
8221    pub Simulate_in_Worldspace_: Option<bool>,
8222}
8223
8224/// MeshRenderer is a  class of the Unity engine since version 5.0.0f4.
8225/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/MeshRenderer.html):
8226/**
8227Renders meshes inserted by the MeshFilter or TextMesh.
8228*/
8229#[derive(Debug, Serialize, Deserialize)]
8230pub struct MeshRenderer {
8231    /**Vertex attributes in this mesh will override or add attributes of the primary mesh in the MeshRenderer.*/
8232    /// PPtr<[`Mesh`]>: (5.0.0f4 - 2022.3.2f1)
8233    pub m_AdditionalVertexStreams: PPtr,
8234    pub m_CastShadows: u8,
8235    /**Makes the rendered 3D object visible if enabled.*/
8236    pub m_Enabled: bool,
8237    /**The game object this component is attached to. A component is always attached to a game object.*/
8238    /// PPtr<[`GameObject`]>: (5.0.0f4 - 2022.3.2f1)
8239    pub m_GameObject: PPtr,
8240    /**The index of the baked lightmap applied to this renderer.*/
8241    pub m_LightmapIndex: u16,
8242    pub m_LightmapIndexDynamic: u16,
8243    pub m_LightmapTilingOffset: Vector4f,
8244    pub m_LightmapTilingOffsetDynamic: Vector4f,
8245    /**Returns all the instantiated materials of this object.*/
8246    /// Vec<PPtr<[`Material`]>>: (5.0.0f4 - 2022.3.2f1)
8247    pub m_Materials: Vec<PPtr>,
8248    /**If set, Renderer will use this Transform's position to find the light or reflection probe.*/
8249    /// PPtr<[`Transform`]>: (5.0.0f4 - 2022.3.2f1)
8250    pub m_ProbeAnchor: PPtr,
8251    /**Does this object receive shadows?*/
8252    pub m_ReceiveShadows: Enum_bool__u8,
8253    /**Should reflection probes be used for this Renderer?*/
8254    pub m_ReflectionProbeUsage: i32,
8255    /**Renderer's order within a sorting layer.*/
8256    pub m_SortingOrder: i16,
8257    /// PPtr<[`Transform`]>: (5.0.0f4 - 2022.3.2f1)
8258    pub m_StaticBatchRoot: PPtr,
8259    /// u8: (2017.2.0b2 - 2022.3.2f1)
8260    pub m_DynamicOccludee: Option<u8>,
8261    /**Vertex attributes that override the primary mesh when the MeshRenderer uses lightmaps in the Realtime Global Illumination system.*/
8262    /// PPtr<[`Mesh`]>: (2020.1.0b1 - 2022.3.2f1)
8263    pub m_EnlightenVertexStream: Option<PPtr>,
8264    /**The light probe interpolation type.*/
8265    /// u8: (5.4.0f3 - 2022.3.2f1)
8266    pub m_LightProbeUsage: Option<u8>,
8267    /// PPtr<[`GameObject`]>: (5.4.0f3 - 2022.3.2f1)
8268    pub m_LightProbeVolumeOverride: Option<PPtr>,
8269    /// u8: (5.4.0f3 - 2022.3.2f1)
8270    pub m_MotionVectors: Option<u8>,
8271    /// u8: (2020.1.0b1 - 2022.3.2f1)
8272    pub m_RayTraceProcedural: Option<u8>,
8273    /**Describes how this renderer is updated for ray tracing.*/
8274    /// u8: (2019.3.0b1 - 2022.3.2f1)
8275    pub m_RayTracingMode: Option<u8>,
8276    /**This value sorts renderers by priority. Lower values are rendered first and higher values are rendered last.*/
8277    /// i32: (2018.3.0f2 - 2022.3.2f1)
8278    pub m_RendererPriority: Option<i32>,
8279    /**Determines which rendering layer this renderer lives on.*/
8280    /// u32: (2018.1.0b2 - 2022.3.2f1)
8281    pub m_RenderingLayerMask: Option<u32>,
8282    /// i16: (5.6.0b1 - 2022.3.2f1)
8283    pub m_SortingLayer: Option<i16>,
8284    /**Unique ID of the Renderer's sorting layer.*/
8285    /// i32: (5.0.0f4 - 2022.3.2f1)
8286    pub m_SortingLayerID: Option<i32>,
8287    /// StaticBatchInfo: (5.5.0f3 - 2022.3.2f1)
8288    pub m_StaticBatchInfo: Option<StaticBatchInfo>,
8289    /**Is this renderer a static shadow caster?*/
8290    /// u8: (2021.1.0b1 - 2022.3.2f1)
8291    pub m_StaticShadowCaster: Option<u8>,
8292    /// Vec<u32>: (5.0.0f4 - 5.4.6f3)
8293    pub m_SubsetIndices: Option<Vec<u32>>,
8294    /// bool: (5.0.0f4 - 5.3.8f2)
8295    pub m_UseLightProbes: Option<bool>,
8296}
8297
8298/// MinMaxAABB is a sub class of the Unity engine since version 2019.1.0b1.
8299#[derive(Debug, Serialize, Deserialize)]
8300pub struct MinMaxAABB {
8301    pub m_Max: Vector3f,
8302    pub m_Min: Vector3f,
8303}
8304
8305/// MinMaxCurve is a sub class of the Unity engine since version 3.5.0.
8306/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.MinMaxCurve.html):
8307/**
8308Script interface for a Min-Max Curve.
8309Min-Max Curve. describes functions which take a value between a minimum and maximum limit and return a value based on ParticleSystem.MinMaxCurve.mode. Depending on the mode, this may return randomized values.
8310
8311For modes that require curves, the value returned is dependent on one or two curves designed in the ParticleSystem Inspector, that can be evaluated to a single value between -n and n, where n is a constant also set in the Inspector. See ParticleSystemCurveMode for more information.See Also: ParticleSystem.
8312*/
8313#[derive(Debug, Serialize, Deserialize)]
8314pub struct MinMaxCurve {
8315    pub maxCurve: AnimationCurve,
8316    pub minCurve: AnimationCurve,
8317    pub minMaxState: i32,
8318    pub scalar: f32,
8319    /// f32: (5.6.1f1 - 2022.3.2f1)
8320    pub minScalar: Option<f32>,
8321}
8322
8323/// MinMaxGradient is a sub class of the Unity engine since version 3.5.0.
8324/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.MinMaxGradient.html):
8325/**
8326Script interface for a Min-Max Gradient.
8327This contains two Gradients, and returns a Color based on ParticleSystem.MinMaxGradient.mode. Depending on the mode, this may return the value randomized.
8328
8329Gradients are edited via the ParticleSystem Inspector once a ParticleSystemGradientMode requiring them has been selected. Some modes do not require gradients, only colors.
8330
8331See Also: ParticleSystem.
8332*/
8333#[derive(Debug, Serialize, Deserialize)]
8334pub struct MinMaxGradient {
8335    pub maxColor: ColorRGBA,
8336    pub maxGradient: Enum_GradientNEW__Gradient,
8337    pub minColor: ColorRGBA,
8338    pub minGradient: Enum_GradientNEW__Gradient,
8339    pub minMaxState: i32,
8340}
8341
8342#[derive(Debug, Serialize, Deserialize)]
8343#[serde(untagged)]
8344pub enum Enum_GradientNEW__Gradient {
8345    GradientNEW(GradientNEW),
8346    Gradient(Gradient),
8347}
8348
8349/// MipmapLimitSettings is a sub class of the Unity engine since version 2022.2.0f1.
8350#[derive(Debug, Serialize, Deserialize)]
8351pub struct MipmapLimitSettings {
8352    pub limitBias: i32,
8353    pub limitBiasMode: i32,
8354}
8355
8356/// ModelImporter is a  class of the Unity engine since version 3.4.0.
8357/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ModelImporter.html):
8358/**
8359Model importer lets you modify model import settings from editor scripts.
8360Settings of this class match the ones exposed in Mesh Import Settings.
8361*/
8362#[derive(Debug, Serialize, Deserialize)]
8363pub struct ModelImporter {
8364    pub m_AddColliders: bool,
8365    /**Animation compression setting.*/
8366    pub m_AnimationCompression: i32,
8367    /**Allowed error of animation position compression.*/
8368    pub m_AnimationPositionError: f32,
8369    /**Allowed error of animation rotation compression.*/
8370    pub m_AnimationRotationError: f32,
8371    /**Allowed error of animation scale compression.*/
8372    pub m_AnimationScaleError: f32,
8373    /**The default wrap mode for the generated animation clips.*/
8374    pub m_AnimationWrapMode: i32,
8375    pub m_BakeSimulation: bool,
8376    /**Animation clips to split animation into. See Also: ModelImporterClipAnimation.*/
8377    pub m_ClipAnimations: Vec<ClipAnimationInfo>,
8378    /**Global scale factor for importing.*/
8379    pub m_GlobalScale: f32,
8380    pub m_HasExtraRoot: bool,
8381    /// Vec<PPtr<[`GameObject`]>>: (3.4.0 - 2022.3.2f1)
8382    pub m_ImportedRoots: Vec<PPtr>,
8383    /**Mesh compression setting.*/
8384    pub m_MeshCompression: i32,
8385    /**The name of the object.*/
8386    pub m_Name: String,
8387    /**Detect file units and import as 1FileUnit=1UnityUnit, otherwise it will import as 1cm=1UnityUnit.*/
8388    pub m_UseFileUnits: bool,
8389    pub normalSmoothAngle: f32,
8390    /**Computes the axis conversion on geometry and animation for Models defined in an axis system that differs from Unity's (left handed, Z forward, Y-up).                     When enabled, Unity transforms the geometry and animation data in order to convert the axis.                     When disabled, Unity transforms the root GameObject of the hierarchy in order to convert the axis.*/
8391    /// bool: (2020.1.0b1 - 2022.3.2f1)
8392    pub bakeAxisConversion: Option<bool>,
8393    /// i32: (2018.3.0f2 - 2022.3.2f1)
8394    pub blendShapeNormalImportMode: Option<i32>,
8395    /**Generate secondary UV set for lightmapping.*/
8396    /// bool: (3.5.0 - 2022.3.2f1)
8397    pub generateSecondaryUV: Option<bool>,
8398    /**Format of the imported mesh index buffer data.*/
8399    /// i32: (2017.3.0b1 - 2022.3.2f1)
8400    pub indexFormat: Option<i32>,
8401    /**If this is true, any quad faces that exist in the mesh data before it is imported are kept as quads instead of being split into two triangles, for the purposes of tessellation. Set this to false to disable this behavior.*/
8402    /// bool: (5.0.0f4 - 2022.3.2f1)
8403    pub keepQuads: Option<bool>,
8404    /// bool: (2018.3.0f2 - 2022.3.2f1)
8405    pub legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: Option<bool>,
8406    /// bool: (2020.2.0f1 - 2022.3.2f1)
8407    pub m_AddHumanoidExtraRootOnlyWhenUsingAvatar: Option<bool>,
8408    /// bool: (4.0.0 - 2022.3.2f1)
8409    pub m_AdditionalBone: Option<bool>,
8410    /// bool: (5.1.0f1 - 2022.3.2f1)
8411    pub m_AnimationDoRetargetingWarnings: Option<bool>,
8412    /// String: (5.1.0f1 - 2022.3.2f1)
8413    pub m_AnimationImportErrors: Option<String>,
8414    /// String: (5.1.0f1 - 2022.3.2f1)
8415    pub m_AnimationImportWarnings: Option<String>,
8416    /// String: (5.1.0f1 - 2022.3.2f1)
8417    pub m_AnimationRetargetingWarnings: Option<String>,
8418    /**Animator generation mode.*/
8419    /// i32: (4.0.0 - 2022.3.2f1)
8420    pub m_AnimationType: Option<i32>,
8421    /**Get or set the AssetBundle name.*/
8422    /// String: (5.0.0f4 - 2022.3.2f1)
8423    pub m_AssetBundleName: Option<String>,
8424    /**Get or set the AssetBundle variant.*/
8425    /// String: (5.0.0f4 - 2022.3.2f1)
8426    pub m_AssetBundleVariant: Option<String>,
8427    /**Generate auto mapping if no avatarSetup is provided when importing humanoid animation.*/
8428    /// bool: (2019.3.0f1 - 2022.3.2f1)
8429    pub m_AutoGenerateAvatarMappingIfUnspecified: Option<bool>,
8430    /// bool: (2017.2.0b2 - 2017.2.0b6)
8431    pub m_AutoMapExternalMaterials: Option<bool>,
8432    /**The Avatar generation of the imported model.*/
8433    /// i32: (2019.3.0b1 - 2022.3.2f1)
8434    pub m_AvatarSetup: Option<i32>,
8435    /// bool: (4.0.0 - 2019.3.0a2)
8436    pub m_CopyAvatar: Option<bool>,
8437    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
8438    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
8439    /**Animation optimization setting.*/
8440    /// Vec<String>: (4.3.0 - 2022.3.2f1)
8441    pub m_ExtraExposedTransformPaths: Option<Vec<String>>,
8442    /**A list of default FBX properties to treat as user properties during OnPostprocessGameObjectWithUserProperties.*/
8443    /// Vec<String>: (2017.1.0f2 - 2022.3.2f1)
8444    pub m_ExtraUserProperties: Option<Vec<String>>,
8445    /// Vec<(i32, String)>: (3.4.0 - 4.7.2); Vec<(i64, String)>: (5.0.0f4 - 2018.4.36f1)
8446    pub m_FileIDToRecycleName: Option<Vec<(i64, String)>>,
8447    /// i32: (2019.4.0f1 - 2022.3.2f1)
8448    pub m_FileIdsGeneration: Option<i32>,
8449    /**Scaling factor used when useFileScale is set to true (Read-only).*/
8450    /// f32: (5.0.0f4 - 2022.3.2f1)
8451    pub m_FileScale: Option<f32>,
8452    /// f32: (2018.3.0f2 - 2022.3.2f1)
8453    pub m_FileScaleFactor: Option<f32>,
8454    /// String: (2018.3.0f2 - 2022.3.2f1)
8455    pub m_FileScaleUnit: Option<String>,
8456    /// i32: (3.4.0 - 3.4.2)
8457    pub m_FirstImportVersion: Option<i32>,
8458    /**Animation generation options.*/
8459    /// i32: (3.4.0 - 3.5.7)
8460    pub m_GenerateAnimations: Option<i32>,
8461    /// i32: (3.4.0 - 3.4.2)
8462    pub m_GenerateMaterials: Option<i32>,
8463    /// bool: (2017.2.0b2 - 2022.3.2f1)
8464    pub m_HasEmbeddedTextures: Option<bool>,
8465    /// bool: (2018.2.0b1 - 2019.1.0a13)
8466    pub m_HasPreviousCalculatedGlobalScale: Option<bool>,
8467    /**The human description that is used to generate an Avatar during the import process.*/
8468    /// HumanDescription: (4.0.0 - 2022.3.2f1)
8469    pub m_HumanDescription: Option<HumanDescription>,
8470    /**Controls how much oversampling is used when importing humanoid animations for retargeting.*/
8471    /// i32: (5.2.0f2 - 2022.3.2f1)
8472    pub m_HumanoidOversampling: Option<i32>,
8473    /**Import animated custom properties from file.*/
8474    /// bool: (2017.2.0b2 - 2022.3.2f1)
8475    pub m_ImportAnimatedCustomProperties: Option<bool>,
8476    /**Import animation from file.*/
8477    /// bool: (4.0.0 - 2022.3.2f1)
8478    pub m_ImportAnimation: Option<bool>,
8479    /**Import BlendShapes deform percent.*/
8480    /// bool: (2022.1.0b1 - 2022.3.2f1)
8481    pub m_ImportBlendShapeDeformPercent: Option<bool>,
8482    /**Controls import of BlendShapes.*/
8483    /// bool: (4.1.0 - 2022.3.2f1)
8484    pub m_ImportBlendShapes: Option<bool>,
8485    /**Controls import of cameras. Basic properties like field of view, near plane distance and far plane distance can be animated.*/
8486    /// bool: (2017.1.0b1 - 2022.3.2f1)
8487    pub m_ImportCameras: Option<bool>,
8488    /**Import animation constraints.*/
8489    /// bool: (2018.1.0b2 - 2022.3.2f1)
8490    pub m_ImportConstraints: Option<bool>,
8491    /**Controls import of lights. Note that because light are defined differently in DCC tools, some light types or properties may not be exported. Basic properties like color and intensity can be animated.*/
8492    /// bool: (2017.1.0b1 - 2022.3.2f1)
8493    pub m_ImportLights: Option<bool>,
8494    /// bool: (3.5.0 - 2019.3.0a6)
8495    pub m_ImportMaterials: Option<bool>,
8496    /// bool: (2022.2.19f1 - 2022.3.2f1)
8497    pub m_ImportPhysicalCameras: Option<bool>,
8498    /**Use visibility properties to enable or disable MeshRenderer components.*/
8499    /// bool: (2017.1.0b1 - 2022.3.2f1)
8500    pub m_ImportVisibility: Option<bool>,
8501    /**Generates the list of all imported take.*/
8502    /// Vec<TakeInfo>: (4.0.0 - 2022.3.2f1)
8503    pub m_ImportedTakeInfos: Option<Vec<TakeInfo>>,
8504    /// Vec<((i32, i64), String)>: (2019.1.0b1 - 2022.3.2f1)
8505    pub m_InternalIDToNameTable: Option<Vec<((i32, i64), String)>>,
8506    /**Are mesh vertices and indices accessible from script?*/
8507    /// bool: (4.0.0 - 2022.3.2f1)
8508    pub m_IsReadable: Option<bool>,
8509    /// Vec<f32>: (3.5.0 - 2022.3.2f1)
8510    pub m_LODScreenPercentages: Option<Vec<f32>>,
8511    /// PPtr<[`Avatar`]>: (4.0.0 - 2022.3.2f1)
8512    pub m_LastHumanDescriptionAvatarSource: Option<PPtr>,
8513    /// i32: (4.0.0 - 2022.3.2f1)
8514    pub m_LegacyGenerateAnimations: Option<i32>,
8515    /**Material creation options.*/
8516    /// i32: (2019.3.0b1 - 2022.3.2f1)
8517    pub m_MaterialImportMode: Option<i32>,
8518    /**Material import location options.*/
8519    /// i32: (2017.2.0b2 - 2022.3.2f1)
8520    pub m_MaterialLocation: Option<i32>,
8521    /**Material naming setting.*/
8522    /// i32: (3.5.0 - 2022.3.2f1)
8523    pub m_MaterialName: Option<i32>,
8524    /**Existing material search setting.*/
8525    /// i32: (3.5.0 - 2022.3.2f1)
8526    pub m_MaterialSearch: Option<i32>,
8527    /// Vec<SourceAssetIdentifier>: (2017.2.0b2 - 2022.3.2f1)
8528    pub m_Materials: Option<Vec<SourceAssetIdentifier>>,
8529    /// bool: (3.4.0 - 3.4.2)
8530    #[serde(alias = "m_MeshSettings.generateSecondaryUV")]
8531    pub m_MeshSettings_generateSecondaryUV: Option<bool>,
8532    /// i32: (3.4.0 - 3.4.2)
8533    #[serde(alias = "m_MeshSettings.normalImportMode")]
8534    pub m_MeshSettings_normalImportMode: Option<i32>,
8535    /// f32: (3.4.0 - 3.4.2)
8536    #[serde(alias = "m_MeshSettings.secondaryUVAngleDistortion")]
8537    pub m_MeshSettings_secondaryUVAngleDistortion: Option<f32>,
8538    /// f32: (3.4.0 - 3.4.2)
8539    #[serde(alias = "m_MeshSettings.secondaryUVAreaDistortion")]
8540    pub m_MeshSettings_secondaryUVAreaDistortion: Option<f32>,
8541    /// f32: (3.4.0 - 3.4.2)
8542    #[serde(alias = "m_MeshSettings.secondaryUVHardAngle")]
8543    pub m_MeshSettings_secondaryUVHardAngle: Option<f32>,
8544    /// f32: (3.4.0 - 3.4.2)
8545    #[serde(alias = "m_MeshSettings.secondaryUVPackMargin")]
8546    pub m_MeshSettings_secondaryUVPackMargin: Option<f32>,
8547    /// bool: (3.4.0 - 3.4.2)
8548    #[serde(alias = "m_MeshSettings.swapUVChannels")]
8549    pub m_MeshSettings_swapUVChannels: Option<bool>,
8550    /// i32: (3.4.0 - 3.4.2)
8551    #[serde(alias = "m_MeshSettings.tangentImportMode")]
8552    pub m_MeshSettings_tangentImportMode: Option<i32>,
8553    /**The path of the transform used to generation the motion of the animation.*/
8554    /// String: (4.5.0 - 2022.3.2f1)
8555    pub m_MotionNodeName: Option<String>,
8556    /// MdFour: (3.4.0 - 3.4.2)
8557    pub m_NewHashIdentity: Option<MdFour>,
8558    /// i32: (2021.2.0b1 - 2022.3.2f1)
8559    pub m_NodeNameCollisionStrategy: Option<i32>,
8560    /// MdFour: (3.4.0 - 3.4.2)
8561    pub m_OldHashIdentity: Option<MdFour>,
8562    /**Animation optimization setting.*/
8563    /// bool: (4.3.0 - 2022.3.2f1)
8564    pub m_OptimizeGameObjects: Option<bool>,
8565    /**If true, always create an explicit Prefab root. Otherwise, if the model has a single root, it is reused as the Prefab root.*/
8566    /// bool: (2017.3.0b1 - 2022.3.2f1)
8567    pub m_PreserveHierarchy: Option<bool>,
8568    /// f32: (2018.2.0b1 - 2019.1.0a13)
8569    pub m_PreviousCalculatedGlobalScale: Option<f32>,
8570    /**Generates the list of all imported Animations.*/
8571    /// Vec<GUID>: (4.0.0 - 2022.3.2f1)
8572    pub m_ReferencedClips: Option<Vec<GUID>>,
8573    /// bool: (2020.3.37f1 - 2022.3.2f1)
8574    pub m_RemapMaterialsIfMaterialImportModeIsNone: Option<bool>,
8575    /**Removes constant animation curves with values identical to the object initial scale value.*/
8576    /// bool: (2021.2.0b1 - 2022.3.2f1)
8577    pub m_RemoveConstantScaleCurves: Option<bool>,
8578    /**If set to false, the importer will not resample curves when possible.Read more about animation curve resampling.Notes:- Some unsupported FBX features (such as PreRotation or PostRotation on transforms) will override this setting. In these situations, animation curves will still be resampled even if the setting is disabled. For best results, avoid using PreRotation, PostRotation and GetRotationPivot.- This option was introduced in Version 5.3. Prior to this version, Unity's import behaviour was as if this option was always enabled. Therefore enabling the option gives the same behaviour as pre-5.3 animation import.*/
8579    /// bool: (5.4.0f3 - 2022.3.2f1)
8580    pub m_ResampleCurves: Option<bool>,
8581    /// bool: (5.3.0f1 - 5.3.8f2)
8582    pub m_ResampleRotations: Option<bool>,
8583    /// String: (5.6.0b1 - 2022.3.2f1)
8584    pub m_RigImportErrors: Option<String>,
8585    /// String: (5.6.0b1 - 2022.3.2f1)
8586    pub m_RigImportWarnings: Option<String>,
8587    /**Sorts the gameObject hierarchy by name.*/
8588    /// bool: (2019.2.0b1 - 2022.3.2f1)
8589    pub m_SortHierarchyByName: Option<bool>,
8590    /// bool: (3.4.0 - 3.5.7)
8591    pub m_SplitAnimations: Option<bool>,
8592    /**Enables strict checks on imported vertex data.*/
8593    /// bool: (2022.1.0b1 - 2022.3.2f1)
8594    pub m_StrictVertexDataChecks: Option<bool>,
8595    /// bool: (2017.2.0f2 - 2022.3.2f1)
8596    pub m_SupportsEmbeddedMaterials: Option<bool>,
8597    /**Use FileScale when importing.*/
8598    /// bool: (5.0.0f4 - 2022.3.2f1)
8599    pub m_UseFileScale: Option<bool>,
8600    /**When disabled, imported material albedo colors are converted to gamma space. This property should be disabled when using linear color space in Player rendering settings.The default value is true.*/
8601    /// bool: (2018.3.0f2 - 2022.3.2f1)
8602    pub m_UseSRGBMaterialColor: Option<bool>,
8603    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
8604    pub m_UsedFileIDs: Option<Vec<i64>>,
8605    /**Get or set any user data.*/
8606    /// String: (4.0.0 - 2022.3.2f1)
8607    pub m_UserData: Option<String>,
8608    /**The maximum number of bones per vertex stored in this mesh data.*/
8609    /// i32: (2019.1.0b1 - 2022.3.2f1)
8610    pub maxBonesPerVertex: Option<i32>,
8611    /**Options to control the optimization of mesh data during asset import.*/
8612    /// i32: (2019.1.0b1 - 2022.3.2f1)
8613    pub meshOptimizationFlags: Option<i32>,
8614    /**Minimum bone weight to keep.*/
8615    /// f32: (2019.1.0b1 - 2022.3.2f1)
8616    pub minBoneWeight: Option<f32>,
8617    /**Normal generation options for ModelImporter.*/
8618    /// i32: (2017.1.0b1 - 2022.3.2f1)
8619    pub normalCalculationMode: Option<i32>,
8620    /// i32: (3.5.0 - 2022.3.2f1)
8621    pub normalImportMode: Option<i32>,
8622    /**Source of smoothing information for calculation of normals.*/
8623    /// i32: (2018.3.0f2 - 2022.3.2f1)
8624    pub normalSmoothingSource: Option<i32>,
8625    /**Only import bones where they are connected to vertices.*/
8626    /// bool: (2021.2.0b1 - 2022.3.2f1)
8627    pub optimizeBones: Option<bool>,
8628    /// bool: (3.5.0 - 3.5.7)
8629    pub optimizeMesh: Option<bool>,
8630    /// bool: (4.0.0 - 2018.4.36f1)
8631    pub optimizeMeshForGPU: Option<bool>,
8632    /**Threshold for angle distortion (in degrees) when generating secondary UV.*/
8633    /// f32: (3.5.0 - 2022.3.2f1)
8634    pub secondaryUVAngleDistortion: Option<f32>,
8635    /**Threshold for area distortion when generating secondary UV.*/
8636    /// f32: (3.5.0 - 2022.3.2f1)
8637    pub secondaryUVAreaDistortion: Option<f32>,
8638    /**Hard angle (in degrees) for generating secondary UV.*/
8639    /// f32: (3.5.0 - 2022.3.2f1)
8640    pub secondaryUVHardAngle: Option<f32>,
8641    /**Method to use for handling margins when generating secondary UV.*/
8642    /// i32: (2020.1.0b1 - 2022.3.2f1)
8643    pub secondaryUVMarginMethod: Option<i32>,
8644    /**The minimum lightmap resolution in texels per unit that the associated model is expected to have.*/
8645    /// f32: (2020.1.0b1 - 2022.3.2f1)
8646    pub secondaryUVMinLightmapResolution: Option<f32>,
8647    /**The minimum object scale that the associated model is expected to have.*/
8648    /// f32: (2020.1.0b1 - 2022.3.2f1)
8649    pub secondaryUVMinObjectScale: Option<f32>,
8650    /**Margin to be left between charts when packing secondary UV.*/
8651    /// f32: (3.5.0 - 2022.3.2f1)
8652    pub secondaryUVPackMargin: Option<f32>,
8653    /// i32: (2019.1.0b1 - 2022.3.2f1)
8654    pub skinWeightsMode: Option<i32>,
8655    /// bool: (3.4.0 - 5.2.5f1)
8656    pub splitTangentsAcrossUV: Option<bool>,
8657    /**Swap primary and secondary UV channels when importing.*/
8658    /// bool: (3.5.0 - 2022.3.2f1)
8659    pub swapUVChannels: Option<bool>,
8660    /// i32: (3.5.0 - 2022.3.2f1)
8661    pub tangentImportMode: Option<i32>,
8662    /**Combine vertices that share the same position in space.*/
8663    /// bool: (4.1.0 - 2022.3.2f1)
8664    pub weldVertices: Option<bool>,
8665}
8666
8667/// Module is a sub class of the Unity engine since version 2018.1.0b2.
8668#[derive(Debug, Serialize, Deserialize)]
8669pub struct Module {
8670    pub dependencies: Vec<String>,
8671    pub name: String,
8672    pub strippable: bool,
8673    /// bool: (2018.2.0f2 - 2022.3.2f1)
8674    pub controlledByBuiltinPackage: Option<bool>,
8675}
8676
8677/// MonoAssemblyImporter is a  class of the Unity engine since version 3.4.0.
8678#[derive(Debug, Serialize, Deserialize)]
8679pub struct MonoAssemblyImporter {
8680    pub m_ExecutionOrder: Vec<(String, i32)>,
8681    /// Vec<(String, PPtr<[`Texture2D`]>)>: (3.4.0 - 4.7.2)
8682    pub m_IconMap: Vec<(String, PPtr)>,
8683    pub m_Name: String,
8684    /// Vec<(i32, String)>: (3.4.0 - 3.4.2)
8685    pub m_FileIDToRecycleName: Option<Vec<(i32, String)>>,
8686    /// MdFour: (3.4.0 - 3.4.2)
8687    pub m_NewHashIdentity: Option<MdFour>,
8688    /// MdFour: (3.4.0 - 3.4.2)
8689    pub m_OldHashIdentity: Option<MdFour>,
8690    /// String: (4.0.0 - 4.7.2)
8691    pub m_UserData: Option<String>,
8692}
8693
8694/// MonoBehaviour is a  class of the Unity engine since version 3.4.0.
8695/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/MonoBehaviour.html):
8696/**
8697MonoBehaviour is a base class that many Unity scripts derive from.
8698MonoBehaviour offers life cycle functions that make it easier to develop with Unity.MonoBehaviours always exist as a Component of a GameObject, and can be instantiated with GameObject.AddComponent.  Objects that need to exist independently of a GameObject should derive from ScriptableObject instead.A MonoBehaviour can be deleted with Object.Destroy or Object.DestroyImmediate.  When the parent GameObject is destroyed all components are automatically deleted, including MonoBehaviours.After the underlying component is destroyed, the C# object for the MonoBehaviour remains in memory until garbage is collected. A MonoBehaviour in this state acts as if it is null. For example, it returns true for a "obj == null" check.
8699
8700However, this class doesn't support the null-conditional operator  (?.) and the null-coalescing operator (??).When a MonoBehaviour is serialized, the value of C# fields are included according to Unity's Serialization rules. See Script Serialization for details.
8701
8702The serialized data also includes internal properties, such as the reference to the MonoScript that tracks the implementation class for the object.For code samples, see the individual MonoBehaviour methods.Note: There is a checkbox for enabling or disabling MonoBehaviour in the Unity Editor.  It disables
8703
8704functions when unticked.  If none of these functions are present in the script, the Unity Editor does not
8705
8706display the checkbox.  The functions are:Start()
8707Update()
8708FixedUpdate()
8709LateUpdate()
8710OnGUI()
8711OnDisable()
8712OnEnable()See Also: The Deactivating GameObjects page in the manual.
8713*/
8714#[derive(Debug, Serialize, Deserialize)]
8715pub struct MonoBehaviour {
8716    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
8717    pub m_Enabled: u8,
8718    /**The game object this component is attached to. A component is always attached to a game object.*/
8719    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
8720    pub m_GameObject: PPtr,
8721    /**The name of the object.*/
8722    pub m_Name: String,
8723    /// PPtr<[`MonoScript`]>: (3.4.0 - 2022.3.2f1)
8724    pub m_Script: PPtr,
8725}
8726
8727/// MonoImporter is a  class of the Unity engine since version 3.4.0.
8728/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/MonoImporter.html):
8729/**
8730Represents a C# script in the project.
8731*/
8732#[derive(Debug, Serialize, Deserialize)]
8733pub struct MonoImporter {
8734    pub executionOrder: i16,
8735    /// PPtr<[`Texture2D`]>: (3.4.0 - 2022.3.2f1)
8736    pub icon: PPtr,
8737    /// Vec<(String, PPtr<[`Object`]>)>: (3.4.0 - 2022.3.2f1)
8738    pub m_DefaultReferences: Vec<(String, PPtr)>,
8739    /**The name of the object.*/
8740    pub m_Name: String,
8741    /**Get or set the AssetBundle name.*/
8742    /// String: (5.0.0f4 - 2022.3.2f1)
8743    pub m_AssetBundleName: Option<String>,
8744    /**Get or set the AssetBundle variant.*/
8745    /// String: (5.0.0f4 - 2022.3.2f1)
8746    pub m_AssetBundleVariant: Option<String>,
8747    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
8748    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
8749    /// Vec<(i32, String)>: (3.4.0 - 3.4.2)
8750    pub m_FileIDToRecycleName: Option<Vec<(i32, String)>>,
8751    /// MdFour: (3.4.0 - 3.4.2)
8752    pub m_NewHashIdentity: Option<MdFour>,
8753    /// MdFour: (3.4.0 - 3.4.2)
8754    pub m_OldHashIdentity: Option<MdFour>,
8755    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
8756    pub m_UsedFileIDs: Option<Vec<i64>>,
8757    /**Get or set any user data.*/
8758    /// String: (4.0.0 - 2022.3.2f1)
8759    pub m_UserData: Option<String>,
8760}
8761
8762/// MonoManager is a  class of the Unity engine since version 3.4.0.
8763#[derive(Debug, Serialize, Deserialize)]
8764pub struct MonoManager {
8765    /// Vec<PPtr<[`MonoScript`]>>: (3.4.0 - 2022.3.2f1)
8766    pub m_Scripts: Vec<PPtr>,
8767    /// Vec<String>: (3.4.0 - 2020.2.0a19)
8768    pub m_AssemblyNames: Option<Vec<String>>,
8769    /// Vec<i32>: (2017.1.0b1 - 2020.2.0a19)
8770    pub m_AssemblyTypes: Option<Vec<i32>>,
8771    /// Vec<(i32, Hash128)>: (2020.2.0b1 - 2022.3.2f1)
8772    pub m_RuntimeClassHashes: Option<Vec<(i32, Hash128)>>,
8773    /// Vec<(Hash128, Hash128)>: (2020.2.0b1 - 2022.3.2f1)
8774    pub m_ScriptHashes: Option<Vec<(Hash128, Hash128)>>,
8775}
8776
8777/// MonoScript is a  class of the Unity engine since version 3.4.0.
8778/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/MonoScript.html):
8779/**
8780Representation of Script assets.
8781This class represents C# files stored in the project.
8782*/
8783#[derive(Debug, Serialize, Deserialize)]
8784pub struct MonoScript {
8785    pub m_AssemblyName: String,
8786    pub m_ClassName: String,
8787    pub m_ExecutionOrder: i32,
8788    /**The name of the object.*/
8789    pub m_Name: String,
8790    pub m_Namespace: String,
8791    pub m_PropertiesHash: Enum_u32__Hash128,
8792    /// bool: (3.4.0 - 2018.1.9f2)
8793    pub m_IsEditorScript: Option<bool>,
8794}
8795
8796/// MovieImporter is a  class of the Unity engine since version 3.4.0.
8797#[derive(Debug, Serialize, Deserialize)]
8798pub struct MovieImporter {
8799    pub m_Name: String,
8800    pub m_Quality: f32,
8801    /// String: (5.0.0f4 - 2019.2.21f1)
8802    pub m_AssetBundleName: Option<String>,
8803    /// String: (5.0.0f4 - 2019.2.21f1)
8804    pub m_AssetBundleVariant: Option<String>,
8805    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2019.2.21f1)
8806    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
8807    /// Vec<(i32, String)>: (3.4.0 - 3.4.2)
8808    pub m_FileIDToRecycleName: Option<Vec<(i32, String)>>,
8809    /// bool: (3.5.0 - 2019.2.21f1)
8810    pub m_LinearTexture: Option<bool>,
8811    /// MdFour: (3.4.0 - 3.4.2)
8812    pub m_NewHashIdentity: Option<MdFour>,
8813    /// MdFour: (3.4.0 - 3.4.2)
8814    pub m_OldHashIdentity: Option<MdFour>,
8815    /// Vec<i64>: (2019.1.0b1 - 2019.2.21f1)
8816    pub m_UsedFileIDs: Option<Vec<i64>>,
8817    /// String: (4.0.0 - 2019.2.21f1)
8818    pub m_UserData: Option<String>,
8819}
8820
8821/// MovieTexture is a  class of the Unity engine since version 3.4.0.
8822/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/MovieTexture.html):
8823/**
8824MovieTexture has been removed. Use VideoPlayer instead.
8825*/
8826#[derive(Debug, Serialize, Deserialize)]
8827pub struct MovieTexture {
8828    /**The name of the object.*/
8829    pub m_Name: String,
8830    /// PPtr<[`AudioClip`]>: (3.4.0 - 2019.2.21f1)
8831    pub m_AudioClip: Option<PPtr>,
8832    /// i32: (3.5.0 - 2019.2.21f1)
8833    pub m_ColorSpace: Option<i32>,
8834    /// bool: (2017.3.0b1 - 2022.3.2f1)
8835    pub m_DownscaleFallback: Option<bool>,
8836    /// i32: (2017.3.0b1 - 2022.3.2f1)
8837    pub m_ForcedFallbackFormat: Option<i32>,
8838    /// bool: (2020.2.0b1 - 2022.3.2f1)
8839    pub m_IsAlphaChannelOptional: Option<bool>,
8840    /// bool: (3.4.0 - 2019.2.21f1)
8841    pub m_Loop: Option<bool>,
8842    /// Vec<u8>: (3.4.0 - 2019.2.21f1)
8843    pub m_MovieData: Option<Vec<u8>>,
8844}
8845
8846/// MultiArtifactTestImporter is a  class of the Unity engine since version 2019.2.0b1.
8847#[derive(Debug, Serialize, Deserialize)]
8848pub struct MultiArtifactTestImporter {
8849    pub m_AssetBundleName: String,
8850    pub m_AssetBundleVariant: String,
8851    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2019.2.0b1 - 2022.3.2f1)
8852    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
8853    pub m_Name: String,
8854    pub m_UsedFileIDs: Vec<i64>,
8855    pub m_UserData: String,
8856}
8857
8858/// MultiModeParameter is a sub class of the Unity engine since version 5.6.0f1.
8859#[derive(Debug, Serialize, Deserialize)]
8860pub struct MultiModeParameter {
8861    pub mode: i32,
8862    pub speed: MinMaxCurve,
8863    pub spread: f32,
8864    /// f32: (5.6.0f1 - 2018.2.21f1)
8865    pub value: Option<f32>,
8866}
8867
8868/// NScreenBridge is a  class of the Unity engine since version 5.0.0f4.
8869#[derive(Debug, Serialize, Deserialize)]
8870pub struct NScreenBridge {}
8871
8872/// NameToObjectMap is a sub class of the Unity engine since version 3.4.0.
8873#[derive(Debug, Serialize, Deserialize)]
8874pub struct NameToObjectMap {
8875    /// Vec<(PPtr<[`Shader`]>, String)>: (3.4.0 - 2022.3.2f1)
8876    pub m_ObjectToName: Vec<(PPtr, String)>,
8877}
8878
8879/// NamedObject is a  class of the Unity engine since version 3.4.0.
8880#[derive(Debug, Serialize, Deserialize)]
8881pub struct NamedObject {
8882    pub m_Name: String,
8883}
8884
8885/// NativeFormatImporter is a  class of the Unity engine since version 4.0.0.
8886#[derive(Debug, Serialize, Deserialize)]
8887pub struct NativeFormatImporter {
8888    pub m_Name: String,
8889    pub m_UserData: String,
8890    /// String: (5.0.0f4 - 2022.3.2f1)
8891    pub m_AssetBundleName: Option<String>,
8892    /// String: (5.0.0f4 - 2022.3.2f1)
8893    pub m_AssetBundleVariant: Option<String>,
8894    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
8895    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
8896    /// i64: (5.6.0f1 - 2022.3.2f1)
8897    pub m_MainObjectFileID: Option<i64>,
8898    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
8899    pub m_UsedFileIDs: Option<Vec<i64>>,
8900}
8901
8902/// NativeObjectType is a  class of the Unity engine since version 2019.1.0b1.
8903#[derive(Debug, Serialize, Deserialize)]
8904pub struct NativeObjectType {
8905    pub m_Inner: NativeType,
8906}
8907
8908/// NativeType is a sub class of the Unity engine since version 2019.1.0b1.
8909#[derive(Debug, Serialize, Deserialize)]
8910pub struct NativeType {
8911    pub a: i32,
8912    pub b: f32,
8913    pub embedded: EmbeddedNativeType,
8914}
8915
8916/// NavMesh is a  class of the Unity engine since version 3.5.0.
8917/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AI.NavMesh.html):
8918/**
8919Singleton class to access the baked NavMesh.
8920Use the NavMesh class to perform spatial queries such as pathfinding and walkability tests. This class also lets you set the pathfinding cost for specific area types, and tweak the global behavior of pathfinding and avoidance.Before you can use spatial queries, you must first bake the NavMesh to your scene.See also:
8921• Building a NavMesh – for more information on how to setup and bake NavMesh
8922• Areas and Costs – to learn how to use different Area types.
8923• NavMeshAgent – to learn how to control and move NavMesh Agents.
8924• NavMeshObstacle – to learn how to control NavMesh Obstacles using scripting.
8925• OffMeshLink – to learn how to control Off-Mesh Links using scripting.
8926*/
8927#[derive(Debug, Serialize, Deserialize)]
8928pub struct NavMesh {
8929    pub m_Heightmaps: Vec<HeightmapData>,
8930    pub m_MeshData: Vec<u8>,
8931    pub m_Name: String,
8932}
8933
8934/// NavMeshAgent is a  class of the Unity engine since version 3.5.0.
8935/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent.html):
8936/**
8937Navigation mesh agent.
8938This component is attached to a mobile character in the game to allow it to navigate the Scene using the NavMesh. See the Navigation section of the manual for further details.
8939*/
8940#[derive(Debug, Serialize, Deserialize)]
8941pub struct NavMeshAgent {
8942    /**The maximum acceleration of an agent as it follows a path, given in units / sec^2.*/
8943    pub m_Acceleration: f32,
8944    /**Maximum turning speed in (deg/s) while following a path.*/
8945    pub m_AngularSpeed: f32,
8946    /**Should the agent attempt to acquire a new path if the existing path becomes invalid?*/
8947    pub m_AutoRepath: bool,
8948    /**Should the agent move across OffMeshLinks automatically?*/
8949    pub m_AutoTraverseOffMeshLink: bool,
8950    /**The relative vertical displacement of the owning GameObject.*/
8951    pub m_BaseOffset: f32,
8952    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
8953    pub m_Enabled: u8,
8954    /**The game object this component is attached to. A component is always attached to a game object.*/
8955    /// PPtr<[`GameObject`]>: (3.5.0 - 2022.3.2f1)
8956    pub m_GameObject: PPtr,
8957    /**The height of the agent for purposes of passing under obstacles, etc.*/
8958    pub m_Height: f32,
8959    /**The level of quality of avoidance.*/
8960    pub m_ObstacleAvoidanceType: i32,
8961    /**The avoidance radius for the agent.*/
8962    pub m_Radius: f32,
8963    /**Maximum movement speed when following a path.*/
8964    pub m_Speed: f32,
8965    /**Stop within this distance from the target position.*/
8966    pub m_StoppingDistance: f32,
8967    pub m_WalkableMask: u32,
8968    /**The avoidance priority level.*/
8969    /// i32: (4.0.0 - 2022.3.2f1)
8970    pub avoidancePriority: Option<i32>,
8971    /**The type ID for the agent.*/
8972    /// i32: (5.6.0b1 - 2022.3.2f1)
8973    pub m_AgentTypeID: Option<i32>,
8974    /**Should the agent brake automatically to avoid overshooting the destination point?*/
8975    /// bool: (4.1.0 - 2022.3.2f1)
8976    pub m_AutoBraking: Option<bool>,
8977}
8978
8979/// NavMeshAreaData is a sub class of the Unity engine since version 5.0.0f4.
8980#[derive(Debug, Serialize, Deserialize)]
8981pub struct NavMeshAreaData {
8982    pub cost: f32,
8983    pub name: String,
8984}
8985
8986/// NavMeshAreas is a  class of the Unity engine since version 5.0.0f4.
8987#[derive(Debug, Serialize, Deserialize)]
8988pub struct NavMeshAreas {
8989    pub areas: Vec<NavMeshAreaData>,
8990}
8991
8992/// NavMeshBuildDebugSettings is a sub class of the Unity engine since version 2017.2.0b2.
8993/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AI.NavMeshBuildDebugSettings.html):
8994/**
8995Specify which of the temporary data generated while building the NavMesh should be retained in memory after the process has completed.
8996It is possible to collect and display in the Editor the intermediate data used in the process of building the navigation mesh using the NavMeshBuilder. This can help with diagnosing those situations when the resulting NavMesh isn’t of the expected shape.
8997Input Geometry, Regions, Polygonal Mesh Detail and Raw Contours shown after building the NavMesh with debug optionsThe process for computing a NavMesh comprises of several sequential steps:
8998i. decomposing the Scene's terrain and meshes into triangles;
8999ii. rasterizing the input triangles into a 3D voxel representation and finding ledges;
9000iii. partitioning the voxels lying at the surface into simpler horizontal regions;
9001iv. finding a tight-fitting contour for each of these regions;
9002v. simplifying the contours into polygonal shapes;
9003vi. creating a mesh of convex polygons based on all the contours combined;
9004vii. refining the polygonal mesh into a triangulated version that approximates better the Scene's original geometry.Through the use of the debug functionality the results from each stage can be captured and displayed separately, whereas normally they would get discarded when the NavMesh construction is completed.Depending on the Scene composition this debug data can be considerably large in size. It is stored in memory in a compressed manner but gets further expanded when being displayed.Notes:
9005*/
9006#[derive(Debug, Serialize, Deserialize)]
9007pub struct NavMeshBuildDebugSettings {
9008    /**Specify which types of debug data to collect when building the NavMesh.*/
9009    pub m_Flags: u8,
9010}
9011
9012/// NavMeshBuildSettings is a sub class of the Unity engine since version 5.6.0b1.
9013/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AI.NavMeshBuildSettings.html):
9014/**
9015The NavMeshBuildSettings struct allows you to specify a collection of settings which describe the dimensions and limitations of a particular agent type.
9016You might want to define multiple NavMeshBuildSettings if your game involves characters with large differences in height, width or climbing ability.You can also use this struct to control the precision and granularity of the build process, by setting the voxel and tile sizes. Some of the values are coupled, meaning there are constraints on the values based on other values. For example, it’s not valid for agentClimb to be larger than agentHeight.
9017To help diagnose violations of these rules, a special method ValidationReport can be evaluated.
9018*/
9019#[derive(Debug, Serialize, Deserialize)]
9020pub struct NavMeshBuildSettings {
9021    /**The maximum vertical step size an agent can take.*/
9022    pub agentClimb: f32,
9023    /**The height of the agent for baking in world units.*/
9024    pub agentHeight: f32,
9025    /**The radius of the agent for baking in world units.*/
9026    pub agentRadius: f32,
9027    /**The maximum slope angle which is walkable (angle in degrees).*/
9028    pub agentSlope: f32,
9029    /**The agent type ID the NavMesh will be baked for.*/
9030    pub agentTypeID: i32,
9031    pub cellSize: f32,
9032    /**Maximum agent drop height.*/
9033    pub ledgeDropHeight: f32,
9034    pub manualCellSize: Enum_bool__i32,
9035    pub manualTileSize: Enum_bool__i32,
9036    /**Maximum agent jump distance.*/
9037    pub maxJumpAcrossDistance: f32,
9038    /**The approximate minimum area of individual NavMesh regions.*/
9039    pub minRegionArea: f32,
9040    /**Sets the tile size in voxel units.*/
9041    pub tileSize: i32,
9042    /// bool: (5.6.0b1 - 5.6.0b11); i32: (5.6.0f2 - 2022.1.24f1)
9043    pub accuratePlacement: Option<Enum_bool__i32>,
9044    /**Enables the creation of additional data needed to determine the height at any position on the NavMesh more accurately.*/
9045    /// i32: (2022.2.0b1 - 2022.3.2f1)
9046    pub buildHeightMesh: Option<i32>,
9047    /**Options for collecting debug data during the build process.*/
9048    /// NavMeshBuildDebugSettings: (2017.2.0b2 - 2022.3.2f1)
9049    pub debug: Option<NavMeshBuildDebugSettings>,
9050    /// i32: (2020.1.0a23 - 2020.1.0a23)
9051    pub keepTiles: Option<i32>,
9052    /**The maximum number of worker threads that the build process can utilize when building a NavMesh with these settings.*/
9053    /// u32: (2020.1.0b1 - 2022.3.2f1)
9054    pub maxJobWorkers: Option<u32>,
9055    /// i32: (2020.1.0b1 - 2022.3.2f1)
9056    pub preserveTilesOutsideBounds: Option<i32>,
9057}
9058
9059#[derive(Debug, Serialize, Deserialize)]
9060#[serde(untagged)]
9061pub enum Enum_bool__i32 {
9062    bool(bool),
9063    i32(i32),
9064}
9065
9066/// NavMeshData is a  class of the Unity engine since version 5.0.0f4.
9067/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AI.NavMeshData.html):
9068/**
9069Contains and represents NavMesh data.
9070An object of this class can be used for creating instances of NavMeshes. See NavMesh.AddNavMeshData. The contained NavMesh can be built and updated using the build API. See NavMeshBuilder and methods therein.
9071*/
9072#[derive(Debug, Serialize, Deserialize)]
9073pub struct NavMeshData {
9074    pub m_HeightMeshes: Vec<HeightMeshData>,
9075    pub m_Heightmaps: Vec<HeightmapData>,
9076    /**The name of the object.*/
9077    pub m_Name: String,
9078    pub m_NavMeshTiles: Vec<NavMeshTileData>,
9079    pub m_OffMeshLinks: Vec<AutoOffMeshLinkData>,
9080    /// i32: (5.6.1f1 - 2022.3.2f1)
9081    pub m_AgentTypeID: Option<i32>,
9082    /// NavMeshBuildSettings: (5.6.0b1 - 2022.3.2f1)
9083    pub m_NavMeshBuildSettings: Option<NavMeshBuildSettings>,
9084    /// NavMeshParams: (5.0.0f4 - 5.5.6f1)
9085    pub m_NavMeshParams: Option<NavMeshParams>,
9086    /**Gets or sets the world space position of the NavMesh data.*/
9087    /// Vector3f: (5.6.1f1 - 2022.3.2f1)
9088    pub m_Position: Option<Vector3f>,
9089    /**Gets or sets the orientation of the NavMesh data.*/
9090    /// Quaternionf: (5.6.1f1 - 2022.3.2f1)
9091    pub m_Rotation: Option<Quaternionf>,
9092    /**Returns the bounding volume of the input geometry used to build this NavMesh (Read Only).*/
9093    /// AABB: (5.6.1f1 - 2022.3.2f1)
9094    pub m_SourceBounds: Option<AABB>,
9095}
9096
9097/// NavMeshLayerData is a sub class of the Unity engine since version 3.5.0.
9098#[derive(Debug, Serialize, Deserialize)]
9099pub struct NavMeshLayerData {
9100    pub cost: f32,
9101    pub editType: i32,
9102    pub name: String,
9103}
9104
9105/// NavMeshLayers is a  class of the Unity engine since version 3.5.0.
9106#[derive(Debug, Serialize, Deserialize)]
9107pub struct NavMeshLayers {
9108    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9109    #[serde(alias = "Built-in Layer 0")]
9110    pub Built_in_Layer_0: Option<NavMeshLayerData>,
9111    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9112    #[serde(alias = "Built-in Layer 1")]
9113    pub Built_in_Layer_1: Option<NavMeshLayerData>,
9114    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9115    #[serde(alias = "Built-in Layer 2")]
9116    pub Built_in_Layer_2: Option<NavMeshLayerData>,
9117    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9118    #[serde(alias = "User Layer 0")]
9119    pub User_Layer_0: Option<NavMeshLayerData>,
9120    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9121    #[serde(alias = "User Layer 1")]
9122    pub User_Layer_1: Option<NavMeshLayerData>,
9123    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9124    #[serde(alias = "User Layer 10")]
9125    pub User_Layer_10: Option<NavMeshLayerData>,
9126    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9127    #[serde(alias = "User Layer 11")]
9128    pub User_Layer_11: Option<NavMeshLayerData>,
9129    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9130    #[serde(alias = "User Layer 12")]
9131    pub User_Layer_12: Option<NavMeshLayerData>,
9132    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9133    #[serde(alias = "User Layer 13")]
9134    pub User_Layer_13: Option<NavMeshLayerData>,
9135    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9136    #[serde(alias = "User Layer 14")]
9137    pub User_Layer_14: Option<NavMeshLayerData>,
9138    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9139    #[serde(alias = "User Layer 15")]
9140    pub User_Layer_15: Option<NavMeshLayerData>,
9141    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9142    #[serde(alias = "User Layer 16")]
9143    pub User_Layer_16: Option<NavMeshLayerData>,
9144    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9145    #[serde(alias = "User Layer 17")]
9146    pub User_Layer_17: Option<NavMeshLayerData>,
9147    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9148    #[serde(alias = "User Layer 18")]
9149    pub User_Layer_18: Option<NavMeshLayerData>,
9150    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9151    #[serde(alias = "User Layer 19")]
9152    pub User_Layer_19: Option<NavMeshLayerData>,
9153    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9154    #[serde(alias = "User Layer 2")]
9155    pub User_Layer_2: Option<NavMeshLayerData>,
9156    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9157    #[serde(alias = "User Layer 20")]
9158    pub User_Layer_20: Option<NavMeshLayerData>,
9159    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9160    #[serde(alias = "User Layer 21")]
9161    pub User_Layer_21: Option<NavMeshLayerData>,
9162    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9163    #[serde(alias = "User Layer 22")]
9164    pub User_Layer_22: Option<NavMeshLayerData>,
9165    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9166    #[serde(alias = "User Layer 23")]
9167    pub User_Layer_23: Option<NavMeshLayerData>,
9168    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9169    #[serde(alias = "User Layer 24")]
9170    pub User_Layer_24: Option<NavMeshLayerData>,
9171    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9172    #[serde(alias = "User Layer 25")]
9173    pub User_Layer_25: Option<NavMeshLayerData>,
9174    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9175    #[serde(alias = "User Layer 26")]
9176    pub User_Layer_26: Option<NavMeshLayerData>,
9177    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9178    #[serde(alias = "User Layer 27")]
9179    pub User_Layer_27: Option<NavMeshLayerData>,
9180    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9181    #[serde(alias = "User Layer 28")]
9182    pub User_Layer_28: Option<NavMeshLayerData>,
9183    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9184    #[serde(alias = "User Layer 3")]
9185    pub User_Layer_3: Option<NavMeshLayerData>,
9186    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9187    #[serde(alias = "User Layer 4")]
9188    pub User_Layer_4: Option<NavMeshLayerData>,
9189    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9190    #[serde(alias = "User Layer 5")]
9191    pub User_Layer_5: Option<NavMeshLayerData>,
9192    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9193    #[serde(alias = "User Layer 6")]
9194    pub User_Layer_6: Option<NavMeshLayerData>,
9195    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9196    #[serde(alias = "User Layer 7")]
9197    pub User_Layer_7: Option<NavMeshLayerData>,
9198    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9199    #[serde(alias = "User Layer 8")]
9200    pub User_Layer_8: Option<NavMeshLayerData>,
9201    /// NavMeshLayerData: (3.5.0 - 4.7.2)
9202    #[serde(alias = "User Layer 9")]
9203    pub User_Layer_9: Option<NavMeshLayerData>,
9204}
9205
9206/// NavMeshObsolete is a  class of the Unity engine since version 5.0.0f4.
9207#[derive(Debug, Serialize, Deserialize)]
9208pub struct NavMeshObsolete {
9209    pub m_Name: String,
9210}
9211
9212/// NavMeshObstacle is a  class of the Unity engine since version 4.0.0.
9213/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AI.NavMeshObstacle.html):
9214/**
9215An obstacle for NavMeshAgents to avoid.
9216A NavMeshObstacle is cylindrical in shape and can move around the surface of the NavMesh with a specified velocity. By default, the obstacle will only affect the agent's avoidance behaviour rather than the pathfinding. This means that the agent will ignore the obstacle when plotting a path but will sidestep around it while moving along the path. If carving is enabled, the obstacle will create a temporary "hole" in the NavMesh. The hole will be recognised by the pathfinding, so paths will be plotted to avoid the obstacle. This means that if, say, an obstacle blocks a narrow gap, the pathfinding will seek an alternative route to the target. Without carving, the agent will head for the gap but won't be able to pass until the obstacle is clear.See Also: NavMeshAgent.
9217*/
9218#[derive(Debug, Serialize, Deserialize)]
9219pub struct NavMeshObstacle {
9220    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
9221    pub m_Enabled: u8,
9222    /**The game object this component is attached to. A component is always attached to a game object.*/
9223    /// PPtr<[`GameObject`]>: (4.0.0 - 2022.3.2f1)
9224    pub m_GameObject: PPtr,
9225    /// bool: (4.3.0 - 2022.3.2f1)
9226    pub m_Carve: Option<bool>,
9227    /**Should this obstacle be carved when it is constantly moving?*/
9228    /// bool: (5.0.0f4 - 2022.3.2f1)
9229    pub m_CarveOnlyStationary: Option<bool>,
9230    /**The center of the obstacle, measured in the object's local space.*/
9231    /// Vector3f: (5.0.0f4 - 2022.3.2f1)
9232    pub m_Center: Option<Vector3f>,
9233    /// Vector3f: (5.0.0f4 - 2022.3.2f1)
9234    pub m_Extents: Option<Vector3f>,
9235    /**Height of the obstacle's cylinder shape.*/
9236    /// f32: (4.0.0 - 4.7.2)
9237    pub m_Height: Option<f32>,
9238    /// f32: (4.3.0 - 2022.3.2f1)
9239    pub m_MoveThreshold: Option<f32>,
9240    /**Radius of the obstacle's capsule shape.*/
9241    /// f32: (4.0.0 - 4.7.2)
9242    pub m_Radius: Option<f32>,
9243    /**The shape of the obstacle.*/
9244    /// i32: (5.0.0f4 - 2022.3.2f1)
9245    pub m_Shape: Option<i32>,
9246    /// f32: (5.0.0f4 - 2022.3.2f1)
9247    pub m_TimeToStationary: Option<f32>,
9248}
9249
9250/// NavMeshParams is a sub class of the Unity engine since version 5.0.0f4.
9251#[derive(Debug, Serialize, Deserialize)]
9252pub struct NavMeshParams {
9253    pub cellSize: f32,
9254    pub tileSize: f32,
9255    pub walkableClimb: f32,
9256    pub walkableHeight: f32,
9257    pub walkableRadius: f32,
9258}
9259
9260/// NavMeshProjectSettings is a  class of the Unity engine since version 5.5.0f3.
9261#[derive(Debug, Serialize, Deserialize)]
9262pub struct NavMeshProjectSettings {
9263    pub areas: Vec<NavMeshAreaData>,
9264    /// i32: (5.6.0b1 - 2022.3.2f1)
9265    pub m_LastAgentTypeID: Option<i32>,
9266    /// Vec<String>: (5.6.0b1 - 2022.3.2f1)
9267    pub m_SettingNames: Option<Vec<String>>,
9268    /// Vec<NavMeshBuildSettings>: (5.6.0b1 - 2022.3.2f1)
9269    pub m_Settings: Option<Vec<NavMeshBuildSettings>>,
9270}
9271
9272/// NavMeshSettings is a  class of the Unity engine since version 3.5.0.
9273#[derive(Debug, Serialize, Deserialize)]
9274pub struct NavMeshSettings {
9275    /// PPtr<[`NavMesh`]>: (3.5.0 - 4.7.2)
9276    pub m_NavMesh: Option<PPtr>,
9277    /// PPtr<[`NavMeshData`]>: (5.0.0f4 - 2022.3.2f1)
9278    pub m_NavMeshData: Option<PPtr>,
9279}
9280
9281/// NavMeshTileData is a sub class of the Unity engine since version 5.0.0f4.
9282#[derive(Debug, Serialize, Deserialize)]
9283pub struct NavMeshTileData {
9284    pub m_MeshData: Vec<u8>,
9285    /// Hash128: (5.6.0b1 - 2022.3.2f1)
9286    pub m_Hash: Option<Hash128>,
9287}
9288
9289/// NetworkManager is a  class of the Unity engine since version 3.4.0.
9290#[derive(Debug, Serialize, Deserialize)]
9291pub struct NetworkManager {
9292    /// Vec<(GUID, PPtr<[`GameObject`]>)>: (3.4.0 - 2018.1.9f2)
9293    pub m_AssetToPrefab: Vec<(GUID, PPtr)>,
9294    pub m_DebugLevel: i32,
9295    pub m_Sendrate: f32,
9296}
9297
9298/// NetworkView is a  class of the Unity engine since version 3.4.0.
9299/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/NetworkView.html):
9300/**
9301The network view is the binding material of multiplayer games.
9302With this you can define exactly what is to be synchronized over the network and how
9303it should be done. Game objects can have NetworkView components which can be
9304configured to watch other components for the object.
9305For more information see the  Network View manual page and the component reference page.
9306*/
9307#[derive(Debug, Serialize, Deserialize)]
9308pub struct NetworkView {
9309    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
9310    pub m_Enabled: u8,
9311    /**The game object this component is attached to. A component is always attached to a game object.*/
9312    /// PPtr<[`GameObject`]>: (3.4.0 - 2018.1.9f2)
9313    pub m_GameObject: PPtr,
9314    /// PPtr<[`Component`]>: (3.4.0 - 2018.1.9f2)
9315    pub m_Observed: PPtr,
9316    pub m_StateSynchronization: i32,
9317    pub m_ViewID: NetworkViewID,
9318}
9319
9320/// NetworkViewID is a sub class of the Unity engine since version 3.4.0.
9321/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/NetworkViewID.html):
9322/**
9323The NetworkViewID is a unique identifier for a network view instance in a multiplayer game.
9324It is imporatant that this is a unique number accross all clients and that they can generate
9325these numbers themselves, or else network synchronization will break.
9326*/
9327#[derive(Debug, Serialize, Deserialize)]
9328pub struct NetworkViewID {
9329    pub m_ID: u32,
9330    pub m_Type: u32,
9331}
9332
9333/// NewAnimationTrack is a  class of the Unity engine since version 3.4.0.
9334#[derive(Debug, Serialize, Deserialize)]
9335pub struct NewAnimationTrack {
9336    pub m_ClassID: i32,
9337    pub m_Curves: Vec<Channel>,
9338    pub m_Name: String,
9339}
9340
9341/// NoiseModule is a sub class of the Unity engine since version 5.5.0f3.
9342/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.NoiseModule.html):
9343/**
9344Script interface for the NoiseModule.
9345The Noise Module allows you to apply turbulence to the movement of your particles. Use the low quality settings to create computationally efficient Noise, or simulate smoother, richer Noise with the higher quality settings. You can also choose to define the behavior of the Noise individually for each axis.See Also: ParticleSystem, ParticleSystem.noise.
9346*/
9347#[derive(Debug, Serialize, Deserialize)]
9348pub struct NoiseModule {
9349    /**Higher frequency noise reduces the strength by a proportional amount, if enabled.*/
9350    pub damping: bool,
9351    /**Specifies whether the the NoiseModule is enabled or disabled.*/
9352    pub enabled: bool,
9353    /**Low values create soft, smooth noise, and high values create rapidly changing noise.*/
9354    pub frequency: f32,
9355    /**When combining each octave, scale the intensity by this amount.*/
9356    pub octaveMultiplier: f32,
9357    /**When combining each octave, zoom in by this amount.*/
9358    pub octaveScale: f32,
9359    pub octaves: i32,
9360    /**Generate 1D, 2D or 3D noise.*/
9361    pub quality: i32,
9362    /**Define how the noise values are remapped.*/
9363    pub remap: MinMaxCurve,
9364    /**Enable remapping of the final noise values, allowing for noise values to be translated into different values.*/
9365    pub remapEnabled: bool,
9366    /**Define how the noise values are remapped on the y-axis, when using the ParticleSystem.NoiseModule.separateAxes option.*/
9367    pub remapY: MinMaxCurve,
9368    /**Define how the noise values are remapped on the z-axis, when using the ParticleSystem.NoiseModule.separateAxes option.*/
9369    pub remapZ: MinMaxCurve,
9370    /**Scroll the noise map over the Particle System.*/
9371    pub scrollSpeed: MinMaxCurve,
9372    /**Control the noise separately for each axis.*/
9373    pub separateAxes: bool,
9374    /**How strong the overall noise effect is.*/
9375    pub strength: MinMaxCurve,
9376    /**Define the strength of the effect on the y-axis, when using the ParticleSystem.NoiseModule.separateAxes option.*/
9377    pub strengthY: MinMaxCurve,
9378    /**Define the strength of the effect on the z-axis, when using the ParticleSystem.NoiseModule.separateAxes option.*/
9379    pub strengthZ: MinMaxCurve,
9380    /**How much the noise affects the particle positions.*/
9381    /// MinMaxCurve: (2017.1.0b2 - 2022.3.2f1)
9382    pub positionAmount: Option<MinMaxCurve>,
9383    /**How much the noise affects the particle rotation, in degrees per second.*/
9384    /// MinMaxCurve: (2017.1.0b2 - 2022.3.2f1)
9385    pub rotationAmount: Option<MinMaxCurve>,
9386    /**How much the noise affects the particle sizes, applied as a multiplier on the size of each particle.*/
9387    /// MinMaxCurve: (2017.1.0b2 - 2022.3.2f1)
9388    pub sizeAmount: Option<MinMaxCurve>,
9389}
9390
9391/// NonAlignedStruct is a sub class of the Unity engine since version 2019.1.0b1.
9392#[derive(Debug, Serialize, Deserialize)]
9393pub struct NonAlignedStruct {
9394    pub m_Bool: bool,
9395}
9396
9397/// OcclusionArea is a  class of the Unity engine since version 3.4.0.
9398/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/OcclusionArea.html):
9399/**
9400OcclusionArea is an area in which occlusion culling is performed.
9401*/
9402#[derive(Debug, Serialize, Deserialize)]
9403pub struct OcclusionArea {
9404    /**Center of the occlusion area relative to the transform.*/
9405    pub m_Center: Vector3f,
9406    /**The game object this component is attached to. A component is always attached to a game object.*/
9407    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
9408    pub m_GameObject: PPtr,
9409    pub m_IsViewVolume: bool,
9410    /**Size that the occlusion area will have.*/
9411    pub m_Size: Vector3f,
9412    /// bool: (3.4.0 - 4.2.2)
9413    pub m_IsTargetVolume: Option<bool>,
9414    /// i32: (3.4.0 - 4.2.2)
9415    pub m_TargetResolution: Option<i32>,
9416}
9417
9418/// OcclusionCullingData is a  class of the Unity engine since version 5.5.0f3.
9419#[derive(Debug, Serialize, Deserialize)]
9420pub struct OcclusionCullingData {
9421    pub m_Name: String,
9422    pub m_PVSData: Vec<u8>,
9423    pub m_Scenes: Vec<OcclusionScene>,
9424}
9425
9426/// OcclusionCullingSettings is a  class of the Unity engine since version 5.5.0f3.
9427#[derive(Debug, Serialize, Deserialize)]
9428pub struct OcclusionCullingSettings {
9429    /// PPtr<[`OcclusionCullingData`]>: (5.5.0f3 - 2022.3.2f1)
9430    pub m_OcclusionCullingData: PPtr,
9431    /// Vec<PPtr<[`OcclusionPortal`]>>: (5.5.0f3 - 2022.3.2f1)
9432    pub m_Portals: Vec<PPtr>,
9433    pub m_SceneGUID: GUID,
9434    /// Vec<PPtr<[`Renderer`]>>: (5.5.0f3 - 2022.3.2f1)
9435    pub m_StaticRenderers: Vec<PPtr>,
9436}
9437
9438/// OcclusionPortal is a  class of the Unity engine since version 3.5.0.
9439/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/OcclusionPortal.html):
9440/**
9441The portal for dynamically changing occlusion at runtime.
9442*/
9443#[derive(Debug, Serialize, Deserialize)]
9444pub struct OcclusionPortal {
9445    pub m_Center: Vector3f,
9446    /**The game object this component is attached to. A component is always attached to a game object.*/
9447    /// PPtr<[`GameObject`]>: (3.5.0 - 2022.3.2f1)
9448    pub m_GameObject: PPtr,
9449    /**Gets / sets the portal's open state.*/
9450    pub m_Open: bool,
9451    pub m_Size: Vector3f,
9452}
9453
9454/// OcclusionScene is a sub class of the Unity engine since version 5.5.0f3.
9455#[derive(Debug, Serialize, Deserialize)]
9456pub struct OcclusionScene {
9457    pub indexPortals: i32,
9458    pub indexRenderers: i32,
9459    pub scene: GUID,
9460    pub sizePortals: i32,
9461    pub sizeRenderers: i32,
9462}
9463
9464/// Oculus is a sub class of the Unity engine since version 2017.3.0f3.
9465#[derive(Debug, Serialize, Deserialize)]
9466pub struct Oculus {
9467    pub dashSupport: bool,
9468    pub sharedDepthBuffer: bool,
9469    /// bool: (2018.4.9f1 - 2020.2.0a15)
9470    pub lowOverheadMode: Option<bool>,
9471    /// bool: (2018.4.9f1 - 2020.2.0a15)
9472    pub protectedContext: Option<bool>,
9473    /// bool: (2018.4.9f1 - 2020.2.0a15)
9474    pub v2Signing: Option<bool>,
9475}
9476
9477/// OffMeshLink is a  class of the Unity engine since version 3.5.0.
9478/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AI.OffMeshLink.html):
9479/**
9480Link allowing movement outside the planar navigation mesh.
9481*/
9482#[derive(Debug, Serialize, Deserialize)]
9483pub struct OffMeshLink {
9484    /**Is link active.*/
9485    pub m_Activated: bool,
9486    /**Can link be traversed in both directions.*/
9487    pub m_BiDirectional: bool,
9488    /**Modify pathfinding cost for the link.*/
9489    pub m_CostOverride: f32,
9490    /// PPtr<[`Transform`]>: (3.5.0 - 2022.3.2f1)
9491    pub m_End: PPtr,
9492    /**The game object this component is attached to. A component is always attached to a game object.*/
9493    /// PPtr<[`GameObject`]>: (3.5.0 - 2022.3.2f1)
9494    pub m_GameObject: PPtr,
9495    /// PPtr<[`Transform`]>: (3.5.0 - 2022.3.2f1)
9496    pub m_Start: PPtr,
9497    /// i32: (5.6.0b1 - 2022.3.2f1)
9498    pub m_AgentTypeID: Option<i32>,
9499    /// u32: (5.0.0f4 - 2022.3.2f1)
9500    pub m_AreaIndex: Option<u32>,
9501    /**Automatically update endpoints.*/
9502    /// bool: (4.3.0 - 2022.3.2f1)
9503    pub m_AutoUpdatePositions: Option<bool>,
9504    /// u32: (3.5.0 - 4.7.2)
9505    pub m_DtPolyRef: Option<u32>,
9506    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
9507    /// u8: (4.3.0 - 2022.3.2f1)
9508    pub m_Enabled: Option<u8>,
9509    /// u32: (4.0.0 - 4.7.2)
9510    pub m_NavMeshLayer: Option<u32>,
9511}
9512
9513/// OffsetPtr is a sub class of the Unity engine since version 4.0.0.
9514#[derive(Debug, Serialize, Deserialize)]
9515pub struct OffsetPtr {
9516    pub data: Clip,
9517}
9518
9519/// Output is a sub class of the Unity engine since version 4.0.0.
9520#[derive(Debug, Serialize, Deserialize)]
9521pub struct Output {
9522    /// bool: (5.0.0f4 - 2022.3.2f1)
9523    pub hasEmptyFontData: Option<bool>,
9524    /// i32: (4.0.0 - 4.7.2)
9525    pub importedType: Option<i32>,
9526    /// Vec<f32>: (4.0.0 - 4.7.2)
9527    pub previewData: Option<Vec<f32>>,
9528}
9529
9530/// PPtrCurve is a sub class of the Unity engine since version 4.3.0.
9531#[derive(Debug, Serialize, Deserialize)]
9532pub struct PPtrCurve {
9533    pub attribute: String,
9534    pub classID: i32,
9535    /// Vec<PPtrKeyframe>: (4.3.0 - 2022.3.2f1)
9536    pub curve: Vec<PPtrKeyframe>,
9537    pub path: String,
9538    /// PPtr<[`MonoScript`]>: (4.3.0 - 2022.3.2f1)
9539    pub script: PPtr,
9540    /// i32: (2022.2.0b1 - 2022.3.2f1)
9541    pub flags: Option<i32>,
9542}
9543
9544/// PPtrKeyframe is a sub class of the Unity engine since version 4.3.0.
9545#[derive(Debug, Serialize, Deserialize)]
9546pub struct PPtrKeyframe {
9547    pub time: f32,
9548    /// PPtr<[`Object`]>: (4.3.0 - 2022.3.2f1)
9549    pub value: PPtr,
9550}
9551
9552/// PVRImporter is a  class of the Unity engine since version 4.0.0.
9553#[derive(Debug, Serialize, Deserialize)]
9554pub struct PVRImporter {
9555    pub m_Name: String,
9556    pub m_UserData: String,
9557    /// String: (5.0.0f4 - 5.5.6f1)
9558    pub m_AssetBundleName: Option<String>,
9559    /// String: (5.0.0f4 - 5.5.6f1)
9560    pub m_AssetBundleVariant: Option<String>,
9561}
9562
9563/// PackageManifest is a  class of the Unity engine since version 2019.1.0b1.
9564#[derive(Debug, Serialize, Deserialize)]
9565pub struct PackageManifest {
9566    pub m_Name: String,
9567    pub m_Script: String,
9568}
9569
9570/// PackageManifestImporter is a  class of the Unity engine since version 2019.1.0b1.
9571#[derive(Debug, Serialize, Deserialize)]
9572pub struct PackageManifestImporter {
9573    pub m_AssetBundleName: String,
9574    pub m_AssetBundleVariant: String,
9575    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2019.1.0b1 - 2022.3.2f1)
9576    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
9577    pub m_Name: String,
9578    pub m_UsedFileIDs: Vec<i64>,
9579    pub m_UserData: String,
9580}
9581
9582/// PackedAssets is a  class of the Unity engine since version 5.4.0f3.
9583/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Build.Reporting.PackedAssets.html):
9584/**
9585An extension to the BuildReport class that tracks how Assets contribute to the size of the build.
9586The build process generates a PackedAssets report for each .sharedAssets or .resource file, or for each AssetBundle.
9587*/
9588#[derive(Debug, Serialize, Deserialize)]
9589pub struct PackedAssets {
9590    /**An array of PackedAssetInfo objects that holds information about the Assets that are included in the PackedAssets bundle, such as packed Asset size and type.*/
9591    pub m_Contents: Vec<BuildReportPackedAssetInfo>,
9592    /**The header size of the packed Asset file.*/
9593    pub m_Overhead: u64,
9594    /**The file path to the Asset package, relative to the Data folder of the build.*/
9595    pub m_ShortPath: String,
9596    /// u32: (5.4.0f3 - 2021.2.0a11)
9597    pub m_File: Option<u32>,
9598}
9599
9600/// PackedBitVector is a sub class of the Unity engine since version 3.4.0.
9601#[derive(Debug, Serialize, Deserialize)]
9602pub struct PackedBitVector {
9603    pub m_BitSize: u8,
9604    pub m_Data: Vec<u8>,
9605    pub m_NumItems: u32,
9606    pub m_Range: f32,
9607    pub m_Start: f32,
9608}
9609
9610/// PackingSettings is a sub class of the Unity engine since version 2020.1.0b1.
9611#[derive(Debug, Serialize, Deserialize)]
9612pub struct PackingSettings {
9613    pub allowAlphaSplitting: bool,
9614    pub blockOffset: i32,
9615    pub enableRotation: bool,
9616    pub enableTightPacking: bool,
9617    pub padding: i32,
9618    /// bool: (2021.1.0b1 - 2022.3.2f1)
9619    pub enableAlphaDilation: Option<bool>,
9620}
9621
9622/// Parameter is a sub class of the Unity engine since version 5.0.0f4.
9623#[derive(Debug, Serialize, Deserialize)]
9624pub struct Parameter {
9625    pub m_GUID: GUID,
9626    pub m_ParameterName: String,
9627}
9628
9629/// ParentConstraint is a  class of the Unity engine since version 2018.1.0b2.
9630/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.ParentConstraint.html):
9631/**
9632Constrains the orientation and translation of an object to one or more source objects. The constrained object behaves as if it is in the hierarchy of the sources.
9633*/
9634#[derive(Debug, Serialize, Deserialize)]
9635pub struct ParentConstraint {
9636    pub m_AffectRotationX: bool,
9637    pub m_AffectRotationY: bool,
9638    pub m_AffectRotationZ: bool,
9639    pub m_AffectTranslationX: bool,
9640    pub m_AffectTranslationY: bool,
9641    pub m_AffectTranslationZ: bool,
9642    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
9643    pub m_Enabled: u8,
9644    /**The game object this component is attached to. A component is always attached to a game object.*/
9645    /// PPtr<[`GameObject`]>: (2018.1.0b2 - 2022.3.2f1)
9646    pub m_GameObject: PPtr,
9647    /**The rotation used when the sources have a total weight of 0.*/
9648    pub m_RotationAtRest: Vector3f,
9649    /**The rotation offsets from the constrained orientation.*/
9650    pub m_RotationOffsets: Vec<Vector3f>,
9651    pub m_Sources: Vec<ConstraintSource>,
9652    /**The position of the object in local space, used when the sources have a total weight of 0.*/
9653    pub m_TranslationAtRest: Vector3f,
9654    /**The translation offsets from the constrained orientation.*/
9655    pub m_TranslationOffsets: Vec<Vector3f>,
9656    /**The weight of the constraint component.*/
9657    pub m_Weight: f32,
9658    /// bool: (2022.1.0b1 - 2022.3.2f1)
9659    pub m_Active: Option<bool>,
9660    /// bool: (2018.1.0b2 - 2022.1.0a9)
9661    pub m_IsContraintActive: Option<bool>,
9662}
9663
9664/// ParserBindChannels is a sub class of the Unity engine since version 5.5.0f3.
9665#[derive(Debug, Serialize, Deserialize)]
9666pub struct ParserBindChannels {
9667    pub m_Channels: Vec<ShaderBindChannel>,
9668    pub m_SourceMap: i64,
9669}
9670
9671/// ParticleAnimator is a  class of the Unity engine since version 3.4.0.
9672#[derive(Debug, Serialize, Deserialize)]
9673pub struct ParticleAnimator {
9674    pub autodestruct: bool,
9675    pub damping: f32,
9676    pub force: Vector3f,
9677    pub localRotationAxis: Vector3f,
9678    /// PPtr<[`GameObject`]>: (3.4.0 - 2018.2.21f1)
9679    pub m_GameObject: PPtr,
9680    pub rndForce: Vector3f,
9681    pub sizeGrow: f32,
9682    pub stopSimulation: bool,
9683    pub worldRotationAxis: Vector3f,
9684    /// bool: (3.4.0 - 2018.2.21f1)
9685    #[serde(alias = "Does Animate Color?")]
9686    pub Does_Animate_Color_: Option<bool>,
9687    /// ColorRGBA: (3.4.0 - 2018.2.21f1)
9688    #[serde(alias = "colorAnimation[0]")]
9689    pub colorAnimation_0_: Option<ColorRGBA>,
9690    /// ColorRGBA: (3.4.0 - 2018.2.21f1)
9691    #[serde(alias = "colorAnimation[1]")]
9692    pub colorAnimation_1_: Option<ColorRGBA>,
9693    /// ColorRGBA: (3.4.0 - 2018.2.21f1)
9694    #[serde(alias = "colorAnimation[2]")]
9695    pub colorAnimation_2_: Option<ColorRGBA>,
9696    /// ColorRGBA: (3.4.0 - 2018.2.21f1)
9697    #[serde(alias = "colorAnimation[3]")]
9698    pub colorAnimation_3_: Option<ColorRGBA>,
9699    /// ColorRGBA: (3.4.0 - 2018.2.21f1)
9700    #[serde(alias = "colorAnimation[4]")]
9701    pub colorAnimation_4_: Option<ColorRGBA>,
9702}
9703
9704/// ParticleRenderer is a  class of the Unity engine since version 3.4.0.
9705#[derive(Debug, Serialize, Deserialize)]
9706pub struct ParticleRenderer {
9707    pub m_CameraVelocityScale: f32,
9708    pub m_CastShadows: Enum_bool__u8,
9709    pub m_Enabled: bool,
9710    /// PPtr<[`GameObject`]>: (3.4.0 - 2018.2.21f1)
9711    pub m_GameObject: PPtr,
9712    pub m_LengthScale: f32,
9713    pub m_LightmapIndex: u16,
9714    pub m_LightmapTilingOffset: Vector4f,
9715    /// Vec<PPtr<[`Material`]>>: (3.4.0 - 2018.2.21f1)
9716    pub m_Materials: Vec<PPtr>,
9717    pub m_MaxParticleSize: f32,
9718    pub m_ReceiveShadows: Enum_bool__u8,
9719    /// PPtr<[`Transform`]>: (3.4.0 - 2018.2.21f1)
9720    pub m_StaticBatchRoot: PPtr,
9721    pub m_StretchParticles: i32,
9722    pub m_VelocityScale: f32,
9723    /// UVAnimation: (3.4.0 - 2018.2.21f1)
9724    #[serde(alias = "UV Animation")]
9725    pub UV_Animation: Option<UVAnimation>,
9726    /// u8: (2017.2.0b2 - 2018.2.21f1)
9727    pub m_DynamicOccludee: Option<u8>,
9728    /// PPtr<[`Transform`]>: (3.5.0 - 4.7.2)
9729    pub m_LightProbeAnchor: Option<PPtr>,
9730    /// u8: (5.4.0f3 - 2018.2.21f1)
9731    pub m_LightProbeUsage: Option<u8>,
9732    /// PPtr<[`GameObject`]>: (5.4.0f3 - 2018.2.21f1)
9733    pub m_LightProbeVolumeOverride: Option<PPtr>,
9734    /// u16: (5.0.0f4 - 2018.2.21f1)
9735    pub m_LightmapIndexDynamic: Option<u16>,
9736    /// Vector4f: (5.0.0f4 - 2018.2.21f1)
9737    pub m_LightmapTilingOffsetDynamic: Option<Vector4f>,
9738    /// u8: (5.4.0f3 - 2018.2.21f1)
9739    pub m_MotionVectors: Option<u8>,
9740    /// PPtr<[`Transform`]>: (5.0.0f4 - 2018.2.21f1)
9741    pub m_ProbeAnchor: Option<PPtr>,
9742    /// i32: (5.0.0f4 - 5.3.8f2); u8: (5.4.0f3 - 2018.2.21f1)
9743    pub m_ReflectionProbeUsage: Option<i32>,
9744    /// u32: (2018.1.0b2 - 2018.2.21f1)
9745    pub m_RenderingLayerMask: Option<u32>,
9746    /// i16: (4.3.0 - 2018.2.21f1)
9747    pub m_SortingLayer: Option<i16>,
9748    /// u32: (4.5.0 - 4.7.2); i32: (5.0.0f4 - 2018.2.21f1)
9749    pub m_SortingLayerID: Option<i64>,
9750    /// i16: (4.3.0 - 2018.2.21f1)
9751    pub m_SortingOrder: Option<i16>,
9752    /// StaticBatchInfo: (5.5.0f3 - 2018.2.21f1)
9753    pub m_StaticBatchInfo: Option<StaticBatchInfo>,
9754    /// Vec<u32>: (3.4.0 - 5.4.6f3)
9755    pub m_SubsetIndices: Option<Vec<u32>>,
9756    /// bool: (3.5.0 - 5.3.8f2)
9757    pub m_UseLightProbes: Option<bool>,
9758}
9759
9760/// ParticleSystem is a  class of the Unity engine since version 3.5.0.
9761/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.html):
9762/**
9763Script interface for the Built-in Particle System. Unity's powerful and versatile particle system implementation.
9764General parameters
9765
9766The Particle System's general parameters are kept inside a special Main module. These parameters are visible in the Inspector above all the other modules:In script, these parameters are accessible through ParticleSystem.main.Accessing module propertiesParticle System properties are grouped by the module they belong to, such as ParticleSystem.noise and ParticleSystem.emission. These properties are structs, but do not behave like normal C# structs. They are simply interfaces directly into the native code, so it is important to know how to use them, compared to a normal C# struct.The key difference is that it is not necessary to assign the struct back to the Particle System component. When you set any property on a module struct, Unity immediately assigns that value to the Particle System.Also, because each module is a struct, you must cache it in a local variable before you can assign any new values to the module. For example, instead of:
9767ParticleSystem.emission.enabled = true;    // Doesn't compile
9768
9769write:
9770var emission = ParticleSystem.emission;    // Stores the module in a local variable
9771emission.enabled = true;    // Applies the new value directly to the Particle SystemModule effect multipliersEvery module has special multiplier properties that allow you to change the overall effect of a curve without having to edit the curve itself. These multiplier properties are all named after the curve they affect - for instance ParticleSystem.emission.rateMultiplier controls the overall effect of ParticleSystem.emission.rate in a given system.Constant value shorthandParameters support a shorthand notation for simple constant values. To set a constant value for a parameter, all you need to do is assign a number to it. It is not necessary to create a MinMaxCurve or MinMaxGradient object in the ParticleSystemCurveMode.Constant mode.For example, instead of:
9772var emission = ParticleSystem.emission;
9773emission.rate = new ParticleSystem.MinMaxCurve(5.0f);
9774
9775write:
9776var emission = ParticleSystem.emission;
9777emission.rate = 5.0f;Performance note: When setting properties on particle modules, the settings are passed immediately into native code. This gives the best performance. This means that setting properties on a module struct doesn't set something in script that requires setting back to the Particle System; it all happens automatically.See Also: Particle.
9778*/
9779#[derive(Debug, Serialize, Deserialize)]
9780pub struct ParticleSystem {
9781    pub ClampVelocityModule: ClampVelocityModule,
9782    pub CollisionModule: CollisionModule,
9783    pub ColorBySpeedModule: ColorBySpeedModule,
9784    pub ColorModule: ColorModule,
9785    pub EmissionModule: EmissionModule,
9786    pub ForceModule: ForceModule,
9787    pub InitialModule: InitialModule,
9788    pub RotationBySpeedModule: RotationBySpeedModule,
9789    pub RotationModule: RotationModule,
9790    pub ShapeModule: ShapeModule,
9791    pub SizeBySpeedModule: SizeBySpeedModule,
9792    pub SizeModule: SizeModule,
9793    pub SubModule: SubModule,
9794    pub UVModule: UVModule,
9795    pub VelocityModule: VelocityModule,
9796    pub lengthInSec: f32,
9797    pub looping: bool,
9798    /**The game object this component is attached to. A component is always attached to a game object.*/
9799    /// PPtr<[`GameObject`]>: (3.5.0 - 2022.3.2f1)
9800    pub m_GameObject: PPtr,
9801    pub moveWithTransform: Enum_bool__i32,
9802    pub playOnAwake: bool,
9803    pub prewarm: bool,
9804    /**Override the random seed used for the Particle System emission.*/
9805    pub randomSeed: i64,
9806    pub startDelay: Enum_f32__MinMaxCurve,
9807    /// CustomDataModule: (5.6.0b1 - 2022.3.2f1)
9808    pub CustomDataModule: Option<CustomDataModule>,
9809    /// ExternalForcesModule: (4.0.0 - 2022.3.2f1)
9810    pub ExternalForcesModule: Option<ExternalForcesModule>,
9811    /// InheritVelocityModule: (5.3.0f1 - 2022.3.2f1)
9812    pub InheritVelocityModule: Option<InheritVelocityModule>,
9813    /// LifetimeByEmitterSpeedModule: (2020.1.0b1 - 2022.3.2f1)
9814    pub LifetimeByEmitterSpeedModule: Option<LifetimeByEmitterSpeedModule>,
9815    /// LightsModule: (5.5.0f3 - 2022.3.2f1)
9816    pub LightsModule: Option<LightsModule>,
9817    /// NoiseModule: (5.5.0f3 - 2022.3.2f1)
9818    pub NoiseModule: Option<NoiseModule>,
9819    /// TrailModule: (5.5.0f3 - 2022.3.2f1)
9820    pub TrailModule: Option<TrailModule>,
9821    /// TriggerModule: (5.4.0f3 - 2022.3.2f1)
9822    pub TriggerModule: Option<TriggerModule>,
9823    /// bool: (5.4.1f1 - 2022.3.2f1)
9824    pub autoRandomSeed: Option<bool>,
9825    /// i32: (2018.3.0f2 - 2022.3.2f1)
9826    pub cullingMode: Option<i32>,
9827    /// i32: (2021.1.0b1 - 2022.3.2f1)
9828    pub emitterVelocityMode: Option<i32>,
9829    /// PPtr<[`Transform`]>: (5.5.0f3 - 2022.3.2f1)
9830    pub moveWithCustomTransform: Option<PPtr>,
9831    /// Vector2f: (2018.3.0f2 - 2022.3.2f1)
9832    pub ringBufferLoopRange: Option<Vector2f>,
9833    /// i32: (2018.3.0f2 - 2022.3.2f1)
9834    pub ringBufferMode: Option<i32>,
9835    /// i32: (5.3.0f1 - 2022.3.2f1)
9836    pub scalingMode: Option<i32>,
9837    /// f32: (5.5.1f1 - 2022.3.2f1)
9838    pub simulationSpeed: Option<f32>,
9839    /// f32: (3.5.0 - 5.5.0f3)
9840    pub speed: Option<f32>,
9841    /// i32: (2017.2.0b2 - 2022.3.2f1)
9842    pub stopAction: Option<i32>,
9843    /// bool: (2017.1.0f2 - 2021.1.0a6)
9844    pub useRigidbodyForVelocity: Option<bool>,
9845    /// bool: (2017.1.0b2 - 2022.3.2f1)
9846    pub useUnscaledTime: Option<bool>,
9847}
9848
9849/// ParticleSystemEmissionBurst is a sub class of the Unity engine since version 5.6.0f1.
9850#[derive(Debug, Serialize, Deserialize)]
9851pub struct ParticleSystemEmissionBurst {
9852    pub cycleCount: i64,
9853    pub repeatInterval: f32,
9854    pub time: f32,
9855    /// MinMaxCurve: (2017.2.0b2 - 2022.3.2f1)
9856    pub countCurve: Option<MinMaxCurve>,
9857    /// u32: (5.6.0f1 - 2017.1.5f1)
9858    pub maxCount: Option<u32>,
9859    /// u32: (5.6.0f1 - 2017.1.5f1)
9860    pub minCount: Option<u32>,
9861    /// f32: (2018.3.0f2 - 2022.3.2f1)
9862    pub probability: Option<f32>,
9863}
9864
9865/// ParticleSystemForceField is a  class of the Unity engine since version 2018.3.0f2.
9866/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystemForceField.html):
9867/**
9868Script interface for Particle System Force Fields.
9869Particle System Force Fields can be used to influence groups of particles that enter each field's zone of influence.The shape of the Force Field can be set to a variety of shapes, and how the particles are affected is controlled by various properties in the Force Field.As part of choosing the shape, you may define a start and end range. The end range describes the maximum extent of the shape, and the start range can be used to create a hollow shape.A number of forces can be applied to particles that are within this volume: directional, gravitational, rotational, drag, and a vector field.The settings for each type of force make use of the MinMaxCurve type, which is also used in the Particle System. This type allows you to set simple uniform values, or more complicated values that vary per-particle, and vary over the lifetime of each particle.
9870*/
9871#[derive(Debug, Serialize, Deserialize)]
9872pub struct ParticleSystemForceField {
9873    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
9874    pub m_Enabled: u8,
9875    /**The game object this component is attached to. A component is always attached to a game object.*/
9876    /// PPtr<[`GameObject`]>: (2018.3.0f2 - 2022.3.2f1)
9877    pub m_GameObject: PPtr,
9878    pub m_Parameters: ParticleSystemForceFieldParameters,
9879}
9880
9881/// ParticleSystemForceFieldParameters is a sub class of the Unity engine since version 2018.3.0f2.
9882#[derive(Debug, Serialize, Deserialize)]
9883pub struct ParticleSystemForceFieldParameters {
9884    pub m_DirectionCurveX: MinMaxCurve,
9885    pub m_DirectionCurveY: MinMaxCurve,
9886    pub m_DirectionCurveZ: MinMaxCurve,
9887    pub m_DragCurve: MinMaxCurve,
9888    pub m_EndRange: f32,
9889    pub m_GravityCurve: MinMaxCurve,
9890    pub m_GravityFocus: f32,
9891    pub m_Length: f32,
9892    pub m_MultiplyDragByParticleSize: bool,
9893    pub m_MultiplyDragByParticleVelocity: bool,
9894    pub m_RotationAttractionCurve: MinMaxCurve,
9895    pub m_RotationRandomness: Vector2f,
9896    pub m_RotationSpeedCurve: MinMaxCurve,
9897    pub m_Shape: i32,
9898    pub m_StartRange: f32,
9899    /// PPtr<[`Texture3D`]>: (2018.3.0f2 - 2022.3.2f1)
9900    pub m_VectorField: PPtr,
9901    pub m_VectorFieldAttractionCurve: MinMaxCurve,
9902    pub m_VectorFieldSpeedCurve: MinMaxCurve,
9903}
9904
9905/// ParticleSystemRenderer is a  class of the Unity engine since version 3.5.0.
9906/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystemRenderer.html):
9907/**
9908Use this class to render particles on to the screen.
9909*/
9910#[derive(Debug, Serialize, Deserialize)]
9911pub struct ParticleSystemRenderer {
9912    /**How much do the particles stretch depending on the Camera's speed.*/
9913    pub m_CameraVelocityScale: f32,
9914    pub m_CastShadows: Enum_bool__u8,
9915    /**Makes the rendered 3D object visible if enabled.*/
9916    pub m_Enabled: bool,
9917    /**The game object this component is attached to. A component is always attached to a game object.*/
9918    /// PPtr<[`GameObject`]>: (3.5.0 - 2022.3.2f1)
9919    pub m_GameObject: PPtr,
9920    /**How much are the particles stretched in their direction of motion, defined as the length of the particle compared to its width.*/
9921    pub m_LengthScale: f32,
9922    /**The index of the baked lightmap applied to this renderer.*/
9923    pub m_LightmapIndex: u16,
9924    pub m_LightmapTilingOffset: Vector4f,
9925    /**Returns all the instantiated materials of this object.*/
9926    /// Vec<PPtr<[`Material`]>>: (3.5.0 - 2022.3.2f1)
9927    pub m_Materials: Vec<PPtr>,
9928    /**Clamp the maximum particle size.*/
9929    pub m_MaxParticleSize: f32,
9930    /**The Mesh that the particle uses instead of a billboarded Texture.*/
9931    /// PPtr<[`Mesh`]>: (3.5.0 - 2022.3.2f1)
9932    pub m_Mesh: PPtr,
9933    /**Does this object receive shadows?*/
9934    pub m_ReceiveShadows: Enum_bool__u8,
9935    /**Specifies how the system draws particles.*/
9936    pub m_RenderMode: i32,
9937    /**Specifies how to sort particles within a system.*/
9938    pub m_SortMode: i32,
9939    /**Biases Particle System sorting amongst other transparencies.*/
9940    pub m_SortingFudge: f32,
9941    /// PPtr<[`Transform`]>: (3.5.0 - 2022.3.2f1)
9942    pub m_StaticBatchRoot: PPtr,
9943    /**Specifies how much particles stretch depending on their velocity.*/
9944    pub m_VelocityScale: f32,
9945    /**Allow billboard particles to roll around their z-axis.*/
9946    /// bool: (2018.3.0f2 - 2022.3.2f1)
9947    pub m_AllowRoll: Option<bool>,
9948    /// bool: (2018.2.0b1 - 2022.3.2f1)
9949    pub m_ApplyActiveColorSpace: Option<bool>,
9950    /// u8: (2017.2.0b2 - 2022.3.2f1)
9951    pub m_DynamicOccludee: Option<u8>,
9952    /**Enables GPU Instancing on platforms that support it.*/
9953    /// bool: (2018.1.0b2 - 2022.3.2f1)
9954    pub m_EnableGPUInstancing: Option<bool>,
9955    /**Flip a percentage of the particles, along each axis.*/
9956    /// Vector3f: (2018.3.0f2 - 2022.3.2f1)
9957    pub m_Flip: Option<Vector3f>,
9958    /**Enables freeform stretching behavior.*/
9959    /// bool: (2020.1.0b1 - 2022.3.2f1)
9960    pub m_FreeformStretching: Option<bool>,
9961    /// PPtr<[`Transform`]>: (3.5.0 - 4.7.2)
9962    pub m_LightProbeAnchor: Option<PPtr>,
9963    /**The light probe interpolation type.*/
9964    /// u8: (5.4.0f3 - 2022.3.2f1)
9965    pub m_LightProbeUsage: Option<u8>,
9966    /// PPtr<[`GameObject`]>: (5.4.0f3 - 2022.3.2f1)
9967    pub m_LightProbeVolumeOverride: Option<PPtr>,
9968    /// u16: (5.0.0f4 - 2022.3.2f1)
9969    pub m_LightmapIndexDynamic: Option<u16>,
9970    /// Vector4f: (5.0.0f4 - 2022.3.2f1)
9971    pub m_LightmapTilingOffsetDynamic: Option<Vector4f>,
9972    /**Specifies how the Particle System Renderer interacts with SpriteMask.*/
9973    /// i32: (2017.1.0b1 - 2022.3.2f1)
9974    pub m_MaskInteraction: Option<i32>,
9975    /// PPtr<[`Mesh`]>: (4.0.0 - 2022.3.2f1)
9976    pub m_Mesh1: Option<PPtr>,
9977    /// PPtr<[`Mesh`]>: (4.0.0 - 2022.3.2f1)
9978    pub m_Mesh2: Option<PPtr>,
9979    /// PPtr<[`Mesh`]>: (4.0.0 - 2022.3.2f1)
9980    pub m_Mesh3: Option<PPtr>,
9981    /**Specifies how the system randomly assigns meshes to particles.*/
9982    /// u8: (2021.2.0b1 - 2022.3.2f1)
9983    pub m_MeshDistribution: Option<u8>,
9984    /// f32: (2021.2.0b1 - 2022.3.2f1)
9985    pub m_MeshWeighting: Option<f32>,
9986    /// f32: (2021.2.0b1 - 2022.3.2f1)
9987    pub m_MeshWeighting1: Option<f32>,
9988    /// f32: (2021.2.0b1 - 2022.3.2f1)
9989    pub m_MeshWeighting2: Option<f32>,
9990    /// f32: (2021.2.0b1 - 2022.3.2f1)
9991    pub m_MeshWeighting3: Option<f32>,
9992    /**Clamp the minimum particle size.*/
9993    /// f32: (5.3.0f1 - 2022.3.2f1)
9994    pub m_MinParticleSize: Option<f32>,
9995    /// u8: (5.4.0f3 - 2022.3.2f1)
9996    pub m_MotionVectors: Option<u8>,
9997    /**Specifies how to calculate lighting for the billboard.*/
9998    /// f32: (4.0.0 - 2022.3.2f1)
9999    pub m_NormalDirection: Option<f32>,
10000    /**Modify the pivot point used for rotating particles.*/
10001    /// Vector3f: (5.3.0f1 - 2022.3.2f1)
10002    pub m_Pivot: Option<Vector3f>,
10003    /**If set, Renderer will use this Transform's position to find the light or reflection probe.*/
10004    /// PPtr<[`Transform`]>: (5.0.0f4 - 2022.3.2f1)
10005    pub m_ProbeAnchor: Option<PPtr>,
10006    /// u8: (2020.1.0b1 - 2022.3.2f1)
10007    pub m_RayTraceProcedural: Option<u8>,
10008    /**Describes how this renderer is updated for ray tracing.*/
10009    /// u8: (2019.3.0b1 - 2022.3.2f1)
10010    pub m_RayTracingMode: Option<u8>,
10011    /**Should reflection probes be used for this Renderer?*/
10012    /// i32: (5.0.0f4 - 5.3.8f2); u8: (5.4.0f3 - 2022.3.2f1)
10013    pub m_ReflectionProbeUsage: Option<i32>,
10014    /// i32: (5.3.0f1 - 2022.3.2f1)
10015    pub m_RenderAlignment: Option<i32>,
10016    /**This value sorts renderers by priority. Lower values are rendered first and higher values are rendered last.*/
10017    /// i32: (2018.3.0f2 - 2022.3.2f1)
10018    pub m_RendererPriority: Option<i32>,
10019    /**Determines which rendering layer this renderer lives on.*/
10020    /// u32: (2018.1.0b2 - 2022.3.2f1)
10021    pub m_RenderingLayerMask: Option<u32>,
10022    /**Rotate the particles based on the direction they are stretched in. This is added on top of other particle rotation.*/
10023    /// bool: (2020.1.0b1 - 2022.3.2f1)
10024    pub m_RotateWithStretchDirection: Option<bool>,
10025    /**Apply a shadow bias to prevent self-shadowing artifacts. The specified value is the proportion of the particle size.*/
10026    /// f32: (2018.3.0f2 - 2022.3.2f1)
10027    pub m_ShadowBias: Option<f32>,
10028    /// i16: (4.3.0 - 2022.3.2f1)
10029    pub m_SortingLayer: Option<i16>,
10030    /**Unique ID of the Renderer's sorting layer.*/
10031    /// u32: (4.5.0 - 4.7.2); i32: (5.0.0f4 - 2022.3.2f1)
10032    pub m_SortingLayerID: Option<i64>,
10033    /**Renderer's order within a sorting layer.*/
10034    /// i16: (4.3.0 - 2022.3.2f1)
10035    pub m_SortingOrder: Option<i16>,
10036    /// StaticBatchInfo: (5.5.0f3 - 2022.3.2f1)
10037    pub m_StaticBatchInfo: Option<StaticBatchInfo>,
10038    /**Is this renderer a static shadow caster?*/
10039    /// u8: (2021.1.0b1 - 2022.3.2f1)
10040    pub m_StaticShadowCaster: Option<u8>,
10041    /// Vec<u32>: (3.5.0 - 5.4.6f3)
10042    pub m_SubsetIndices: Option<Vec<u32>>,
10043    /// bool: (5.5.0f3 - 2022.3.2f1)
10044    pub m_UseCustomVertexStreams: Option<bool>,
10045    /// bool: (3.5.0 - 5.3.8f2)
10046    pub m_UseLightProbes: Option<bool>,
10047    /// i32: (5.5.0f3 - 5.5.6f1)
10048    pub m_VertexStreamMask: Option<i32>,
10049    /// Vec<u8>: (5.6.0b1 - 2022.3.2f1)
10050    pub m_VertexStreams: Option<Vec<u8>>,
10051}
10052
10053/// PerLODSettings is a sub class of the Unity engine since version 5.0.0f4.
10054#[derive(Debug, Serialize, Deserialize)]
10055pub struct PerLODSettings {
10056    pub castShadows: bool,
10057    pub enableBump: bool,
10058    pub enableHue: bool,
10059    pub height: f32,
10060    pub receiveShadows: bool,
10061    pub reflectionProbeUsage: i32,
10062    pub useLightProbes: bool,
10063    pub windQuality: i32,
10064    /// bool: (2018.3.0f2 - 2022.3.2f1)
10065    pub enableSubsurface: Option<bool>,
10066}
10067
10068/// PerformanceReportingManager is a  class of the Unity engine since version 5.6.0b1.
10069#[derive(Debug, Serialize, Deserialize)]
10070pub struct PerformanceReportingManager {}
10071
10072/// PerformanceReportingSettings is a sub class of the Unity engine since version 5.6.0b1.
10073/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Analytics.PerformanceReportingSettings.html):
10074/**
10075Normally performance reporting is enabled from the Services window, but if writing your own editor extension, this API can be used.
10076*/
10077#[derive(Debug, Serialize, Deserialize)]
10078pub struct PerformanceReportingSettings {
10079    pub m_Enabled: bool,
10080}
10081
10082/// PhysicMaterial is a  class of the Unity engine since version 3.4.0.
10083/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/PhysicMaterial.html):
10084/**
10085Physics material describes how to handle colliding objects (friction, bounciness).
10086See Also: Collider.
10087*/
10088#[derive(Debug, Serialize, Deserialize)]
10089pub struct PhysicMaterial {
10090    /**Determines how the bounciness is combined.*/
10091    pub bounceCombine: i32,
10092    /**How bouncy is the surface? A value of 0 will not bounce. A value of 1 will bounce without any loss of energy.*/
10093    pub bounciness: f32,
10094    /**The friction used when already moving.  This value is usually between 0 and 1.*/
10095    pub dynamicFriction: f32,
10096    /**Determines how the friction is combined.*/
10097    pub frictionCombine: i32,
10098    /**The name of the object.*/
10099    pub m_Name: String,
10100    /**The friction coefficient used when an object is lying on a surface.*/
10101    pub staticFriction: f32,
10102    /// f32: (3.4.0 - 5.1.5f1)
10103    pub dynamicFriction2: Option<f32>,
10104    /// Vector3f: (3.4.0 - 5.1.5f1)
10105    pub frictionDirection2: Option<Vector3f>,
10106    /// f32: (3.4.0 - 5.1.5f1)
10107    pub staticFriction2: Option<f32>,
10108}
10109
10110/// Physics2DSettings is a  class of the Unity engine since version 4.3.0.
10111#[derive(Debug, Serialize, Deserialize)]
10112pub struct Physics2DSettings {
10113    /// PPtr<[`PhysicsMaterial2D`]>: (4.3.0 - 2022.3.2f1)
10114    pub m_DefaultMaterial: PPtr,
10115    pub m_Gravity: Vector2f,
10116    pub m_LayerCollisionMatrix: Vec<u32>,
10117    pub m_PositionIterations: i32,
10118    pub m_VelocityIterations: i32,
10119    /// f32: (4.5.0 - 2022.3.2f1)
10120    pub m_AngularSleepTolerance: Option<f32>,
10121    /// bool: (2017.1.0b2 - 2019.4.40f1)
10122    pub m_AutoSimulation: Option<bool>,
10123    /// bool: (2017.2.0b2 - 2022.3.2f1)
10124    pub m_AutoSyncTransforms: Option<bool>,
10125    /// f32: (4.5.0 - 2022.3.2f1)
10126    pub m_BaumgarteScale: Option<f32>,
10127    /// f32: (4.5.0 - 2022.3.2f1)
10128    pub m_BaumgarteTimeOfImpactScale: Option<f32>,
10129    /// bool: (5.6.1f1 - 2022.3.2f1)
10130    pub m_CallbacksOnDisable: Option<bool>,
10131    /// bool: (4.6.1 - 2017.4.40f1)
10132    pub m_ChangeStopsCallbacks: Option<bool>,
10133    /// f32: (5.6.0f1 - 2022.3.2f1)
10134    pub m_DefaultContactOffset: Option<f32>,
10135    /// bool: (4.5.3 - 4.6.0)
10136    pub m_DeleteStopsCallbacks: Option<bool>,
10137    /// PhysicsJobOptions2D: (2018.1.0b2 - 2022.3.2f1)
10138    pub m_JobOptions: Option<PhysicsJobOptions2D>,
10139    /// f32: (4.5.0 - 2022.3.2f1)
10140    pub m_LinearSleepTolerance: Option<f32>,
10141    /// f32: (4.5.0 - 2022.3.2f1)
10142    pub m_MaxAngularCorrection: Option<f32>,
10143    /// f32: (4.5.0 - 2022.3.2f1)
10144    pub m_MaxLinearCorrection: Option<f32>,
10145    /// f32: (4.5.0 - 2022.3.2f1)
10146    pub m_MaxRotationSpeed: Option<f32>,
10147    /// f32: (4.5.0 - 2022.3.2f1)
10148    pub m_MaxTranslationSpeed: Option<f32>,
10149    /// f32: (4.6.1 - 5.6.0b6)
10150    pub m_MinPenetrationForPenalty: Option<f32>,
10151    /// bool: (5.2.0f2 - 2022.3.2f1)
10152    pub m_QueriesHitTriggers: Option<bool>,
10153    /// bool: (5.2.0f2 - 2022.3.2f1)
10154    pub m_QueriesStartInColliders: Option<bool>,
10155    /// bool: (4.3.0 - 5.1.5f1)
10156    pub m_RaycastsHitTriggers: Option<bool>,
10157    /// bool: (4.6.1 - 5.1.5f1)
10158    pub m_RaycastsStartInColliders: Option<bool>,
10159    /// bool: (2018.3.0f2 - 2022.3.2f1)
10160    pub m_ReuseCollisionCallbacks: Option<bool>,
10161    /// i32: (2020.1.0b1 - 2022.3.2f1)
10162    pub m_SimulationMode: Option<i32>,
10163    /// f32: (4.5.0 - 2022.3.2f1)
10164    pub m_TimeToSleep: Option<f32>,
10165    /// f32: (4.5.0 - 2022.3.2f1)
10166    pub m_VelocityThreshold: Option<f32>,
10167}
10168
10169/// PhysicsJobOptions2D is a sub class of the Unity engine since version 2018.1.0b2.
10170/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/PhysicsJobOptions2D.html):
10171/**
10172A set of options that control how physics operates when using the job system to multithread the physics simulation.
10173Multithreaded physics is currently an experimental feature. As such, many options are exposed that allow performance configuration that may not be available when the feature moves out of experimental status.A physics simulation executes in the following discrete stages:• Find New Contacts
10174• Contact Collision
10175• Discrete Solver (Clear Island Flags -> Discrete Island Traversal -> Discrete Island Solver -> Synchronize Fixtures -> Find New Contacts)
10176• Continuous Solver (Clear Island Flags > Continuous Island Traversal -> Discrete Island Solver -> Synchronize Fixtures -> Find New Contacts)
10177• Clear Body Forces
10178• Update Trigger ContactsThese stages execute in the order given above. Each stage is run as a job "task". Each task executes sub job tasks, which are shown in parenthesis above. When executing a job, physics simulation may process bodies, contacts, joints, and so on, across multiple job threads. You can task each of these threads with executing a specific number of items, such as bodies, contacts and joints. Many of the options provided here allow you to control the minimum number of items assigned to each job. Raising the minimum can reduce the number of jobs required. This is because running a lot of jobs, each processing only a few items, is usually not very efficient. The default settings provide a decent performance to job balance, however you are free to experiment.Additionally, prior to the simulation being run, Rigidbody2D interpolation/extrapolation poses are stored ready for per-frame interpolation/extrapolation.  These are also executed using the job system and are controlled here.
10179*/
10180#[derive(Debug, Serialize, Deserialize)]
10181pub struct PhysicsJobOptions2D {
10182    /**Controls the minimum number of bodies to be cleared in each simulation job.*/
10183    pub m_ClearBodyForcesPerJob: i32,
10184    /**Controls the minimum number of flags to be cleared in each simulation job.*/
10185    pub m_ClearFlagsPerJob: i32,
10186    /**Controls the minimum number of contacts to collide in each simulation job.*/
10187    pub m_CollideContactsPerJob: i32,
10188    /**Controls the minimum number of nearest contacts to find in each simulation job.*/
10189    pub m_FindNearestContactsPerJob: i32,
10190    /**Controls the minimum number of Rigidbody2D being interpolated in each simulation job.*/
10191    pub m_InterpolationPosesPerJob: i32,
10192    /**Controls the minimum number of bodies to solve in each simulation job when performing island solving.*/
10193    pub m_IslandSolverBodiesPerJob: i32,
10194    /**Scales the cost of each body during discrete island solving.*/
10195    pub m_IslandSolverBodyCostScale: i32,
10196    /**Scales the cost of each contact during discrete island solving.*/
10197    pub m_IslandSolverContactCostScale: i32,
10198    /**Controls the minimum number of contacts to solve in each simulation job when performing island solving.*/
10199    pub m_IslandSolverContactsPerJob: i32,
10200    /**The minimum threshold cost of all bodies, contacts and joints in an island during discrete island solving.*/
10201    pub m_IslandSolverCostThreshold: i32,
10202    /**Scales the cost of each joint during discrete island solving.*/
10203    pub m_IslandSolverJointCostScale: i32,
10204    /**Controls the minimum number of new contacts to find in each simulation job.*/
10205    pub m_NewContactsPerJob: i32,
10206    /**Controls the minimum number of fixtures to synchronize in the broadphase during continuous island solving in each simulation job.*/
10207    pub m_SyncContinuousFixturesPerJob: i32,
10208    /**Controls the minimum number of fixtures to synchronize in the broadphase during discrete island solving in each simulation job.*/
10209    pub m_SyncDiscreteFixturesPerJob: i32,
10210    /**Controls the minimum number of trigger contacts to update in each simulation job.*/
10211    pub m_UpdateTriggerContactsPerJob: i32,
10212    /**Should physics simulation sort multi-threaded results to maintain processing order consistency?*/
10213    /// bool: (2018.1.0b2 - 2018.1.0b10)
10214    pub m_UseConsistencySorting: Option<bool>,
10215    /**Should physics simulation use multithreading?*/
10216    /// bool: (2018.1.0b2 - 2018.1.0b10)
10217    pub m_UseMultithreading: Option<bool>,
10218    /**Should physics simulation sort multi-threaded results to maintain processing order consistency?*/
10219    /// bool: (2018.1.0f2 - 2022.3.2f1)
10220    pub useConsistencySorting: Option<bool>,
10221    /**Should physics simulation use multithreading?*/
10222    /// bool: (2018.1.0f2 - 2022.3.2f1)
10223    pub useMultithreading: Option<bool>,
10224}
10225
10226/// PhysicsManager is a  class of the Unity engine since version 3.4.0.
10227#[derive(Debug, Serialize, Deserialize)]
10228pub struct PhysicsManager {
10229    pub m_BounceThreshold: f32,
10230    /// PPtr<[`PhysicMaterial`]>: (3.4.0 - 2022.3.2f1)
10231    pub m_DefaultMaterial: PPtr,
10232    pub m_Gravity: Vector3f,
10233    pub m_LayerCollisionMatrix: Vec<u32>,
10234    /// bool: (2017.1.0b2 - 2022.1.24f1)
10235    pub m_AutoSimulation: Option<bool>,
10236    /// bool: (2017.2.0b2 - 2022.3.2f1)
10237    pub m_AutoSyncTransforms: Option<bool>,
10238    /// i32: (2017.3.0b1 - 2022.3.2f1)
10239    pub m_BroadphaseType: Option<i32>,
10240    /// Vector3f: (2019.1.0b1 - 2022.3.2f1)
10241    pub m_ClothGravity: Option<Vector3f>,
10242    /// f32: (2017.3.0b1 - 2022.3.2f1)
10243    pub m_ClothInterCollisionDistance: Option<f32>,
10244    /// bool: (2017.3.0b1 - 2022.3.2f1)
10245    pub m_ClothInterCollisionSettingsToggle: Option<bool>,
10246    /// f32: (2017.3.0b1 - 2022.3.2f1)
10247    pub m_ClothInterCollisionStiffness: Option<f32>,
10248    /// i32: (2017.3.0b1 - 2022.3.2f1)
10249    pub m_ContactPairsMode: Option<i32>,
10250    /// i32: (2017.3.0b1 - 2022.3.2f1)
10251    pub m_ContactsGeneration: Option<i32>,
10252    /// f32: (5.0.0f4 - 2022.3.2f1)
10253    pub m_DefaultContactOffset: Option<f32>,
10254    /// f32: (2019.1.0b1 - 2019.1.0a14)
10255    pub m_DefaultMaxAngluarSpeed: Option<f32>,
10256    /// f32: (2019.1.0f2 - 2022.3.2f1)
10257    pub m_DefaultMaxAngularSpeed: Option<f32>,
10258    /// f32: (2020.1.0b1 - 2022.3.2f1)
10259    pub m_DefaultMaxDepenetrationVelocity: Option<f32>,
10260    /// i32: (5.5.0f3 - 2022.3.2f1)
10261    pub m_DefaultSolverIterations: Option<i32>,
10262    /// i32: (5.5.0f3 - 2022.3.2f1)
10263    pub m_DefaultSolverVelocityIterations: Option<i32>,
10264    /// bool: (5.0.0f4 - 2022.3.2f1)
10265    pub m_EnableAdaptiveForce: Option<bool>,
10266    /// bool: (2018.3.0f2 - 2022.3.2f1)
10267    pub m_EnableEnhancedDeterminism: Option<bool>,
10268    /// bool: (5.5.0f3 - 2017.2.5f1)
10269    pub m_EnablePCM: Option<bool>,
10270    /// bool: (2018.3.0f2 - 2022.3.2f1)
10271    pub m_EnableUnifiedHeightmaps: Option<bool>,
10272    /// i32: (2018.3.0f2 - 2022.3.2f1)
10273    pub m_FrictionType: Option<i32>,
10274    /// bool: (2021.2.0b1 - 2022.3.2f1)
10275    pub m_ImprovedPatchFriction: Option<bool>,
10276    /// bool: (2022.2.0b1 - 2022.3.2f1)
10277    pub m_InvokeCollisionCallbacks: Option<bool>,
10278    /// f32: (3.4.0 - 4.7.2)
10279    pub m_MaxAngularVelocity: Option<f32>,
10280    /// f32: (3.4.0 - 4.7.2)
10281    pub m_MinPenetrationForPenalty: Option<f32>,
10282    /// bool: (5.5.0f3 - 2022.3.2f1)
10283    pub m_QueriesHitBackfaces: Option<bool>,
10284    /// bool: (5.2.0f2 - 2022.3.2f1)
10285    pub m_QueriesHitTriggers: Option<bool>,
10286    /// bool: (3.4.0 - 5.1.5f1)
10287    pub m_RaycastsHitTriggers: Option<bool>,
10288    /// bool: (2018.3.0f2 - 2022.3.2f1)
10289    pub m_ReuseCollisionCallbacks: Option<bool>,
10290    /// i32: (2022.2.0b1 - 2022.3.2f1)
10291    pub m_SimulationMode: Option<i32>,
10292    /// f32: (3.4.0 - 4.7.2)
10293    pub m_SleepAngularVelocity: Option<f32>,
10294    /// f32: (5.0.0f4 - 2022.3.2f1)
10295    pub m_SleepThreshold: Option<f32>,
10296    /// f32: (3.4.0 - 4.7.2)
10297    pub m_SleepVelocity: Option<f32>,
10298    /// i32: (3.4.0 - 5.4.6f3)
10299    pub m_SolverIterationCount: Option<i32>,
10300    /// i32: (2019.3.0b1 - 2022.3.2f1)
10301    pub m_SolverType: Option<i32>,
10302    /// i32: (5.4.0f3 - 5.4.6f3)
10303    pub m_SolverVelocityIterations: Option<i32>,
10304    /// AABB: (2017.3.0b1 - 2022.3.2f1)
10305    pub m_WorldBounds: Option<AABB>,
10306    /// i32: (2017.3.0b1 - 2022.3.2f1)
10307    pub m_WorldSubdivisions: Option<i32>,
10308}
10309
10310/// PhysicsMaterial2D is a  class of the Unity engine since version 4.3.0.
10311/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/PhysicsMaterial2D.html):
10312/**
10313Asset type that defines the surface properties of a Collider2D.
10314Note: the 3D equivalent of this class is spelt as "PhysicMaterial" with no S, but this class is spelt "PhysicsMaterial" with an S.See Also: PhysicMaterial class.
10315*/
10316#[derive(Debug, Serialize, Deserialize)]
10317pub struct PhysicsMaterial2D {
10318    /**The degree of elasticity during collisions.*/
10319    pub bounciness: f32,
10320    /**Coefficient of friction.*/
10321    pub friction: f32,
10322    /**The name of the object.*/
10323    pub m_Name: String,
10324}
10325
10326/// PhysicsShape is a sub class of the Unity engine since version 2021.2.0b1.
10327#[derive(Debug, Serialize, Deserialize)]
10328pub struct PhysicsShape {
10329    pub m_AdjacentEnd: Vector2f,
10330    pub m_AdjacentStart: Vector2f,
10331    pub m_Radius: f32,
10332    pub m_ShapeType: i32,
10333    pub m_UseAdjacentEnd: i32,
10334    pub m_UseAdjacentStart: i32,
10335    pub m_VertexCount: i32,
10336    pub m_VertexStartIndex: i32,
10337}
10338
10339/// PhysicsShapeGroup2D is a sub class of the Unity engine since version 2021.2.0b1.
10340/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/PhysicsShapeGroup2D.html):
10341/**
10342Represents a group of PhysicsShape2D and their geometry.
10343A shape group represents multiple PhysicsShape2D of the same or mixed PhysicsShapeType2D along with their geometry. It is comprised of a single list of vertices (GetShapeVertices) along with a list of PhysicsShape2D which refer to specific ranges of those vertices i.e. they index into the list of vertices. Some shape types (PhysicsShapeType2D) use a fixed number of vertices and some use a variable number of vertices therefore this single vertices list is a compact and efficient representation for multiple PhysicsShape2D in a group.The shape group can be created by using the following methods:
10344*/
10345#[derive(Debug, Serialize, Deserialize)]
10346pub struct PhysicsShapeGroup2D {
10347    pub m_Shapes: Vec<PhysicsShape>,
10348    pub m_Vertices: Vec<Vector2f>,
10349}
10350
10351/// Pipeline is a  class of the Unity engine since version 3.4.0.
10352#[derive(Debug, Serialize, Deserialize)]
10353pub struct Pipeline {
10354    /// PPtr<[`GameObject`]>: (3.4.0 - 4.7.2)
10355    pub m_GameObject: PPtr,
10356}
10357
10358/// PlatformEffector2D is a  class of the Unity engine since version 5.0.0f4.
10359/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/PlatformEffector2D.html):
10360/**
10361Applies "platform" behaviour such as one-way collisions etc.
10362When the source Collider2D is a trigger, the effector will apply forces whenever the target Collider2D overlaps the source.  When the source Collider isn't a trigger, the effector will apply forces whenever the target Collider2D is in contact with the source only.
10363*/
10364#[derive(Debug, Serialize, Deserialize)]
10365pub struct PlatformEffector2D {
10366    /**The mask used to select specific layers allowed to interact with the effector.*/
10367    pub m_ColliderMask: BitField,
10368    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
10369    pub m_Enabled: u8,
10370    /**The game object this component is attached to. A component is always attached to a game object.*/
10371    /// PPtr<[`GameObject`]>: (5.0.0f4 - 2022.3.2f1)
10372    pub m_GameObject: PPtr,
10373    /// bool: (5.0.0f4 - 5.0.0f4)
10374    pub m_OneWay: Option<bool>,
10375    /**The rotational offset angle from the local 'up'.*/
10376    /// f32: (5.5.0f3 - 2022.3.2f1)
10377    pub m_RotationalOffset: Option<f32>,
10378    /// f32: (5.0.0f4 - 5.1.1f1)
10379    pub m_SideAngleVariance: Option<f32>,
10380    /**The angle of an arc that defines the sides of the platform centered on the local 'left' and 'right' of the effector. Any collision normals within this arc are considered for the 'side' behaviours.*/
10381    /// f32: (5.2.2f1 - 2022.3.2f1)
10382    pub m_SideArc: Option<f32>,
10383    /// bool: (5.0.0f4 - 5.0.0f4)
10384    pub m_SideBounce: Option<bool>,
10385    /// bool: (5.0.0f4 - 5.0.0f4)
10386    pub m_SideFriction: Option<bool>,
10387    /**The angle of an arc that defines the surface of the platform centered of the local 'up' of the effector.*/
10388    /// f32: (5.1.2f1 - 2022.3.2f1)
10389    pub m_SurfaceArc: Option<f32>,
10390    /**Should the collider-mask be used or the global collision matrix?*/
10391    /// bool: (5.0.2f1 - 2022.3.2f1)
10392    pub m_UseColliderMask: Option<bool>,
10393    /**Should the one-way collision behaviour be used?*/
10394    /// bool: (5.0.1f1 - 2022.3.2f1)
10395    pub m_UseOneWay: Option<bool>,
10396    /**Ensures that all contacts controlled by the one-way behaviour act the same.*/
10397    /// bool: (5.2.4f1 - 2022.3.2f1)
10398    pub m_UseOneWayGrouping: Option<bool>,
10399    /**Should bounce be used on the platform sides?*/
10400    /// bool: (5.0.1f1 - 2022.3.2f1)
10401    pub m_UseSideBounce: Option<bool>,
10402    /**Should friction be used on the platform sides?*/
10403    /// bool: (5.0.1f1 - 2022.3.2f1)
10404    pub m_UseSideFriction: Option<bool>,
10405}
10406
10407/// PlatformModuleSetup is a  class of the Unity engine since version 2018.1.0b2.
10408#[derive(Debug, Serialize, Deserialize)]
10409pub struct PlatformModuleSetup {
10410    pub modules: Vec<Module>,
10411}
10412
10413/// PlatformSettings is a sub class of the Unity engine since version 5.5.0f3.
10414#[derive(Debug, Serialize, Deserialize)]
10415pub struct PlatformSettings {
10416    pub m_AllowsAlphaSplitting: bool,
10417    pub m_BuildTarget: String,
10418    pub m_CompressionQuality: i32,
10419    pub m_CrunchedCompression: bool,
10420    pub m_MaxTextureSize: i32,
10421    pub m_Overridden: bool,
10422    pub m_TextureCompression: i32,
10423    pub m_TextureFormat: i32,
10424    /// i32: (2017.2.0b2 - 2017.2.5f1)
10425    pub m_ResizeAlgorithm: Option<i32>,
10426}
10427
10428/// PlatformSettingsData is a sub class of the Unity engine since version 5.0.0f4.
10429#[derive(Debug, Serialize, Deserialize)]
10430pub struct PlatformSettingsData {
10431    pub enabled: bool,
10432    pub settings: Vec<(String, String)>,
10433}
10434
10435/// PlatformShaderDefines is a sub class of the Unity engine since version 2017.1.0b2.
10436#[derive(Debug, Serialize, Deserialize)]
10437pub struct PlatformShaderDefines {
10438    pub defines_Tier1: Vec<u32>,
10439    pub defines_Tier2: Vec<u32>,
10440    pub defines_Tier3: Vec<u32>,
10441    pub shaderPlatform: i32,
10442}
10443
10444/// PlatformShaderSettings is a sub class of the Unity engine since version 5.3.0f1.
10445/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Rendering.PlatformShaderSettings.html):
10446/**
10447Used to set up shader settings, per-platform and per-shader-hardware-tier.
10448This struct is deprecated. Please use TierSettings.
10449*/
10450#[derive(Debug, Serialize, Deserialize)]
10451pub struct PlatformShaderSettings {
10452    /// bool: (5.4.0f3 - 5.4.6f3)
10453    pub useCascadedShadowMaps: Option<bool>,
10454    /// bool: (5.3.0f1 - 5.3.8f2)
10455    pub useScreenSpaceShadows: Option<bool>,
10456}
10457
10458/// PlayableDirector is a  class of the Unity engine since version 2017.1.0b1.
10459/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Playables.PlayableDirector.html):
10460/**
10461Instantiates a PlayableAsset and controls playback of Playable objects.
10462*/
10463#[derive(Debug, Serialize, Deserialize)]
10464pub struct PlayableDirector {
10465    pub m_DirectorUpdateMode: i32,
10466    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
10467    pub m_Enabled: u8,
10468    pub m_ExposedReferences: ExposedReferenceTable,
10469    /**The game object this component is attached to. A component is always attached to a game object.*/
10470    /// PPtr<[`GameObject`]>: (2017.1.0b1 - 2022.3.2f1)
10471    pub m_GameObject: PPtr,
10472    pub m_InitialState: i32,
10473    /**The time at which the Playable should start when first played.*/
10474    pub m_InitialTime: f64,
10475    /**The PlayableAsset that is used to instantiate a playable for playback.*/
10476    /// PPtr<[`Object`]>: (2017.1.0b1 - 2022.3.2f1)
10477    pub m_PlayableAsset: PPtr,
10478    pub m_SceneBindings: Vec<DirectorGenericBinding>,
10479    pub m_WrapMode: i32,
10480}
10481
10482/// PlayerSettings is a  class of the Unity engine since version 3.4.0.
10483/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/PlayerSettings.html):
10484/**
10485Player Settings is where you define various parameters for the final game that you will build in Unity. Some of these values are used in the Resolution Dialog that launches when you open a standalone game.
10486*/
10487#[derive(Debug, Serialize, Deserialize)]
10488pub struct PlayerSettings {
10489    pub AndroidProfiler: bool,
10490    pub allowedAutorotateToLandscapeLeft: bool,
10491    pub allowedAutorotateToLandscapeRight: bool,
10492    pub allowedAutorotateToPortrait: bool,
10493    pub allowedAutorotateToPortraitUpsideDown: bool,
10494    pub captureSingleScreen: bool,
10495    pub companyName: String,
10496    pub defaultScreenHeight: i32,
10497    pub defaultScreenHeightWeb: i32,
10498    pub defaultScreenOrientation: i32,
10499    pub defaultScreenWidth: i32,
10500    pub defaultScreenWidthWeb: i32,
10501    pub productName: String,
10502    pub runInBackground: bool,
10503    pub targetDevice: i32,
10504    pub use32BitDisplayBuffer: bool,
10505    pub useMacAppStoreValidation: bool,
10506    pub useOSAutorotation: bool,
10507    pub usePlayerLog: bool,
10508    /// Hash128: (2020.2.0b1 - 2022.3.2f1)
10509    pub AID: Option<Hash128>,
10510    /// bool: (2018.1.0b2 - 2022.3.2f1)
10511    pub AndroidEnableSustainedPerformanceMode: Option<bool>,
10512    /// bool: (2017.2.0b2 - 2022.3.2f1)
10513    pub AndroidFilterTouchesWhenObscured: Option<bool>,
10514    /// String: (3.4.0 - 3.5.7)
10515    pub AndroidLicensePublicKey: Option<String>,
10516    /// i32: (2019.3.0b1 - 2022.2.14f1)
10517    pub D3DHDRBitDepth: Option<i32>,
10518    /// bool: (2022.3.2f1 - 2022.3.2f1)
10519    #[serde(alias = "Force IOS Speakers When Recording")]
10520    pub Force_IOS_Speakers_When_Recording: Option<bool>,
10521    /// bool: (3.4.0 - 5.4.6f3)
10522    #[serde(alias = "Override IPod Music")]
10523    pub Override_IPod_Music: Option<bool>,
10524    /// bool: (2022.3.2f1 - 2022.3.2f1)
10525    #[serde(alias = "Prepare IOS For Recording")]
10526    pub Prepare_IOS_For_Recording: Option<bool>,
10527    /// i32: (3.5.0 - 2022.3.2f1)
10528    pub accelerometerFrequency: Option<i32>,
10529    /// i32: (2020.2.0f1 - 2022.3.2f1)
10530    pub activeInputHandler: Option<i32>,
10531    /// bool: (5.3.0f1 - 2022.3.2f1)
10532    pub allowFullscreenSwitch: Option<bool>,
10533    /// i32: (2017.2.0b2 - 2022.3.2f1)
10534    pub androidBlitType: Option<i32>,
10535    /// i32: (2019.4.31f1 - 2022.3.2f1)
10536    pub androidDefaultWindowHeight: Option<i32>,
10537    /// i32: (2019.4.31f1 - 2022.3.2f1)
10538    pub androidDefaultWindowWidth: Option<i32>,
10539    /// i32: (2019.4.31f1 - 2022.3.2f1)
10540    pub androidFullscreenMode: Option<i32>,
10541    /// f32: (2017.2.0b2 - 2022.3.2f1)
10542    pub androidMaxAspectRatio: Option<f32>,
10543    /// i32: (2019.4.31f1 - 2022.3.2f1)
10544    pub androidMinimumWindowHeight: Option<i32>,
10545    /// i32: (2019.4.31f1 - 2022.3.2f1)
10546    pub androidMinimumWindowWidth: Option<i32>,
10547    /// bool: (2018.3.0f2 - 2022.3.2f1)
10548    pub androidRenderOutsideSafeArea: Option<bool>,
10549    /// bool: (2019.4.31f1 - 2022.3.2f1)
10550    pub androidResizableWindow: Option<bool>,
10551    /// i32: (3.5.0 - 2022.3.2f1)
10552    pub androidShowActivityIndicatorOnLoading: Option<i32>,
10553    /// bool: (2018.3.0f2 - 2022.3.2f1)
10554    pub androidStartInFullscreen: Option<bool>,
10555    /// i32: (2017.2.0b2 - 2022.3.2f1)
10556    pub androidSupportedAspectRatio: Option<i32>,
10557    /// bool: (2019.2.0b1 - 2022.3.2f1)
10558    pub androidUseSwappy: Option<bool>,
10559    /// bool: (5.0.0f4 - 2022.3.2f1)
10560    pub bakeCollisionMeshes: Option<bool>,
10561    /// String: (5.0.0f4 - 5.6.0b5)
10562    pub bundleIdentifier: Option<String>,
10563    /// String: (5.0.0f4 - 2022.3.2f1)
10564    pub bundleVersion: Option<String>,
10565    /// bool: (5.1.0f1 - 2022.3.2f1)
10566    pub cloudEnabled: Option<bool>,
10567    /// String: (5.0.0f4 - 2022.3.2f1)
10568    pub cloudProjectId: Option<String>,
10569    /// Vec<i32>: (2022.2.0b3 - 2022.2.0b8)
10570    pub cpuConfiguration: Option<Vec<i32>>,
10571    /// Vector2f: (4.0.0 - 2022.3.2f1)
10572    pub cursorHotspot: Option<Vector2f>,
10573    /// bool: (4.5.5 - 4.7.2)
10574    pub d3d11ForceExclusiveMode: Option<bool>,
10575    /// i32: (5.0.0f4 - 2017.4.40f1)
10576    pub d3d11FullscreenMode: Option<i32>,
10577    /// i32: (4.5.3 - 2017.2.5f1)
10578    pub d3d9FullscreenMode: Option<i32>,
10579    /// i32: (3.5.5 - 3.5.7)
10580    pub debugUnloadMode: Option<i32>,
10581    /// PPtr<[`Texture2D`]>: (4.0.0 - 2022.3.2f1)
10582    pub defaultCursor: Option<PPtr>,
10583    /// bool: (3.4.0 - 2017.4.40f1)
10584    pub defaultIsFullScreen: Option<bool>,
10585    /// bool: (4.2.0 - 2022.3.2f1)
10586    pub defaultIsNativeResolution: Option<bool>,
10587    /// i32: (5.6.5f1 - 2022.3.2f1)
10588    pub deferSystemGesturesMode: Option<i32>,
10589    /// bool: (5.0.0f4 - 2022.3.2f1)
10590    pub disableDepthAndStencilBuffers: Option<bool>,
10591    /// bool: (2017.1.0b2 - 2020.2.0a21)
10592    pub disableOldInputManagerSupport: Option<bool>,
10593    /// i32: (3.4.0 - 2019.3.0a10)
10594    pub displayResolutionDialog: Option<i32>,
10595    /// bool: (2018.3.0f2 - 2022.3.2f1)
10596    pub enableFrameTimingStats: Option<bool>,
10597    /// bool: (2022.2.0b3 - 2022.2.0b8)
10598    pub enableGamepadInput: Option<bool>,
10599    /// bool: (4.1.0 - 4.7.2)
10600    pub enableHWStatistics: Option<bool>,
10601    /// bool: (2017.1.0b2 - 2020.2.0a21)
10602    pub enableNativePlatformBackendsForNewInputSystem: Option<bool>,
10603    /// bool: (5.6.0b1 - 2017.1.0b1)
10604    pub enableNewInputSystem: Option<bool>,
10605    /// bool: (2021.3.2f1 - 2022.3.2f1)
10606    pub enableOpenGLProfilerGPURecorders: Option<bool>,
10607    /// bool: (2021.2.0b1 - 2022.2.0a18)
10608    pub forceSRGBBlit: Option<bool>,
10609    /// bool: (4.2.0 - 2022.3.2f1)
10610    pub forceSingleInstance: Option<bool>,
10611    /// i32: (2018.3.0f2 - 2022.3.2f1)
10612    pub framebufferDepthMemorylessMode: Option<i32>,
10613    /// i32: (2018.1.0b2 - 2022.3.2f1)
10614    pub fullscreenMode: Option<i32>,
10615    /// bool: (4.2.0 - 2022.3.2f1)
10616    pub gpuSkinning: Option<bool>,
10617    /// i32: (5.5.2f1 - 2019.3.0a12)
10618    pub graphicsJobMode: Option<i32>,
10619    /// bool: (5.4.0f3 - 2019.3.0a11)
10620    pub graphicsJobs: Option<bool>,
10621    /// i32: (2022.2.15f1 - 2022.3.2f1)
10622    pub hdrBitDepth: Option<i32>,
10623    /// bool: (5.6.5f1 - 2022.3.2f1)
10624    pub hideHomeButton: Option<bool>,
10625    /// PPtr<[`Texture2D`]>: (2022.2.0f1 - 2022.3.2f1)
10626    pub hmiLoadingImage: Option<PPtr>,
10627    /// String: (4.1.2 - 4.7.2)
10628    pub iPhoneBundleIdentifier: Option<String>,
10629    /// bool: (5.3.1f1 - 2017.2.5f1)
10630    pub ignoreAlphaClear: Option<bool>,
10631    /// i32: (2022.1.0b1 - 2022.3.2f1)
10632    pub insecureHttpOption: Option<i32>,
10633    /// PPtr<[`Texture2D`]>: (2022.2.3f1 - 2022.3.2f1)
10634    pub invalidatedPatternTexture: Option<PPtr>,
10635    /// bool: (5.2.1f1 - 2021.3.27f1)
10636    pub iosAllowHTTPDownload: Option<bool>,
10637    /// i32: (5.0.0f4 - 2019.3.0a11)
10638    pub iosAppInBackgroundBehavior: Option<i32>,
10639    /// i32: (3.5.0 - 2022.3.2f1)
10640    pub iosShowActivityIndicatorOnLoading: Option<i32>,
10641    /// bool: (2017.4.40f1 - 2022.3.2f1)
10642    pub iosUseCustomAppBackgroundBehavior: Option<bool>,
10643    /// bool: (2018.2.9f1 - 2022.3.2f1)
10644    pub isWsaHolographicRemotingEnabled: Option<bool>,
10645    /// bool: (2018.3.0f2 - 2022.3.2f1)
10646    pub legacyClampBlendShapeWeights: Option<bool>,
10647    /// bool: (2022.2.0b1 - 2022.3.2f1)
10648    pub loadStoreDebugModeEnabled: Option<bool>,
10649    /// i32: (3.5.0 - 2022.3.2f1)
10650    pub m_ActiveColorSpace: Option<i32>,
10651    /// Vec<i32>: (2017.2.0b2 - 2022.3.2f1)
10652    pub m_ColorGamuts: Option<Vec<i32>>,
10653    /// bool: (5.5.0f3 - 2022.3.2f1)
10654    pub m_HolographicPauseOnTrackingLoss: Option<bool>,
10655    /// PPtr<[`Texture2D`]>: (5.5.0f3 - 2022.3.2f1)
10656    pub m_HolographicTrackingLossScreen: Option<PPtr>,
10657    /// bool: (3.5.0 - 2022.3.2f1)
10658    pub m_MTRendering: Option<bool>,
10659    /// bool: (4.3.0 - 2017.1.5f1)
10660    pub m_MobileMTRendering: Option<bool>,
10661    /// i32: (4.3.0 - 5.4.6f3)
10662    pub m_MobileRenderingPath: Option<i32>,
10663    /// i32: (3.4.0 - 5.4.6f3)
10664    pub m_RenderingPath: Option<i32>,
10665    /// bool: (5.5.0f3 - 2022.3.2f1)
10666    pub m_ShowUnitySplashLogo: Option<bool>,
10667    /// bool: (5.0.1f1 - 2022.3.2f1)
10668    pub m_ShowUnitySplashScreen: Option<bool>,
10669    /// i32: (5.5.0f3 - 2022.3.2f1)
10670    pub m_SplashScreenAnimation: Option<i32>,
10671    /// f32: (5.5.0f3 - 2022.3.2f1)
10672    pub m_SplashScreenBackgroundAnimationZoom: Option<f32>,
10673    /// ColorRGBA: (5.5.0f3 - 2022.3.2f1)
10674    pub m_SplashScreenBackgroundColor: Option<ColorRGBA>,
10675    /// PPtr<[`Texture2D`]>: (5.5.0f3 - 2022.3.2f1)
10676    pub m_SplashScreenBackgroundLandscape: Option<PPtr>,
10677    /// f32: (5.5.0f3 - 2022.3.2f1)
10678    pub m_SplashScreenBackgroundLandscapeAspect: Option<f32>,
10679    /// Rectf: (5.5.0f3 - 2022.3.2f1)
10680    pub m_SplashScreenBackgroundLandscapeUvs: Option<Rectf>,
10681    /// PPtr<[`Texture2D`]>: (5.5.0f3 - 2022.3.2f1)
10682    pub m_SplashScreenBackgroundPortrait: Option<PPtr>,
10683    /// f32: (5.5.0f3 - 2022.3.2f1)
10684    pub m_SplashScreenBackgroundPortraitAspect: Option<f32>,
10685    /// Rectf: (5.5.0f3 - 2022.3.2f1)
10686    pub m_SplashScreenBackgroundPortraitUvs: Option<Rectf>,
10687    /// i32: (5.5.0f3 - 2022.3.2f1)
10688    pub m_SplashScreenDrawMode: Option<i32>,
10689    /// f32: (5.5.0f3 - 2022.3.2f1)
10690    pub m_SplashScreenLogoAnimationZoom: Option<f32>,
10691    /// i32: (5.5.0f3 - 2022.3.2f1)
10692    pub m_SplashScreenLogoStyle: Option<i32>,
10693    /// Vec<SplashScreenLogo>: (5.5.0f3 - 2022.3.2f1)
10694    pub m_SplashScreenLogos: Option<Vec<SplashScreenLogo>>,
10695    /// f32: (5.5.0f3 - 2022.3.2f1)
10696    pub m_SplashScreenOverlayOpacity: Option<f32>,
10697    /// i32: (5.4.0f3 - 5.4.6f3)
10698    pub m_SplashScreenStyle: Option<i32>,
10699    /// i32: (2022.1.0b1 - 2022.3.2f1)
10700    pub m_SpriteBatchVertexThreshold: Option<i32>,
10701    /// Vec<i32>: (5.4.0f3 - 2022.3.2f1)
10702    pub m_StackTraceTypes: Option<Vec<i32>>,
10703    /// i32: (5.5.0f3 - 2022.3.2f1)
10704    pub m_StereoRenderingPath: Option<i32>,
10705    /// bool: (4.5.0 - 5.3.8f2)
10706    pub m_Stereoscopic3D: Option<bool>,
10707    /// AspectRatios: (3.4.0 - 2022.1.24f1)
10708    pub m_SupportedAspectRatios: Option<AspectRatios>,
10709    /// PPtr<[`Sprite`]>: (2022.2.0b1 - 2022.3.2f1)
10710    pub m_UnitySplashLogo: Option<PPtr>,
10711    /// bool: (4.0.0 - 5.0.4f1)
10712    pub m_UseDX11: Option<bool>,
10713    /// PPtr<[`Texture2D`]>: (5.3.0f1 - 2022.3.2f1)
10714    pub m_VirtualRealitySplashScreen: Option<PPtr>,
10715    /// String: (5.6.1f1 - 2022.3.2f1)
10716    pub macAppStoreCategory: Option<String>,
10717    /// i32: (4.0.0 - 2017.4.40f1)
10718    pub macFullscreenMode: Option<i32>,
10719    /// bool: (2017.2.0b2 - 2022.3.2f1)
10720    pub macRetinaSupport: Option<bool>,
10721    /// bool: (2017.2.0b2 - 2022.3.2f1)
10722    pub metalFramebufferOnly: Option<bool>,
10723    /// bool: (4.3.3 - 5.4.6f3)
10724    pub metroEnableIndependentInputSource: Option<bool>,
10725    /// bool: (4.3.3 - 5.3.8f2)
10726    pub metroEnableLowLatencyPresentationAPI: Option<bool>,
10727    /// i32: (5.5.0f3 - 2022.3.2f1)
10728    pub metroInputSource: Option<i32>,
10729    /// bool: (2020.1.0b1 - 2022.3.2f1)
10730    pub mipStripping: Option<bool>,
10731    /// bool: (2017.2.0b2 - 2022.3.2f1)
10732    pub mobileMTRenderingBaked: Option<bool>,
10733    /// bool: (5.3.8f1 - 2022.3.2f1)
10734    pub muteOtherAudioSources: Option<bool>,
10735    /// bool: (5.2.0f2 - 2018.2.21f1)
10736    pub n3dsDisableStereoscopicView: Option<bool>,
10737    /// bool: (5.2.0f2 - 2018.2.21f1)
10738    pub n3dsEnableSharedListOpt: Option<bool>,
10739    /// bool: (5.2.0f2 - 2018.2.21f1)
10740    pub n3dsEnableVSync: Option<bool>,
10741    /// i32: (2020.1.0b1 - 2022.3.2f1)
10742    pub numberOfMipsStripped: Option<i32>,
10743    /// Vec<(String, i32)>: (2022.2.3f1 - 2022.3.2f1)
10744    pub numberOfMipsStrippedPerMipmapLimitGroup: Option<Vec<(String, i32)>>,
10745    /// String: (5.1.0f1 - 2022.3.2f1)
10746    pub organizationId: Option<String>,
10747    /// bool: (2022.2.19f1 - 2022.3.2f1)
10748    pub platformRequiresReadableAssets: Option<bool>,
10749    /// String: (2021.2.0b1 - 2022.2.0a18)
10750    pub playerDataPath: Option<String>,
10751    /// i32: (2020.2.0f1 - 2022.3.2f1)
10752    pub playerMinOpenGLESVersion: Option<i32>,
10753    /// Vec<PPtr<[`Object`]>>: (5.0.0f4 - 2022.3.2f1)
10754    pub preloadedAssets: Option<Vec<PPtr>>,
10755    /// bool: (2017.3.0b2 - 2022.3.2f1)
10756    pub preserveFramebufferAlpha: Option<bool>,
10757    /// GUID: (5.4.0f3 - 2022.3.2f1)
10758    pub productGUID: Option<GUID>,
10759    /// String: (5.1.0f1 - 5.1.5f1)
10760    pub projectId: Option<String>,
10761    /// String: (5.1.0f1 - 2022.3.2f1)
10762    pub projectName: Option<String>,
10763    /// bool: (5.4.0f3 - 2019.3.0a12)
10764    pub protectGraphicsMemory: Option<bool>,
10765    /// PPtr<[`Texture2D`]>: (5.0.0f4 - 5.4.6f3)
10766    pub ps3SplashScreen: Option<PPtr>,
10767    /// bool: (5.0.0f4 - 2018.2.21f1)
10768    pub psp2AcquireBGM: Option<bool>,
10769    /// i32: (5.0.0f4 - 2018.2.21f1)
10770    pub psp2PowerMode: Option<i32>,
10771    /// Vec<String>: (2020.2.0b1 - 2022.3.2f1)
10772    pub qualitySettingsNames: Option<Vec<String>>,
10773    /// bool: (2020.3.35f1 - 2022.3.2f1)
10774    pub resetResolutionOnWindowResize: Option<bool>,
10775    /// bool: (4.0.0 - 2022.3.2f1)
10776    pub resizableWindow: Option<bool>,
10777    /// i32: (2017.1.0b1 - 2022.3.2f1)
10778    pub resolutionScalingMode: Option<i32>,
10779    /// bool: (5.4.0f3 - 5.4.6f3)
10780    pub singlePassStereoRendering: Option<bool>,
10781    /// i32: (2019.3.15f1 - 2022.3.2f1)
10782    pub stadiaPresentMode: Option<i32>,
10783    /// i32: (2019.3.15f1 - 2022.3.2f1)
10784    pub stadiaTargetFramerate: Option<i32>,
10785    /// bool: (4.0.0 - 4.7.2)
10786    pub stripPhysics: Option<bool>,
10787    /// bool: (5.0.0f4 - 2022.3.2f1)
10788    pub submitAnalytics: Option<bool>,
10789    /// bool: (2022.1.0b1 - 2022.3.2f1)
10790    pub switchAllowGpuScratchShrinking: Option<bool>,
10791    /// i32: (2022.1.0b1 - 2022.3.2f1)
10792    pub switchGpuScratchPoolGranularity: Option<i32>,
10793    /// i32: (2018.3.5f1 - 2022.3.2f1)
10794    pub switchNVNDefaultPoolsGranularity: Option<i32>,
10795    /// i32: (2022.1.0b1 - 2022.3.2f1)
10796    pub switchNVNGraphicsFirmwareMemory: Option<i32>,
10797    /// i32: (2018.4.26f1 - 2022.3.2f1)
10798    pub switchNVNMaxPublicSamplerIDCount: Option<i32>,
10799    /// i32: (2018.4.26f1 - 2022.3.2f1)
10800    pub switchNVNMaxPublicTextureIDCount: Option<i32>,
10801    /// i32: (2018.3.5f1 - 2022.3.2f1)
10802    pub switchNVNOtherPoolsGranularity: Option<i32>,
10803    /// i32: (2018.3.5f1 - 2022.3.2f1)
10804    pub switchNVNShaderPoolsGranularity: Option<i32>,
10805    /// i32: (2018.1.0f2 - 2022.3.2f1)
10806    pub switchQueueCommandMemory: Option<i32>,
10807    /// i32: (2018.3.5f1 - 2022.3.2f1)
10808    pub switchQueueComputeMemory: Option<i32>,
10809    /// i32: (2018.3.5f1 - 2022.3.2f1)
10810    pub switchQueueControlMemory: Option<i32>,
10811    /// i32: (4.0.0 - 5.0.4f1)
10812    pub targetGlesGraphics: Option<i32>,
10813    /// i32: (4.6.3 - 5.0.4f1)
10814    pub targetIOSGraphics: Option<i32>,
10815    /// i32: (2017.1.0b1 - 2022.3.2f1)
10816    pub targetPixelDensity: Option<i32>,
10817    /// i32: (3.4.0 - 3.5.7)
10818    pub targetPlatform: Option<i32>,
10819    /// i32: (3.4.0 - 5.2.5f1)
10820    pub targetResolution: Option<i32>,
10821    /// i32: (5.4.3f1 - 2018.1.9f2)
10822    pub tizenShowActivityIndicatorOnLoading: Option<i32>,
10823    /// bool: (5.3.0f1 - 5.6.0b2)
10824    pub uiUse16BitDepthBuffer: Option<bool>,
10825    /// bool: (2021.2.0b1 - 2022.1.0a15)
10826    pub uploadClearedTextureDataAfterCreationFromScript: Option<bool>,
10827    /// bool: (3.5.0 - 4.7.2)
10828    pub use24BitDepthBuffer: Option<bool>,
10829    /// bool: (3.4.0 - 3.4.2)
10830    pub useAlphaInDashboard: Option<bool>,
10831    /// bool: (2019.1.7f1 - 2022.3.2f1)
10832    pub useFlipModelSwapchain: Option<bool>,
10833    /// bool: (5.5.4f1 - 2022.3.2f1)
10834    pub useHDRDisplay: Option<bool>,
10835    /// bool: (5.2.1f1 - 2022.3.2f1)
10836    pub useOnDemandResources: Option<bool>,
10837    /// i32: (4.5.0 - 2018.2.21f1)
10838    pub videoMemoryForVertexBuffers: Option<i32>,
10839    /// bool: (5.1.1f1 - 5.3.8f2)
10840    pub virtualRealitySupported: Option<bool>,
10841    /// bool: (2020.1.0b1 - 2022.3.2f1)
10842    pub virtualTexturingSupportEnabled: Option<bool>,
10843    /// bool: (4.5.4 - 2022.3.2f1)
10844    pub visibleInBackground: Option<bool>,
10845    /// VRSettings: (5.6.0b1 - 2022.3.2f1)
10846    pub vrSettings: Option<VRSettings>,
10847    /// bool: (2020.3.18f1 - 2022.3.2f1)
10848    pub vulkanEnableCommandBufferRecycling: Option<bool>,
10849    /// bool: (2019.4.6f1 - 2022.3.2f1)
10850    pub vulkanEnableLateAcquireNextImage: Option<bool>,
10851    /// bool: (2020.2.0b1 - 2022.3.2f1)
10852    pub vulkanEnablePreTransform: Option<bool>,
10853    /// bool: (2018.2.0b1 - 2022.3.2f1)
10854    pub vulkanEnableSetSRGBWrite: Option<bool>,
10855    /// u32: (2019.3.0f1 - 2022.3.2f1)
10856    pub vulkanNumSwapchainBuffers: Option<u32>,
10857    /// bool: (2018.2.0b1 - 2018.2.21f1)
10858    pub vulkanUseSWCommandBuffers: Option<bool>,
10859    /// i32: (3.5.0 - 4.3.4)
10860    pub wiiHio2Usage: Option<i32>,
10861    /// ColorRGBA: (3.5.0 - 4.3.4)
10862    pub wiiLoadingScreenBackground: Option<ColorRGBA>,
10863    /// String: (3.5.0 - 4.3.4)
10864    pub wiiLoadingScreenFileName: Option<String>,
10865    /// i32: (3.5.0 - 4.3.4)
10866    pub wiiLoadingScreenPeriod: Option<i32>,
10867    /// Rectf: (3.5.0 - 4.3.4)
10868    pub wiiLoadingScreenRect: Option<Rectf>,
10869    /// i32: (3.5.0 - 4.3.4)
10870    pub wiiLoadingScreenRectPlacement: Option<i32>,
10871    /// bool: (5.2.0f2 - 2017.4.40f1)
10872    pub wiiUAllowScreenCapture: Option<bool>,
10873    /// i32: (5.2.0f2 - 2017.4.40f1)
10874    pub wiiUControllerCount: Option<i32>,
10875    /// i32: (5.2.0f2 - 2017.4.40f1)
10876    pub wiiUGamePadMSAA: Option<i32>,
10877    /// bool: (5.2.0f2 - 2017.4.40f1)
10878    pub wiiUSupportsBalanceBoard: Option<bool>,
10879    /// bool: (5.2.0f2 - 2017.4.40f1)
10880    pub wiiUSupportsClassicController: Option<bool>,
10881    /// bool: (5.2.0f2 - 2017.4.40f1)
10882    pub wiiUSupportsMotionPlus: Option<bool>,
10883    /// bool: (5.2.0f2 - 2017.4.40f1)
10884    pub wiiUSupportsNunchuk: Option<bool>,
10885    /// bool: (5.2.0f2 - 2017.4.40f1)
10886    pub wiiUSupportsProController: Option<bool>,
10887    /// i32: (5.2.0f2 - 2017.4.40f1)
10888    pub wiiUTVResolution: Option<i32>,
10889    /// i32: (2020.3.42f1 - 2022.3.2f1)
10890    pub windowsGamepadBackendHint: Option<i32>,
10891    /// bool: (2017.3.0b1 - 2022.3.2f1)
10892    pub wsaTransparentSwapchain: Option<bool>,
10893    /// bool: (3.5.0 - 2022.3.2f1)
10894    pub xboxEnableAvatar: Option<bool>,
10895    /// bool: (5.3.6f1 - 5.3.8f2)
10896    pub xboxEnableEnableRenderThreadRunsJobs: Option<bool>,
10897    /// bool: (4.0.0 - 2022.3.2f1)
10898    pub xboxEnableFitness: Option<bool>,
10899    /// bool: (4.3.0 - 2022.3.2f1)
10900    pub xboxEnableGuest: Option<bool>,
10901    /// bool: (4.1.0 - 2022.3.2f1)
10902    pub xboxEnableHeadOrientation: Option<bool>,
10903    /// bool: (3.5.0 - 2022.3.2f1)
10904    pub xboxEnableKinect: Option<bool>,
10905    /// bool: (3.5.0 - 2022.3.2f1)
10906    pub xboxEnableKinectAutoTracking: Option<bool>,
10907    /// bool: (5.3.0f2 - 2022.3.2f1)
10908    pub xboxEnablePIXSampling: Option<bool>,
10909    /// bool: (3.5.0 - 3.5.7)
10910    pub xboxEnableSpeech: Option<bool>,
10911    /// bool: (2017.1.0f2 - 2022.3.2f1)
10912    pub xboxOneDisableEsram: Option<bool>,
10913    /// bool: (5.0.0f4 - 2022.3.2f1)
10914    pub xboxOneDisableKinectGpuReservation: Option<bool>,
10915    /// bool: (5.6.0b1 - 2022.3.2f1)
10916    pub xboxOneEnable7thCore: Option<bool>,
10917    /// bool: (2018.4.17f1 - 2022.3.2f1)
10918    pub xboxOneEnableTypeOptimization: Option<bool>,
10919    /// i32: (5.3.7f1 - 2022.3.2f1)
10920    pub xboxOneLoggingLevel: Option<i32>,
10921    /// i32: (5.3.6f1 - 2022.3.2f1)
10922    pub xboxOneMonoLoggingLevel: Option<i32>,
10923    /// u32: (2017.2.0b2 - 2022.3.2f1)
10924    pub xboxOnePresentImmediateThreshold: Option<u32>,
10925    /// i32: (5.0.0f4 - 2022.3.2f1)
10926    pub xboxOneResolution: Option<i32>,
10927    /// i32: (5.5.6f1 - 2022.3.2f1)
10928    pub xboxOneSResolution: Option<i32>,
10929    /// i32: (5.5.6f1 - 2022.3.2f1)
10930    pub xboxOneXResolution: Option<i32>,
10931    /// bool: (4.3.0 - 2022.3.2f1)
10932    pub xboxPIXTextureCapture: Option<bool>,
10933    /// bool: (3.4.0 - 4.1.5)
10934    pub xboxSkinOnGPU: Option<bool>,
10935    /// u32: (4.0.0 - 2022.3.2f1)
10936    pub xboxSpeechDB: Option<u32>,
10937}
10938
10939/// PluginBuildInfo is a  class of the Unity engine since version 2018.4.13f1.
10940#[derive(Debug, Serialize, Deserialize)]
10941pub struct PluginBuildInfo {
10942    pub m_EditorPlugins: Vec<String>,
10943    pub m_RuntimePlugins: Vec<String>,
10944}
10945
10946/// PluginImportOutput is a sub class of the Unity engine since version 5.0.0f4.
10947#[derive(Debug, Serialize, Deserialize)]
10948pub struct PluginImportOutput {
10949    /// i32: (5.4.0f3 - 2022.3.2f1)
10950    pub dllType: Option<i32>,
10951    /// i32: (5.0.0f4 - 5.3.8f2)
10952    pub pluginType: Option<i32>,
10953    /// i32: (2018.3.0f2 - 2022.3.2f1)
10954    pub scriptingRuntimeVersion: Option<i32>,
10955}
10956
10957/// PluginImporter is a  class of the Unity engine since version 5.0.0f4.
10958/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/PluginImporter.html):
10959/**
10960Represents a plugin importer.
10961*/
10962#[derive(Debug, Serialize, Deserialize)]
10963pub struct PluginImporter {
10964    /**Get or set the AssetBundle name.*/
10965    pub m_AssetBundleName: String,
10966    /**Get or set the AssetBundle variant.*/
10967    pub m_AssetBundleVariant: String,
10968    pub m_ExecutionOrder: Vec<(String, i32)>,
10969    /// Vec<(String, PPtr<[`Texture2D`]>)>: (5.0.0f4 - 2022.3.2f1)
10970    pub m_IconMap: Vec<(String, PPtr)>,
10971    /**Is a native plugin loaded during startup or on demand?*/
10972    pub m_IsPreloaded: bool,
10973    /**The name of the object.*/
10974    pub m_Name: String,
10975    pub m_Output: PluginImportOutput,
10976    pub m_PlatformData: Vec<(Enum_String__String___String, PlatformSettingsData)>,
10977    /**Get or set any user data.*/
10978    pub m_UserData: String,
10979    /**Allows you to specify a list of #define directives which controls whether your plug-in should be included.*/
10980    /// Vec<String>: (2018.3.0f2 - 2022.3.2f1)
10981    pub m_DefineConstraints: Option<Vec<String>>,
10982    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
10983    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
10984    /// bool: (2018.3.0f2 - 2022.3.2f1)
10985    pub m_IsExplicitlyReferenced: Option<bool>,
10986    /// bool: (5.5.0f3 - 2022.3.2f1)
10987    pub m_IsOverridable: Option<bool>,
10988    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
10989    pub m_UsedFileIDs: Option<Vec<i64>>,
10990    /// bool: (2018.3.10f1 - 2022.3.2f1)
10991    pub m_ValidateReferences: Option<bool>,
10992}
10993
10994#[derive(Debug, Serialize, Deserialize)]
10995#[serde(untagged)]
10996pub enum Enum_String__String___String {
10997    String__String((String, String)),
10998    String(String),
10999}
11000
11001/// PointEffector2D is a  class of the Unity engine since version 5.0.0f4.
11002/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/PointEffector2D.html):
11003/**
11004Applies forces to attract/repulse against a point.
11005When the source Collider2D is a trigger, the effector will apply forces whenever the target Collider2D overlaps the source.  When the source Collider isn't a trigger, the effector will apply forces whenever the target Collider2D is in contact with the source only.This effector is designed primarily to work with source Collider2D that are set as triggers so that target Collider2D can overlap the defined area.
11006*/
11007#[derive(Debug, Serialize, Deserialize)]
11008pub struct PointEffector2D {
11009    /**The angular drag to apply to rigid-bodies.*/
11010    pub m_AngularDrag: f32,
11011    /**The mask used to select specific layers allowed to interact with the effector.*/
11012    pub m_ColliderMask: BitField,
11013    /**The scale applied to the calculated distance between source and target.*/
11014    pub m_DistanceScale: f32,
11015    /**The linear drag to apply to rigid-bodies.*/
11016    pub m_Drag: f32,
11017    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
11018    pub m_Enabled: u8,
11019    /**The magnitude of the force to be applied.*/
11020    pub m_ForceMagnitude: f32,
11021    /**The mode used to apply the effector force.*/
11022    pub m_ForceMode: i32,
11023    /**The source which is used to calculate the centroid point of the effector.  The distance from the target is defined from this point.*/
11024    pub m_ForceSource: i32,
11025    /**The target for where the effector applies any force.*/
11026    pub m_ForceTarget: i32,
11027    /**The variation of the magnitude of the force to be applied.*/
11028    pub m_ForceVariation: f32,
11029    /**The game object this component is attached to. A component is always attached to a game object.*/
11030    /// PPtr<[`GameObject`]>: (5.0.0f4 - 2022.3.2f1)
11031    pub m_GameObject: PPtr,
11032    /**Should the collider-mask be used or the global collision matrix?*/
11033    /// bool: (5.0.2f1 - 2022.3.2f1)
11034    pub m_UseColliderMask: Option<bool>,
11035}
11036
11037/// Polygon2D is a sub class of the Unity engine since version 4.3.0.
11038#[derive(Debug, Serialize, Deserialize)]
11039pub struct Polygon2D {
11040    pub m_Paths: Vec<Vec<Vector2f>>,
11041}
11042
11043/// PolygonCollider2D is a  class of the Unity engine since version 4.3.0.
11044/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/PolygonCollider2D.html):
11045/**
11046Collider for 2D physics representing an arbitrary polygon defined by its vertices.
11047See Also: BoxCollider2D, CircleCollider2D, EdgeCollider2D.
11048*/
11049#[derive(Debug, Serialize, Deserialize)]
11050pub struct PolygonCollider2D {
11051    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
11052    pub m_Enabled: u8,
11053    /**The game object this component is attached to. A component is always attached to a game object.*/
11054    /// PPtr<[`GameObject`]>: (4.3.0 - 2022.3.2f1)
11055    pub m_GameObject: PPtr,
11056    /**Is this collider configured as a trigger?*/
11057    pub m_IsTrigger: bool,
11058    /// PPtr<[`PhysicsMaterial2D`]>: (4.3.0 - 2022.3.2f1)
11059    pub m_Material: PPtr,
11060    /**Determines whether the PolygonCollider2D's shape is automatically updated based on a SpriteRenderer's tiling properties.*/
11061    /// bool: (5.6.0f1 - 2022.3.2f1)
11062    pub m_AutoTiling: Option<bool>,
11063    /**The Layers that this Collider2D will report collision or trigger callbacks for during a contact with another Collider2D.*/
11064    /// BitField: (2022.2.0b1 - 2022.3.2f1)
11065    pub m_CallbackLayers: Option<BitField>,
11066    /**The layers of other Collider2D involved in contacts with this Collider2D that will be captured.*/
11067    /// BitField: (2022.2.0b1 - 2022.3.2f1)
11068    pub m_ContactCaptureLayers: Option<BitField>,
11069    /**The density of the collider used to calculate its mass (when auto mass is enabled).*/
11070    /// f32: (5.3.0f1 - 2022.3.2f1)
11071    pub m_Density: Option<f32>,
11072    /**The additional Layers that this Collider2D should exclude when deciding if a contact with another Collider2D should happen or not.*/
11073    /// BitField: (2022.2.0b1 - 2022.3.2f1)
11074    pub m_ExcludeLayers: Option<BitField>,
11075    /**The Layers that this Collider2D can receive forces from during a Collision contact with another Collider2D.*/
11076    /// BitField: (2022.2.0b1 - 2022.3.2f1)
11077    pub m_ForceReceiveLayers: Option<BitField>,
11078    /**The Layers that this Collider2D is allowed to send forces to during a Collision contact with another Collider2D.*/
11079    /// BitField: (2022.2.0b1 - 2022.3.2f1)
11080    pub m_ForceSendLayers: Option<BitField>,
11081    /**The additional Layers that this Collider2D should include when deciding if a contact with another Collider2D should happen or not.*/
11082    /// BitField: (2022.2.0b1 - 2022.3.2f1)
11083    pub m_IncludeLayers: Option<BitField>,
11084    /**A decision priority assigned to this Collider2D used when there is a conflicting decision on whether a contact between itself and another Collision2D should happen or not.*/
11085    /// i32: (2022.2.0b1 - 2022.3.2f1)
11086    pub m_LayerOverridePriority: Option<i32>,
11087    /**The local offset of the collider geometry.*/
11088    /// Vector2f: (5.0.0f4 - 2022.3.2f1)
11089    pub m_Offset: Option<Vector2f>,
11090    /**Corner points that define the collider's shape in local space.*/
11091    /// Polygon2D: (5.0.0f4 - 2022.3.2f1)
11092    pub m_Points: Option<Polygon2D>,
11093    /// Polygon2D: (4.3.0 - 4.7.2)
11094    pub m_Poly: Option<Polygon2D>,
11095    /// SpriteTilingProperty: (5.6.0f1 - 2022.3.2f1)
11096    pub m_SpriteTilingProperty: Option<SpriteTilingProperty>,
11097    /**When the value is true, the Collider uses an additional Delaunay triangulation step to produce the Collider mesh. When the value is false, this additional step does not occur.*/
11098    /// bool: (2022.1.0b1 - 2022.3.2f1)
11099    pub m_UseDelaunayMesh: Option<bool>,
11100    /**Sets whether the Collider will be used or not used by a CompositeCollider2D.*/
11101    /// bool: (5.6.0b1 - 2022.3.2f1)
11102    pub m_UsedByComposite: Option<bool>,
11103    /**Whether the collider is used by an attached effector or not.*/
11104    /// bool: (5.0.0f4 - 2022.3.2f1)
11105    pub m_UsedByEffector: Option<bool>,
11106}
11107
11108/// PositionConstraint is a  class of the Unity engine since version 2018.1.0b2.
11109/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.PositionConstraint.html):
11110/**
11111Constrains the position of an object relative to the position of one or more source objects.
11112*/
11113#[derive(Debug, Serialize, Deserialize)]
11114pub struct PositionConstraint {
11115    pub m_AffectTranslationX: bool,
11116    pub m_AffectTranslationY: bool,
11117    pub m_AffectTranslationZ: bool,
11118    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
11119    pub m_Enabled: u8,
11120    /**The game object this component is attached to. A component is always attached to a game object.*/
11121    /// PPtr<[`GameObject`]>: (2018.1.0b2 - 2022.3.2f1)
11122    pub m_GameObject: PPtr,
11123    pub m_Sources: Vec<ConstraintSource>,
11124    /**The translation used when the sources have a total weight of 0.*/
11125    pub m_TranslationAtRest: Vector3f,
11126    /**The offset from the constrained position.*/
11127    pub m_TranslationOffset: Vector3f,
11128    /**The weight of the constraint component.*/
11129    pub m_Weight: f32,
11130    /// bool: (2022.1.0b1 - 2022.3.2f1)
11131    pub m_Active: Option<bool>,
11132    /// bool: (2018.1.0b2 - 2022.1.0a9)
11133    pub m_IsContraintActive: Option<bool>,
11134}
11135
11136/// Prefab is a  class of the Unity engine since version 3.5.0.
11137#[derive(Debug, Serialize, Deserialize)]
11138pub struct Prefab {
11139    /// PPtr<[`GameObject`]>: (3.5.0 - 2022.3.2f1)
11140    pub m_RootGameObject: PPtr,
11141    /// bool: (2021.2.0b1 - 2022.3.2f1)
11142    pub m_ContainsMissingSerializeReferenceTypes: Option<bool>,
11143    /// i32: (2020.1.0b1 - 2022.3.2f1)
11144    pub m_HideFlagsBehaviour: Option<i32>,
11145    /// bool: (3.5.0 - 4.7.2)
11146    pub m_IsExploded: Option<bool>,
11147    /// bool: (2018.2.0b1 - 2018.2.21f1)
11148    pub m_IsPrefabAsset: Option<bool>,
11149    /// bool: (3.5.0 - 2018.1.9f2)
11150    pub m_IsPrefabParent: Option<bool>,
11151    /// PrefabModification: (3.5.0 - 2018.2.21f1)
11152    pub m_Modification: Option<PrefabModification>,
11153    /// PPtr<[`Prefab`]>: (3.5.0 - 2018.1.9f2)
11154    pub m_ParentPrefab: Option<PPtr>,
11155    /// PPtr<[`Prefab`]>: (2018.2.0b1 - 2018.2.21f1)
11156    pub m_SourcePrefab: Option<PPtr>,
11157}
11158
11159/// PrefabImporter is a  class of the Unity engine since version 2018.3.0f2.
11160#[derive(Debug, Serialize, Deserialize)]
11161pub struct PrefabImporter {
11162    pub m_AddedObjectFileIDs: Vec<i64>,
11163    pub m_AssetBundleName: String,
11164    pub m_AssetBundleVariant: String,
11165    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2018.3.0f2 - 2022.3.2f1)
11166    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
11167    pub m_IsPrefabVariant: bool,
11168    pub m_Name: String,
11169    pub m_UserData: String,
11170    /// bool: (2018.3.0f2 - 2020.1.0a25)
11171    pub m_UnableToImportOnPreviousDomainReload: Option<bool>,
11172    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
11173    pub m_UsedFileIDs: Option<Vec<i64>>,
11174    /// GUID: (2022.2.0b1 - 2022.3.2f1)
11175    pub m_VariantParentGUID: Option<GUID>,
11176}
11177
11178/// PrefabInstance is a  class of the Unity engine since version 2018.3.0f2.
11179#[derive(Debug, Serialize, Deserialize)]
11180pub struct PrefabInstance {
11181    pub m_Modification: PrefabModification,
11182    /// PPtr<[`GameObject`]>: (2018.3.0f2 - 2022.3.2f1)
11183    pub m_RootGameObject: PPtr,
11184    /// PPtr<[`Prefab`]>: (2018.3.0f2 - 2022.3.2f1)
11185    pub m_SourcePrefab: PPtr,
11186}
11187
11188/// PrefabModification is a sub class of the Unity engine since version 3.5.0.
11189#[derive(Debug, Serialize, Deserialize)]
11190pub struct PrefabModification {
11191    pub m_Modifications: Vec<PropertyModification>,
11192    /// Vec<PPtr<[`Object`]>>: (3.5.0 - 2018.2.21f1); Vec<PPtr<[`Component`]>>: (2018.3.0f2 - 2022.3.2f1)
11193    pub m_RemovedComponents: Vec<PPtr>,
11194    /// PPtr<[`Transform`]>: (3.5.0 - 2022.3.2f1)
11195    pub m_TransformParent: PPtr,
11196    /// Vec<AddedComponent>: (2022.2.0b1 - 2022.3.2f1)
11197    pub m_AddedComponents: Option<Vec<AddedComponent>>,
11198    /// Vec<AddedGameObject>: (2022.1.0b1 - 2022.3.2f1)
11199    pub m_AddedGameObjects: Option<Vec<AddedGameObject>>,
11200    /// Vec<PPtr<[`GameObject`]>>: (2022.2.0b1 - 2022.3.2f1)
11201    pub m_RemovedGameObjects: Option<Vec<PPtr>>,
11202}
11203
11204/// PreloadData is a  class of the Unity engine since version 3.4.0.
11205#[derive(Debug, Serialize, Deserialize)]
11206pub struct PreloadData {
11207    /// Vec<PPtr<[`Object`]>>: (3.4.0 - 2022.3.2f1)
11208    pub m_Assets: Vec<PPtr>,
11209    pub m_Name: String,
11210    /// Vec<String>: (5.0.0f4 - 2022.3.2f1)
11211    pub m_Dependencies: Option<Vec<String>>,
11212    /// bool: (2018.2.0b1 - 2022.3.2f1)
11213    pub m_ExplicitDataLayout: Option<bool>,
11214}
11215
11216/// Preset is a  class of the Unity engine since version 2018.1.0b2.
11217/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Presets.Preset.html):
11218/**
11219A Preset contains default values for an Object.
11220The Preset class contains the type of the Object used to create it and a list of each serialized property/value pair of this Object.
11221It can be used to store informations from any serializable Object in the Editor and apply them back to this Object or any other Object of the same type.
11222Presets can also be saved as Assets using the .preset extension in order to.
11223*/
11224#[derive(Debug, Serialize, Deserialize)]
11225pub struct Preset {
11226    /**The name of the object.*/
11227    pub m_Name: String,
11228    pub m_Properties: Vec<PropertyModification>,
11229    pub m_TargetType: PresetType,
11230    /**List of properties to ignore when applying the Preset to an object.*/
11231    /// Vec<String>: (2020.1.0b1 - 2022.3.2f1)
11232    pub m_ExcludedProperties: Option<Vec<String>>,
11233}
11234
11235/// PresetManager is a  class of the Unity engine since version 2018.1.0b2.
11236#[derive(Debug, Serialize, Deserialize)]
11237pub struct PresetManager {
11238    /// Vec<DefaultPresetList>: (2018.1.0b2 - 2019.3.0a8)
11239    pub m_DefaultList: Option<Vec<DefaultPresetList>>,
11240    /// Vec<(PresetType, Vec<DefaultPreset>)>: (2019.3.0b1 - 2022.3.2f1)
11241    pub m_DefaultPresets: Option<Vec<(PresetType, Vec<DefaultPreset>)>>,
11242}
11243
11244/// PresetType is a sub class of the Unity engine since version 2018.1.0b2.
11245/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Presets.PresetType.html):
11246/**
11247Stores a type to which a Preset can be applied.
11248Only classes that inherit from UnityEngine.Object are represented by a PresetType.This structure is used instead of Type because some native C++ types in Unity are not exposed to managed C# for optimization reasons.
11249*/
11250#[derive(Debug, Serialize, Deserialize)]
11251pub struct PresetType {
11252    pub m_ManagedTypeFallback: String,
11253    /// PPtr<[`MonoScript`]>: (2018.1.0b2 - 2022.3.2f1)
11254    pub m_ManagedTypePPtr: PPtr,
11255    pub m_NativeTypeID: i32,
11256}
11257
11258/// PreviewAnimationClip is a  class of the Unity engine since version 5.6.0b1.
11259#[derive(Debug, Serialize, Deserialize)]
11260pub struct PreviewAnimationClip {
11261    pub m_Bounds: AABB,
11262    pub m_ClipBindingConstant: AnimationClipBindingConstant,
11263    pub m_Compressed: bool,
11264    pub m_CompressedRotationCurves: Vec<CompressedAnimationCurve>,
11265    pub m_EulerCurves: Vec<Vector3Curve>,
11266    pub m_Events: Vec<AnimationEvent>,
11267    pub m_FloatCurves: Vec<FloatCurve>,
11268    pub m_Legacy: bool,
11269    pub m_MuscleClip: ClipMuscleConstant,
11270    pub m_MuscleClipSize: u32,
11271    pub m_Name: String,
11272    /// Vec<PPtrCurve>: (5.6.0b1 - 2022.3.2f1)
11273    pub m_PPtrCurves: Vec<PPtrCurve>,
11274    pub m_PositionCurves: Vec<Vector3Curve>,
11275    pub m_RotationCurves: Vec<QuaternionCurve>,
11276    pub m_SampleRate: f32,
11277    pub m_ScaleCurves: Vec<Vector3Curve>,
11278    pub m_UseHighQualityCurve: bool,
11279    pub m_WrapMode: i32,
11280    /// bool: (2018.3.0f2 - 2022.3.2f1)
11281    pub m_HasGenericRootTransform: Option<bool>,
11282    /// bool: (2018.3.0f2 - 2022.3.2f1)
11283    pub m_HasMotionFloatCurves: Option<bool>,
11284}
11285
11286/// PreviewData is a sub class of the Unity engine since version 5.0.0f4.
11287#[derive(Debug, Serialize, Deserialize)]
11288pub struct PreviewData {
11289    pub m_CompSize: i32,
11290    pub m_OrigSize: i32,
11291    pub m_PreviewData: Vec<f32>,
11292}
11293
11294/// PreviewImporter is a  class of the Unity engine since version 2020.2.0b1.
11295#[derive(Debug, Serialize, Deserialize)]
11296pub struct PreviewImporter {
11297    pub m_AssetBundleName: String,
11298    pub m_AssetBundleVariant: String,
11299    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2020.2.0b1 - 2022.3.2f1)
11300    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
11301    pub m_Name: String,
11302    pub m_UsedFileIDs: Vec<i64>,
11303    pub m_UserData: String,
11304}
11305
11306/// ProbeSetIndex is a sub class of the Unity engine since version 5.0.0f4.
11307#[derive(Debug, Serialize, Deserialize)]
11308pub struct ProbeSetIndex {
11309    pub m_Hash: Hash128,
11310    pub m_Offset: i32,
11311    pub m_Size: i32,
11312}
11313
11314/// ProbeSetTetrahedralization is a sub class of the Unity engine since version 5.0.0f4.
11315#[derive(Debug, Serialize, Deserialize)]
11316pub struct ProbeSetTetrahedralization {
11317    pub m_HullRays: Vec<Vector3f>,
11318    pub m_Tetrahedra: Vec<Tetrahedron>,
11319}
11320
11321/// ProceduralMaterial is a  class of the Unity engine since version 3.4.0.
11322/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ProceduralMaterial.html):
11323/**
11324Deprecated feature, no longer available
11325*/
11326#[derive(Debug, Serialize, Deserialize)]
11327pub struct ProceduralMaterial {
11328    /**The name of the object.*/
11329    pub m_Name: String,
11330    pub m_SavedProperties: UnityPropertySheet,
11331    /**The shader used by the material.*/
11332    /// PPtr<[`Shader`]>: (3.4.0 - 2022.3.2f1)
11333    pub m_Shader: PPtr,
11334    /// Vec<String>: (5.6.0f1 - 2022.3.2f1)
11335    pub disabledShaderPasses: Option<Vec<String>>,
11336    /// i32: (3.5.0 - 2017.4.40f1)
11337    pub m_AnimationUpdateRate: Option<i32>,
11338    /// Vec<BuildTextureStackReference>: (2020.1.0b1 - 2022.3.2f1)
11339    pub m_BuildTextureStacks: Option<Vec<BuildTextureStackReference>>,
11340    /// i32: (3.4.0 - 3.4.2)
11341    pub m_CacheSize: Option<i32>,
11342    /// i32: (4.3.0 - 2022.3.2f1)
11343    pub m_CustomRenderQueue: Option<i32>,
11344    /**Gets and sets whether the Double Sided Global Illumination setting is enabled for this material.*/
11345    /// bool: (5.6.2f1 - 2022.3.2f1)
11346    pub m_DoubleSidedGI: Option<bool>,
11347    /// bool: (5.6.0f1 - 2022.3.2f1)
11348    pub m_EnableInstancingVariants: Option<bool>,
11349    /// u32: (3.4.0 - 2017.4.40f1)
11350    pub m_Flags: Option<u32>,
11351    /// bool: (4.5.0 - 2017.4.40f1)
11352    pub m_GenerateMipmaps: Option<bool>,
11353    /// Hash128: (4.1.0 - 2017.4.40f1)
11354    pub m_Hash: Option<Hash128>,
11355    /// i32: (3.5.0 - 2017.4.40f1)
11356    pub m_Height: Option<i32>,
11357    /// Vec<SubstanceInput>: (3.4.0 - 2017.4.40f1)
11358    pub m_Inputs: Option<Vec<SubstanceInput>>,
11359    /// Vec<String>: (2021.2.18f1 - 2022.3.2f1)
11360    pub m_InvalidKeywords: Option<Vec<String>>,
11361    /// u32: (5.0.0f4 - 2022.3.2f1)
11362    pub m_LightmapFlags: Option<u32>,
11363    /// i32: (4.0.0 - 2017.4.40f1)
11364    pub m_LoadingBehavior: Option<i32>,
11365    /// i32: (3.4.0 - 3.4.2)
11366    pub m_MaximumSize: Option<i32>,
11367    /// String: (4.2.0 - 2017.4.40f1)
11368    pub m_PrototypeName: Option<String>,
11369    /**An array containing names of the local shader keywords that are currently enabled for this material.*/
11370    /// Vec<String>: (4.1.0 - 4.7.2); String: (5.0.0f4 - 2022.1.0a16)
11371    pub m_ShaderKeywords: Option<Enum_Vec_String___String>,
11372    /// PPtr<[`SubstanceArchive`]>: (3.4.0 - 2017.4.40f1)
11373    pub m_SubstancePackage: Option<PPtr>,
11374    /// Vec<PPtr<[`ProceduralTexture`]>>: (3.4.0 - 2017.4.40f1)
11375    pub m_Textures: Option<Vec<PPtr>>,
11376    /// Vec<String>: (2021.2.18f1 - 2022.3.2f1)
11377    pub m_ValidKeywords: Option<Vec<String>>,
11378    /// i32: (3.5.0 - 2017.4.40f1)
11379    pub m_Width: Option<i32>,
11380    /// Vec<(String, String)>: (5.1.0f1 - 2022.3.2f1)
11381    pub stringTagMap: Option<Vec<(String, String)>>,
11382}
11383
11384/// ProceduralMaterialInformation is a sub class of the Unity engine since version 3.4.0.
11385#[derive(Debug, Serialize, Deserialize)]
11386pub struct ProceduralMaterialInformation {
11387    pub m_Offset: Vector2f,
11388    pub m_Scale: Vector2f,
11389    /// i32: (3.5.0 - 2017.4.40f1)
11390    pub m_AnimationUpdateRate: Option<i32>,
11391    /// i32: (3.5.0 - 2017.4.40f1)
11392    pub m_GenerateAllOutputs: Option<i32>,
11393    /// bool: (4.5.0 - 2017.4.40f1)
11394    pub m_GenerateMipmaps: Option<bool>,
11395    /// i32: (3.4.0 - 3.5.7)
11396    pub m_GeneratedAtLoading: Option<i32>,
11397}
11398
11399/// ProceduralTexture is a  class of the Unity engine since version 3.4.0.
11400/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ProceduralTexture.html):
11401/**
11402Deprecated feature, no longer available
11403*/
11404#[derive(Debug, Serialize, Deserialize)]
11405pub struct ProceduralTexture {
11406    /**The name of the object.*/
11407    pub m_Name: String,
11408    /// i32: (3.4.0 - 2017.4.40f1)
11409    pub AlphaSource: Option<i32>,
11410    /// bool: (4.5.0 - 2017.4.40f1)
11411    pub AlphaSourceIsGrayscale: Option<bool>,
11412    /// i32: (3.4.0 - 2017.4.40f1)
11413    pub Format: Option<i32>,
11414    /// i32: (3.4.0 - 2017.4.40f1)
11415    pub Type: Option<i32>,
11416    /// bool: (5.0.0f4 - 2017.4.40f1)
11417    pub m_AlphaSourceIsInverted: Option<bool>,
11418    /// u64: (4.5.0 - 2017.4.40f1)
11419    pub m_AlphaSourceUID: Option<u64>,
11420    /// Vec<u8>: (3.4.0 - 2017.4.40f1)
11421    pub m_BakedData: Option<Vec<u8>>,
11422    /// TextureParameters: (3.4.0 - 2017.4.40f1)
11423    pub m_BakedParameters: Option<TextureParameters>,
11424    /// i32: (4.0.0 - 2017.4.40f1)
11425    pub m_ColorSpace: Option<i32>,
11426    /// bool: (2017.3.0b1 - 2022.3.2f1)
11427    pub m_DownscaleFallback: Option<bool>,
11428    /// i32: (2017.3.0b1 - 2022.3.2f1)
11429    pub m_ForcedFallbackFormat: Option<i32>,
11430    /// bool: (2020.2.0b1 - 2022.3.2f1)
11431    pub m_IsAlphaChannelOptional: Option<bool>,
11432    /// i32: (3.4.0 - 2017.4.40f1)
11433    pub m_LightmapFormat: Option<i32>,
11434    /// i32: (4.5.0 - 2017.4.40f1)
11435    pub m_Mipmaps: Option<i32>,
11436    /// PPtr<[`ProceduralMaterial`]>: (3.4.0 - 2017.4.40f1)
11437    pub m_SubstanceMaterial: Option<PPtr>,
11438    /// u64: (3.4.0 - 2017.4.40f1)
11439    pub m_SubstanceTextureUID: Option<u64>,
11440    /// TextureParameters: (3.4.0 - 2017.4.40f1)
11441    pub m_TextureParameters: Option<TextureParameters>,
11442    /// GLTextureSettings: (3.4.0 - 2017.4.40f1)
11443    pub m_TextureSettings: Option<GLTextureSettings>,
11444}
11445
11446/// ProceduralTextureAssignment is a sub class of the Unity engine since version 4.5.0.
11447#[derive(Debug, Serialize, Deserialize)]
11448pub struct ProceduralTextureAssignment {
11449    pub baseUID: u32,
11450    /// PPtr<[`ProceduralMaterial`]>: (4.5.0 - 2017.4.40f1)
11451    pub material: PPtr,
11452    pub shaderProp: Enum_FastPropertyName__String,
11453}
11454
11455/// Projector is a  class of the Unity engine since version 3.4.0.
11456/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Projector.html):
11457/**
11458A script interface for a projector component.
11459The Projector can be used to project any material onto the Scene - just like a real world projector.
11460
11461The properties exposed by this class are an exact match for the values in the Projector's inspector.It can be used to implement blob or projected shadows. You could also project an animated texture or
11462
11463a render texture that films another part of the Scene. The projector will render all objects in
11464
11465its view frustum with the provided material.There is no shortcut property in GameObject or Component to access the Projector, so you must
11466
11467use GetComponent to do it:
11468See Also: projector component.
11469*/
11470#[derive(Debug, Serialize, Deserialize)]
11471pub struct Projector {
11472    /**The aspect ratio of the projection.*/
11473    pub m_AspectRatio: f32,
11474    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
11475    pub m_Enabled: u8,
11476    /**The far clipping plane distance.*/
11477    pub m_FarClipPlane: f32,
11478    /**The field of view of the projection in degrees.*/
11479    pub m_FieldOfView: f32,
11480    /**The game object this component is attached to. A component is always attached to a game object.*/
11481    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
11482    pub m_GameObject: PPtr,
11483    /**Which object layers are ignored by the projector.*/
11484    pub m_IgnoreLayers: BitField,
11485    /**The material that will be projected onto every object.*/
11486    /// PPtr<[`Material`]>: (3.4.0 - 2022.3.2f1)
11487    pub m_Material: PPtr,
11488    /**The near clipping plane distance.*/
11489    pub m_NearClipPlane: f32,
11490    /**Is the projection orthographic (true) or perspective (false)?*/
11491    pub m_Orthographic: bool,
11492    /**Projection's half-size when in orthographic mode.*/
11493    pub m_OrthographicSize: f32,
11494}
11495
11496/// PropertyModification is a sub class of the Unity engine since version 3.5.0.
11497/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/PropertyModification.html):
11498/**
11499Defines a single modified property.
11500Used by the Prefab system to track any changes applied to an instance.
11501*/
11502#[derive(Debug, Serialize, Deserialize)]
11503pub struct PropertyModification {
11504    /**The value being applied when it is an object reference (which can not be represented as a string).*/
11505    /// PPtr<[`Object`]>: (3.5.0 - 2022.3.2f1)
11506    pub objectReference: PPtr,
11507    /**Property path of the property being modified (Matches as SerializedProperty.propertyPath).*/
11508    pub propertyPath: String,
11509    /**Object that will be modified.*/
11510    /// PPtr<[`Object`]>: (3.5.0 - 2022.3.2f1)
11511    pub target: PPtr,
11512    /**The value being applied.*/
11513    pub value: String,
11514}
11515
11516/// PropertyModificationsTargetTestNativeObject is a sub class of the Unity engine since version 2019.1.0b1.
11517#[derive(Debug, Serialize, Deserialize)]
11518pub struct PropertyModificationsTargetTestNativeObject {
11519    pub m_FloatValue: f32,
11520    pub m_IntegerValue: i32,
11521}
11522
11523/// PropertyModificationsTargetTestObject is a  class of the Unity engine since version 2019.1.0b1.
11524#[derive(Debug, Serialize, Deserialize)]
11525pub struct PropertyModificationsTargetTestObject {
11526    pub m_Array: Vec<PropertyModificationsTargetTestNativeObject>,
11527    pub m_Data: PropertyModificationsTargetTestNativeObject,
11528    pub m_FloatTestValue: f32,
11529    /// Vec<u8>: (2020.3.24f1 - 2020.3.24f1)
11530    #[serde(alias = "byte data")]
11531    pub byte_data: Option<Vec<u8>>,
11532    /// Vec<u8>: (2019.3.0b1 - 2020.3.24f1)
11533    pub m_Bytes: Option<Vec<u8>>,
11534    /// u32: (2019.3.0b1 - 2020.3.24f1)
11535    pub m_BytesSize: Option<u32>,
11536    /// Vec<f32>: (2019.3.0b1 - 2020.3.24f1)
11537    pub m_Floats: Option<Vec<f32>>,
11538}
11539
11540/// QualitySetting is a sub class of the Unity engine since version 3.4.0.
11541#[derive(Debug, Serialize, Deserialize)]
11542pub struct QualitySetting {
11543    pub anisotropicTextures: i32,
11544    pub antiAliasing: i32,
11545    pub pixelLightCount: i32,
11546    pub shadowCascades: i32,
11547    pub shadowDistance: f32,
11548    pub shadowProjection: i32,
11549    pub shadowResolution: i32,
11550    pub shadows: i32,
11551    pub softParticles: bool,
11552    pub softVegetation: bool,
11553    pub vSyncCount: i32,
11554    /// i32: (5.3.0f1 - 2022.3.2f1)
11555    pub asyncUploadBufferSize: Option<i32>,
11556    /// bool: (2018.3.0f2 - 2022.3.2f1)
11557    pub asyncUploadPersistentBuffer: Option<bool>,
11558    /// i32: (5.3.0f1 - 2022.3.2f1)
11559    pub asyncUploadTimeSlice: Option<i32>,
11560    /// bool: (5.0.0f4 - 2022.3.2f1)
11561    pub billboardsFaceCameraPosition: Option<bool>,
11562    /// i32: (3.4.0 - 2018.4.36f1)
11563    pub blendWeights: Option<i32>,
11564    /// PPtr<[`MonoBehaviour`]>: (2019.3.0b1 - 2022.3.2f1)
11565    pub customRenderPipeline: Option<PPtr>,
11566    /// bool: (2022.2.0b1 - 2022.3.2f1)
11567    pub enableLODCrossFade: Option<bool>,
11568    /// i32: (2022.2.0f1 - 2022.3.2f1)
11569    pub globalTextureMipmapLimit: Option<i32>,
11570    /// f32: (3.5.0 - 2022.3.2f1)
11571    pub lodBias: Option<f32>,
11572    /// i32: (3.5.0 - 2022.3.2f1)
11573    pub maximumLODLevel: Option<i32>,
11574    /// String: (3.5.0 - 2022.3.2f1)
11575    pub name: Option<String>,
11576    /// i32: (4.0.0 - 2022.3.2f1)
11577    pub particleRaycastBudget: Option<i32>,
11578    /// bool: (5.0.0f4 - 2022.3.2f1)
11579    pub realtimeReflectionProbes: Option<bool>,
11580    /// f32: (2017.1.0b1 - 2022.3.2f1)
11581    pub resolutionScalingFixedDPIFactor: Option<f32>,
11582    /// f32: (5.0.0f4 - 2022.3.2f1)
11583    pub shadowCascade2Split: Option<f32>,
11584    /// Vector3f: (5.0.0f4 - 2022.3.2f1)
11585    pub shadowCascade4Split: Option<Vector3f>,
11586    /// f32: (5.2.0f2 - 2022.3.2f1)
11587    pub shadowNearPlaneOffset: Option<f32>,
11588    /// i32: (2017.1.0b1 - 2022.3.2f1)
11589    pub shadowmaskMode: Option<i32>,
11590    /// i32: (2019.1.0b1 - 2022.3.2f1)
11591    pub skinWeights: Option<i32>,
11592    /// bool: (2018.2.0b1 - 2022.3.2f1)
11593    pub streamingMipmapsActive: Option<bool>,
11594    /// bool: (2018.2.0b1 - 2022.3.2f1)
11595    pub streamingMipmapsAddAllCameras: Option<bool>,
11596    /// i32: (2018.2.0b1 - 2022.3.2f1)
11597    pub streamingMipmapsMaxFileIORequests: Option<i32>,
11598    /// i32: (2018.2.0b1 - 2022.3.2f1)
11599    pub streamingMipmapsMaxLevelReduction: Option<i32>,
11600    /// f32: (2018.2.0b1 - 2022.3.2f1)
11601    pub streamingMipmapsMemoryBudget: Option<f32>,
11602    /// i32: (2018.2.0b1 - 2022.3.2f1)
11603    pub streamingMipmapsRenderersPerFrame: Option<i32>,
11604    /// f32: (2022.2.0b1 - 2022.3.2f1)
11605    pub terrainBasemapDistance: Option<f32>,
11606    /// f32: (2022.2.0b1 - 2022.3.2f1)
11607    pub terrainBillboardStart: Option<f32>,
11608    /// f32: (2022.2.0b1 - 2022.3.2f1)
11609    pub terrainDetailDensityScale: Option<f32>,
11610    /// f32: (2022.2.0b1 - 2022.3.2f1)
11611    pub terrainDetailDistance: Option<f32>,
11612    /// f32: (2022.2.0b1 - 2022.3.2f1)
11613    pub terrainFadeLength: Option<f32>,
11614    /// i32: (2022.2.0b1 - 2022.3.2f1)
11615    pub terrainMaxTrees: Option<i32>,
11616    /// f32: (2022.2.0b1 - 2022.3.2f1)
11617    pub terrainPixelError: Option<f32>,
11618    /// i32: (2022.2.0b1 - 2022.3.2f1)
11619    pub terrainQualityOverrides: Option<i32>,
11620    /// f32: (2022.2.0b1 - 2022.3.2f1)
11621    pub terrainTreeDistance: Option<f32>,
11622    /// Vec<MipmapLimitSettings>: (2022.2.0f1 - 2022.3.2f1)
11623    pub textureMipmapLimitSettings: Option<Vec<MipmapLimitSettings>>,
11624    /// i32: (3.4.0 - 2022.2.0a18)
11625    pub textureQuality: Option<i32>,
11626    /// bool: (2022.2.0b1 - 2022.3.2f1)
11627    pub useLegacyDetailDistribution: Option<bool>,
11628}
11629
11630/// QualitySettings is a  class of the Unity engine since version 3.4.0.
11631/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/QualitySettings.html):
11632/**
11633Script interface for Quality Settings.
11634There can be an arbitrary number of quality settings. The details of each are set up
11635
11636in the project's Quality Settings. At run time, the
11637
11638current quality level can be changed using this class.
11639*/
11640#[derive(Debug, Serialize, Deserialize)]
11641pub struct QualitySettings {
11642    /// QualitySetting: (3.4.0 - 3.4.2)
11643    pub Beautiful: Option<QualitySetting>,
11644    /// QualitySetting: (3.4.0 - 3.4.2)
11645    pub Fantastic: Option<QualitySetting>,
11646    /// QualitySetting: (3.4.0 - 3.4.2)
11647    pub Fast: Option<QualitySetting>,
11648    /// QualitySetting: (3.4.0 - 3.4.2)
11649    pub Fastest: Option<QualitySetting>,
11650    /// QualitySetting: (3.4.0 - 3.4.2)
11651    pub Good: Option<QualitySetting>,
11652    /// QualitySetting: (3.4.0 - 3.4.2)
11653    pub Simple: Option<QualitySetting>,
11654    /// i32: (3.5.0 - 2022.3.2f1)
11655    pub m_CurrentQuality: Option<i32>,
11656    /// i32: (3.4.0 - 3.4.2)
11657    pub m_DefaultMobileQuality: Option<i32>,
11658    /// i32: (3.4.0 - 3.4.2)
11659    pub m_DefaultStandaloneQuality: Option<i32>,
11660    /// i32: (3.4.0 - 3.4.2)
11661    pub m_DefaultWebPlayerQuality: Option<i32>,
11662    /// i32: (3.4.0 - 3.4.2)
11663    pub m_EditorQuality: Option<i32>,
11664    /// Vec<QualitySetting>: (3.5.0 - 2022.3.2f1)
11665    pub m_QualitySettings: Option<Vec<QualitySetting>>,
11666    /// i32: (3.5.0 - 2022.3.2f1)
11667    pub m_StrippedMaximumLODLevel: Option<i32>,
11668    /// Vec<String>: (2022.2.0f1 - 2022.3.2f1)
11669    pub m_TextureMipmapLimitGroupNames: Option<Vec<String>>,
11670}
11671
11672/// QuaternionCurve is a sub class of the Unity engine since version 3.4.0.
11673#[derive(Debug, Serialize, Deserialize)]
11674pub struct QuaternionCurve {
11675    pub curve: AnimationCurve,
11676    pub path: String,
11677}
11678
11679/// Quaternionf is a sub class of the Unity engine since version 3.4.0.
11680#[derive(Debug, Serialize, Deserialize)]
11681pub struct Quaternionf {
11682    pub w: f32,
11683    pub x: f32,
11684    pub y: f32,
11685    pub z: f32,
11686}
11687
11688/// RayTracingShader is a  class of the Unity engine since version 2019.3.0b1.
11689/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Experimental.Rendering.RayTracingShader.html):
11690/**
11691A shader for GPU ray tracing.
11692This shader should contain at least a raygeneration shader.
11693*/
11694#[derive(Debug, Serialize, Deserialize)]
11695pub struct RayTracingShader {
11696    /**The maximum number of ray bounces this shader can trace (Read Only).*/
11697    pub m_MaxRecursionDepth: u32,
11698    /**The name of the object.*/
11699    pub m_Name: String,
11700    pub variants: Vec<RayTracingShaderVariant>,
11701}
11702
11703/// RayTracingShaderBuiltinSampler is a sub class of the Unity engine since version 2019.3.0b1.
11704#[derive(Debug, Serialize, Deserialize)]
11705pub struct RayTracingShaderBuiltinSampler {
11706    pub bindPoint: i32,
11707    pub sampler: u32,
11708}
11709
11710/// RayTracingShaderConstantBuffer is a sub class of the Unity engine since version 2019.3.0b1.
11711#[derive(Debug, Serialize, Deserialize)]
11712pub struct RayTracingShaderConstantBuffer {
11713    pub byteSize: i32,
11714    pub name: String,
11715    pub params: Vec<RayTracingShaderParam>,
11716    /// u32: (2020.1.0f1 - 2022.3.2f1)
11717    pub hash: Option<u32>,
11718}
11719
11720/// RayTracingShaderFunctionDesc is a sub class of the Unity engine since version 2019.3.0b1.
11721#[derive(Debug, Serialize, Deserialize)]
11722pub struct RayTracingShaderFunctionDesc {
11723    pub attributeSizeInBytes: u32,
11724    pub identifier: RayTracingShaderID,
11725    pub payloadSizeInBytes: u32,
11726}
11727
11728/// RayTracingShaderID is a sub class of the Unity engine since version 2019.3.0b1.
11729#[derive(Debug, Serialize, Deserialize)]
11730pub struct RayTracingShaderID {
11731    pub name: String,
11732    /// i32: (2019.3.0b1 - 2022.3.2f1)
11733    #[serde(alias = "type")]
11734    pub _type: Option<i32>,
11735}
11736
11737/// RayTracingShaderImporter is a  class of the Unity engine since version 2019.3.0b1.
11738#[derive(Debug, Serialize, Deserialize)]
11739pub struct RayTracingShaderImporter {
11740    pub m_AssetBundleName: String,
11741    pub m_AssetBundleVariant: String,
11742    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2019.3.0b1 - 2022.3.2f1)
11743    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
11744    pub m_Name: String,
11745    pub m_UsedFileIDs: Vec<i64>,
11746    pub m_UserData: String,
11747    /// u32: (2019.3.0b1 - 2020.3.48f1)
11748    pub m_CurrentAPIMask: Option<u32>,
11749}
11750
11751/// RayTracingShaderParam is a sub class of the Unity engine since version 2019.3.0b1.
11752#[derive(Debug, Serialize, Deserialize)]
11753pub struct RayTracingShaderParam {
11754    pub arraySize: i64,
11755    pub colCount: i32,
11756    pub name: String,
11757    pub offset: i64,
11758    pub rowCount: i32,
11759    /// i32: (2019.3.0b1 - 2020.1.0a12)
11760    #[serde(alias = "type")]
11761    pub _type: Option<i32>,
11762    /// u32: (2020.1.0b1 - 2022.3.2f1)
11763    pub dataSize: Option<u32>,
11764    /// i32: (2020.1.0b1 - 2022.3.2f1)
11765    pub dataType: Option<i32>,
11766    /// i32: (2020.1.0b1 - 2022.3.2f1)
11767    pub propertySheetType: Option<i32>,
11768}
11769
11770/// RayTracingShaderReflectionData is a sub class of the Unity engine since version 2019.3.0b1.
11771#[derive(Debug, Serialize, Deserialize)]
11772pub struct RayTracingShaderReflectionData {
11773    pub code: Vec<u8>,
11774    pub functions: Vec<RayTracingShaderFunctionDesc>,
11775    pub globalResources: RayTracingShaderResources,
11776    pub hasErrors: bool,
11777    pub localResources: RayTracingShaderResources,
11778    /// Vec<u8>: (2022.2.0b1 - 2022.3.2f1)
11779    pub precompiled: Option<Vec<u8>>,
11780}
11781
11782/// RayTracingShaderResource is a sub class of the Unity engine since version 2019.3.0b1.
11783#[derive(Debug, Serialize, Deserialize)]
11784pub struct RayTracingShaderResource {
11785    pub bindPoint: i32,
11786    pub name: String,
11787    pub rayGenMask: u64,
11788    pub samplerBindPoint: i32,
11789    pub texDimension: i32,
11790    /// i32: (2020.1.0b1 - 2022.3.2f1)
11791    pub arraySize: Option<i32>,
11792    /// bool: (2020.1.0f1 - 2022.3.2f1)
11793    pub multisampled: Option<bool>,
11794}
11795
11796/// RayTracingShaderResources is a sub class of the Unity engine since version 2019.3.0b1.
11797#[derive(Debug, Serialize, Deserialize)]
11798pub struct RayTracingShaderResources {
11799    pub builtinSamplers: Vec<RayTracingShaderBuiltinSampler>,
11800    pub constantBuffers: Vec<RayTracingShaderResource>,
11801    pub constantBuffersDesc: Vec<RayTracingShaderConstantBuffer>,
11802    pub inputBuffers: Vec<RayTracingShaderResource>,
11803    pub outputBuffers: Vec<RayTracingShaderResource>,
11804    pub textures: Vec<RayTracingShaderResource>,
11805}
11806
11807/// RayTracingShaderVariant is a sub class of the Unity engine since version 2019.3.0b1.
11808#[derive(Debug, Serialize, Deserialize)]
11809pub struct RayTracingShaderVariant {
11810    pub resourceReflectionData: RayTracingShaderReflectionData,
11811    pub targetRenderer: i32,
11812}
11813
11814/// RaycastCollider is a  class of the Unity engine since version 3.4.0.
11815#[derive(Debug, Serialize, Deserialize)]
11816pub struct RaycastCollider {
11817    pub m_Center: Vector3f,
11818    pub m_Enabled: bool,
11819    /// PPtr<[`GameObject`]>: (3.4.0 - 4.7.2)
11820    pub m_GameObject: PPtr,
11821    pub m_IsTrigger: bool,
11822    pub m_Length: f32,
11823    /// PPtr<[`PhysicMaterial`]>: (3.4.0 - 4.7.2)
11824    pub m_Material: PPtr,
11825}
11826
11827/// RectTransform is a  class of the Unity engine since version 4.5.0.
11828/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/RectTransform.html):
11829/**
11830Position, size, anchor and pivot information for a rectangle.
11831RectTransforms are used for GUI but can also be used for other things.
11832
11833It's used to store and manipulate the position, size, and anchoring of a rectangle and supports various forms of scaling based on a parent RectTransform.Note: The Inspector changes which properties are exposed based on which anchor preset is in use. For more information see Rect Transform and Basic Layout.
11834*/
11835#[derive(Debug, Serialize, Deserialize)]
11836pub struct RectTransform {
11837    /**The normalized position in the parent RectTransform that the upper right corner is anchored to.*/
11838    pub m_AnchorMax: Vector2f,
11839    /**The normalized position in the parent RectTransform that the lower left corner is anchored to.*/
11840    pub m_AnchorMin: Vector2f,
11841    /**The game object this component is attached to. A component is always attached to a game object.*/
11842    /// PPtr<[`GameObject`]>: (4.5.0 - 2022.3.2f1)
11843    pub m_GameObject: PPtr,
11844    /**The normalized position in this RectTransform that it rotates around.*/
11845    pub m_Pivot: Vector2f,
11846    /**The size of this RectTransform relative to the distances between the anchors.*/
11847    pub m_SizeDelta: Vector2f,
11848    /**The position of the pivot of this RectTransform relative to the anchor reference point.*/
11849    /// Vector2f: (4.6.0 - 2022.3.2f1)
11850    pub m_AnchoredPosition: Option<Vector2f>,
11851    /// Vec<PPtr<[`Transform`]>>: (4.6.0 - 2022.3.2f1)
11852    pub m_Children: Option<Vec<PPtr>>,
11853    /// PPtr<[`Transform`]>: (4.6.0 - 2022.3.2f1)
11854    pub m_Father: Option<PPtr>,
11855    /**Position of the transform relative to the parent transform.*/
11856    /// Vector3f: (4.6.0 - 2022.3.2f1)
11857    pub m_LocalPosition: Option<Vector3f>,
11858    /**The rotation of the transform relative to the transform rotation of the parent.*/
11859    /// Quaternionf: (4.6.0 - 2022.3.2f1)
11860    pub m_LocalRotation: Option<Quaternionf>,
11861    /**The scale of the transform relative to the GameObjects parent.*/
11862    /// Vector3f: (4.6.0 - 2022.3.2f1)
11863    pub m_LocalScale: Option<Vector3f>,
11864    /**The world space position of the Transform.*/
11865    /// Vector2f: (4.5.0 - 4.5.5)
11866    pub m_Position: Option<Vector2f>,
11867}
11868
11869/// Rectf is a sub class of the Unity engine since version 3.4.0.
11870#[derive(Debug, Serialize, Deserialize)]
11871pub struct Rectf {
11872    pub height: f32,
11873    pub width: f32,
11874    pub x: f32,
11875    pub y: f32,
11876}
11877
11878/// ReferencesArtifactGenerator is a  class of the Unity engine since version 2019.2.0b1.
11879#[derive(Debug, Serialize, Deserialize)]
11880pub struct ReferencesArtifactGenerator {
11881    pub m_AssetBundleName: String,
11882    pub m_AssetBundleVariant: String,
11883    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2019.2.0b1 - 2022.3.2f1)
11884    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
11885    pub m_Name: String,
11886    pub m_UsedFileIDs: Vec<i64>,
11887    pub m_UserData: String,
11888}
11889
11890/// ReflectionProbe is a  class of the Unity engine since version 5.0.0f4.
11891/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ReflectionProbe.html):
11892/**
11893The reflection probe is used to capture the surroundings into a texture which is passed to the shaders and used for reflections.
11894The properties are an exact match for the values shown in the Inspector.This class is a script interface for a reflection probe component.
11895
11896Reflection probes are usually just created in the Editor, but sometimes you might want to create a reflection probe from a script:
11897*/
11898#[derive(Debug, Serialize, Deserialize)]
11899pub struct ReflectionProbe {
11900    /**The color with which the texture of reflection probe will be cleared.*/
11901    pub m_BackGroundColor: ColorRGBA,
11902    /**Reference to the baked texture of the reflection probe's surrounding.*/
11903    /// PPtr<[`Texture`]>: (5.0.0f4 - 2022.3.2f1)
11904    pub m_BakedTexture: PPtr,
11905    pub m_BoxOffset: Vector3f,
11906    /**Should this reflection probe use box projection?*/
11907    pub m_BoxProjection: bool,
11908    pub m_BoxSize: Vector3f,
11909    /**How the reflection probe clears the background.*/
11910    pub m_ClearFlags: u32,
11911    /**This is used to render parts of the reflecion probe's surrounding selectively.*/
11912    pub m_CullingMask: BitField,
11913    /**Reference to the baked texture of the reflection probe's surrounding. Use this to assign custom reflection texture.*/
11914    /// PPtr<[`Texture`]>: (5.0.0f4 - 2022.3.2f1)
11915    pub m_CustomBakedTexture: PPtr,
11916    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
11917    pub m_Enabled: u8,
11918    pub m_FarClip: f32,
11919    /**The game object this component is attached to. A component is always attached to a game object.*/
11920    /// PPtr<[`GameObject`]>: (5.0.0f4 - 2022.3.2f1)
11921    pub m_GameObject: PPtr,
11922    /**Should this reflection probe use HDR rendering?*/
11923    pub m_HDR: bool,
11924    /**Reflection probe importance.*/
11925    pub m_Importance: i32,
11926    pub m_IntensityMultiplier: f32,
11927    /**Should reflection probe texture be generated in the Editor (ReflectionProbeMode.Baked) or should probe use custom specified texure (ReflectionProbeMode.Custom)?*/
11928    pub m_Mode: i32,
11929    pub m_NearClip: f32,
11930    /**Sets the way the probe will refresh.See Also: ReflectionProbeRefreshMode.*/
11931    pub m_RefreshMode: i32,
11932    /**Specifies whether Unity should render non-static GameObjects into the Reflection Probe. If you set this to true, Unity renders non-static GameObjects into the Reflection Probe. If you set this to false, Unity does not render non-static GameObjects into the Reflection Probe. Unity only takes this property into account if the Reflection Probe's Type is Custom.*/
11933    pub m_RenderDynamicObjects: bool,
11934    /**Resolution of the underlying reflection texture in pixels.*/
11935    pub m_Resolution: i32,
11936    /**Shadow drawing distance when rendering the probe.*/
11937    pub m_ShadowDistance: f32,
11938    /**Sets this probe time-slicing modeSee Also: ReflectionProbeTimeSlicingMode.*/
11939    pub m_TimeSlicingMode: i32,
11940    pub m_Type: i32,
11941    pub m_UpdateFrequency: i32,
11942    pub m_UseOcclusionCulling: bool,
11943    /**Distance around probe used for blending (used in deferred probes).*/
11944    /// f32: (5.2.0f2 - 2022.3.2f1)
11945    pub m_BlendDistance: Option<f32>,
11946}
11947
11948/// RelativeJoint2D is a  class of the Unity engine since version 5.3.0f1.
11949/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/RelativeJoint2D.html):
11950/**
11951Keeps two Rigidbody2D at their relative orientations.
11952Two Rigidbody2D connected together with this joint will have forces applied to them to keep them both at their relative linear and angular offsets.  If the joint is not connected to another Rigidbody2D then the body with the joint will stay at its current linear and angular offset in world-space i.e. it will be anchored to the implicit static ground-body.You control the maximum linear force applied to maintain the linearOffset by using maxForce.You control the maximum torque applied to maintain the angularOffset by using maxTorqueSee Also: linearOffset, angularOffset, maxForce, maxTorque.
11953*/
11954#[derive(Debug, Serialize, Deserialize)]
11955pub struct RelativeJoint2D {
11956    /**The current angular offset between the Rigidbody2D that the joint connects.*/
11957    pub m_AngularOffset: f32,
11958    /**Should both the linearOffset and angularOffset be calculated automatically?*/
11959    pub m_AutoConfigureOffset: bool,
11960    /**The force that needs to be applied for this joint to break.*/
11961    pub m_BreakForce: f32,
11962    /**The torque that needs to be applied for this joint to break.*/
11963    pub m_BreakTorque: f32,
11964    /// PPtr<[`Rigidbody2D`]>: (5.3.0f1 - 2022.3.2f1)
11965    pub m_ConnectedRigidBody: PPtr,
11966    /**Scales both the linear and angular forces used to correct the required relative orientation.*/
11967    pub m_CorrectionScale: f32,
11968    /**Should the two rigid bodies connected with this joint collide with each other?*/
11969    pub m_EnableCollision: bool,
11970    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
11971    pub m_Enabled: u8,
11972    /**The game object this component is attached to. A component is always attached to a game object.*/
11973    /// PPtr<[`GameObject`]>: (5.3.0f1 - 2022.3.2f1)
11974    pub m_GameObject: PPtr,
11975    /**The current linear offset between the Rigidbody2D that the joint connects.*/
11976    pub m_LinearOffset: Vector2f,
11977    /**The maximum force that can be generated when trying to maintain the relative joint constraint.*/
11978    pub m_MaxForce: f32,
11979    /**The maximum torque that can be generated when trying to maintain the relative joint constraint.*/
11980    pub m_MaxTorque: f32,
11981    /**The action to take when the joint breaks the breakForce or breakTorque.*/
11982    /// i32: (2022.2.0b1 - 2022.3.2f1)
11983    pub m_BreakAction: Option<i32>,
11984}
11985
11986/// RenderPassAttachment is a  class of the Unity engine since version 2017.2.0b2.
11987#[derive(Debug, Serialize, Deserialize)]
11988pub struct RenderPassAttachment {}
11989
11990/// RenderSettings is a  class of the Unity engine since version 3.4.0.
11991/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Experimental.GlobalIllumination.RenderSettings.html):
11992/**
11993Experimental render settings features.
11994See Also: RenderSettings.
11995*/
11996#[derive(Debug, Serialize, Deserialize)]
11997pub struct RenderSettings {
11998    pub m_FlareStrength: f32,
11999    pub m_Fog: bool,
12000    pub m_FogColor: ColorRGBA,
12001    pub m_FogDensity: f32,
12002    pub m_FogMode: i32,
12003    pub m_HaloStrength: f32,
12004    /// PPtr<[`Texture2D`]>: (3.4.0 - 2022.3.2f1)
12005    pub m_HaloTexture: PPtr,
12006    pub m_LinearFogEnd: f32,
12007    pub m_LinearFogStart: f32,
12008    /// PPtr<[`Material`]>: (3.4.0 - 2022.3.2f1)
12009    pub m_SkyboxMaterial: PPtr,
12010    /// PPtr<[`Texture2D`]>: (3.4.0 - 2022.3.2f1)
12011    pub m_SpotCookie: PPtr,
12012    /// ColorRGBA: (5.0.0f4 - 2022.3.2f1)
12013    pub m_AmbientEquatorColor: Option<ColorRGBA>,
12014    /// ColorRGBA: (5.0.0f4 - 2022.3.2f1)
12015    pub m_AmbientGroundColor: Option<ColorRGBA>,
12016    /// f32: (5.0.0f4 - 2022.3.2f1)
12017    pub m_AmbientIntensity: Option<f32>,
12018    /// ColorRGBA: (3.4.0 - 4.7.2)
12019    pub m_AmbientLight: Option<ColorRGBA>,
12020    /// i32: (5.0.0f4 - 2022.3.2f1)
12021    pub m_AmbientMode: Option<i32>,
12022    /// SphericalHarmonicsL2: (5.0.0f4 - 2022.3.2f1)
12023    pub m_AmbientProbe: Option<SphericalHarmonicsL2>,
12024    /// SphericalHarmonicsL2: (5.0.0f4 - 5.2.5f1)
12025    pub m_AmbientProbeInGamma: Option<SphericalHarmonicsL2>,
12026    /// ColorRGBA: (5.0.0f4 - 2022.3.2f1)
12027    pub m_AmbientSkyColor: Option<ColorRGBA>,
12028    /// PPtr<[`Cubemap`]>: (5.0.0f4 - 2021.1.28f1); PPtr<[`Texture`]>: (2021.2.0b1 - 2022.3.2f1)
12029    pub m_CustomReflection: Option<PPtr>,
12030    /// i32: (5.0.0f4 - 2022.3.2f1)
12031    pub m_DefaultReflectionMode: Option<i32>,
12032    /// i32: (5.0.0f4 - 2022.3.2f1)
12033    pub m_DefaultReflectionResolution: Option<i32>,
12034    /// f32: (4.3.0 - 2022.3.2f1)
12035    pub m_FlareFadeSpeed: Option<f32>,
12036    /// PPtr<[`Cubemap`]>: (5.0.0f4 - 2022.3.2f1)
12037    pub m_GeneratedSkyboxReflection: Option<PPtr>,
12038    /// ColorRGBA: (5.4.0f3 - 2022.3.2f1)
12039    pub m_IndirectSpecularColor: Option<ColorRGBA>,
12040    /// i32: (5.0.0f4 - 2022.3.2f1)
12041    pub m_ReflectionBounces: Option<i32>,
12042    /// f32: (5.0.0f4 - 2022.3.2f1)
12043    pub m_ReflectionIntensity: Option<f32>,
12044    /// ColorRGBA: (5.6.0f1 - 2022.3.2f1)
12045    pub m_SubtractiveShadowColor: Option<ColorRGBA>,
12046    /// PPtr<[`Light`]>: (5.0.0f4 - 2022.3.2f1)
12047    pub m_Sun: Option<PPtr>,
12048    /// bool: (2018.1.0b2 - 2022.3.2f1)
12049    pub m_UseRadianceAmbientProbe: Option<bool>,
12050}
12051
12052/// RenderTexture is a  class of the Unity engine since version 3.4.0.
12053/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/RenderTexture.html):
12054/**
12055Render textures are textures that can be rendered to.
12056They can be used to implement image based rendering effects, dynamic shadows,
12057
12058projectors, reflections or surveillance cameras.One typical usage of render textures is setting them as the "target texture" property
12059
12060of a Camera (Camera.targetTexture), this will make a camera render into a texture
12061
12062instead of rendering to the screen.Keep in mind that render texture contents can become "lost" on certain events, like loading a new level, system going to a screensaver mode, in and out of fullscreen and so on.
12063
12064When that happens, your existing render textures will become "not yet created" again,
12065
12066you can check for that with IsCreated function.As with other "native engine object" types, it is important to pay attention to the lifetime of
12067
12068any render textures and release them when you are finished using them with the Release function,
12069
12070as they will not be garbage collected like normal managed types.A render texture only has a data representation on the GPU and you need to use Texture2D.ReadPixels to transfer its contents to CPU memory.The initial contents of a newly created render texture are undefined. On some platforms and APIs the contents will default to black, but you shouldn't depend on this. You can use LoadStoreActionDebugModeSettings to highlight undefined areas of the display, to help you debug rendering problems in your built application.See Also: Camera.targetTexture.
12071*/
12072#[derive(Debug, Serialize, Deserialize)]
12073pub struct RenderTexture {
12074    pub m_ColorFormat: i32,
12075    /**Height of the Texture in pixels (Read Only).*/
12076    pub m_Height: i32,
12077    pub m_MipMap: bool,
12078    /**The name of the object.*/
12079    pub m_Name: String,
12080    pub m_TextureSettings: GLTextureSettings,
12081    /**Width of the Texture in pixels (Read Only).*/
12082    pub m_Width: i32,
12083    /**The antialiasing level for the RenderTexture.*/
12084    /// i32: (4.2.0 - 2022.3.2f1)
12085    pub m_AntiAliasing: Option<i32>,
12086    /// bool: (2017.3.0b1 - 2022.3.2f1)
12087    pub m_BindMS: Option<bool>,
12088    /// i32: (3.4.0 - 2021.2.0a17)
12089    pub m_DepthFormat: Option<i32>,
12090    /**The format of the depth/stencil buffer.*/
12091    /// i32: (2021.2.0b1 - 2022.3.2f1)
12092    pub m_DepthStencilFormat: Option<i32>,
12093    /**Dimensionality (type) of the Texture (Read Only).*/
12094    /// i32: (5.6.0b1 - 2022.3.2f1)
12095    pub m_Dimension: Option<i32>,
12096    /// bool: (2017.3.0b1 - 2022.3.2f1)
12097    pub m_DownscaleFallback: Option<bool>,
12098    /// bool: (2019.1.0b1 - 2022.3.2f1)
12099    pub m_EnableCompatibleFormat: Option<bool>,
12100    /// i32: (2017.3.0b1 - 2022.3.2f1)
12101    pub m_ForcedFallbackFormat: Option<i32>,
12102    /// bool: (4.3.0 - 2022.3.2f1)
12103    pub m_GenerateMips: Option<bool>,
12104    /// bool: (2020.2.0b1 - 2022.3.2f1)
12105    pub m_IsAlphaChannelOptional: Option<bool>,
12106    /// bool: (3.4.0 - 3.5.7)
12107    pub m_IsCubemap: Option<bool>,
12108    /// bool: (3.4.0 - 3.4.0)
12109    pub m_IsPowerOfTwo: Option<bool>,
12110    /// i32: (2019.2.0b1 - 2022.3.2f1)
12111    pub m_MipCount: Option<i32>,
12112    /**Does this render texture use sRGB read/write conversions? (Read Only).*/
12113    /// bool: (3.5.0 - 2022.3.2f1)
12114    pub m_SRGB: Option<bool>,
12115    /// i32: (2021.2.0f1 - 2022.3.2f1)
12116    pub m_ShadowSamplingMode: Option<i32>,
12117    /**Is the render texture marked to be scaled by the Dynamic Resolution system.*/
12118    /// bool: (2017.3.0b1 - 2022.3.2f1)
12119    pub m_UseDynamicScale: Option<bool>,
12120    /**Volume extent of a 3D render texture or number of slices of array texture.*/
12121    /// i32: (5.6.0b1 - 2022.3.2f1)
12122    pub m_VolumeDepth: Option<i32>,
12123}
12124
12125/// Renderer is a  class of the Unity engine since version 3.4.0.
12126/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Renderer.html):
12127/**
12128General functionality for all renderers.
12129A renderer is what makes an object appear on the screen. Use this class to access the renderer of any object, mesh or Particle System.
12130Renderers can be disabled to make objects invisible (see enabled), and the materials can be accessed
12131and modified through them (see material).See Also: Renderer components for meshes, particles,
12132lines and trails.
12133*/
12134#[derive(Debug, Serialize, Deserialize)]
12135pub struct Renderer {
12136    pub m_CastShadows: bool,
12137    /**Makes the rendered 3D object visible if enabled.*/
12138    pub m_Enabled: bool,
12139    /**The game object this component is attached to. A component is always attached to a game object.*/
12140    /// PPtr<[`GameObject`]>: (3.4.0 - 4.7.2)
12141    pub m_GameObject: PPtr,
12142    /**The index of the baked lightmap applied to this renderer.*/
12143    pub m_LightmapIndex: u8,
12144    pub m_LightmapTilingOffset: Vector4f,
12145    /**Returns all the instantiated materials of this object.*/
12146    /// Vec<PPtr<[`Material`]>>: (3.4.0 - 4.7.2)
12147    pub m_Materials: Vec<PPtr>,
12148    /**Does this object receive shadows?*/
12149    pub m_ReceiveShadows: bool,
12150    /// PPtr<[`Transform`]>: (3.4.0 - 4.7.2)
12151    pub m_StaticBatchRoot: PPtr,
12152    pub m_SubsetIndices: Vec<u32>,
12153    /// PPtr<[`Transform`]>: (3.5.0 - 4.7.2)
12154    pub m_LightProbeAnchor: Option<PPtr>,
12155    /// i16: (4.3.0 - 4.3.4)
12156    pub m_SortingLayer: Option<i16>,
12157    /**Unique ID of the Renderer's sorting layer.*/
12158    /// u32: (4.5.0 - 4.7.2)
12159    pub m_SortingLayerID: Option<u32>,
12160    /**Renderer's order within a sorting layer.*/
12161    /// i16: (4.3.0 - 4.7.2)
12162    pub m_SortingOrder: Option<i16>,
12163    /// bool: (3.5.0 - 4.7.2)
12164    pub m_UseLightProbes: Option<bool>,
12165}
12166
12167/// RendererData is a sub class of the Unity engine since version 5.0.0f4.
12168#[derive(Debug, Serialize, Deserialize)]
12169pub struct RendererData {
12170    pub lightmapIndex: u16,
12171    pub lightmapIndexDynamic: u16,
12172    pub lightmapST: Vector4f,
12173    pub lightmapSTDynamic: Vector4f,
12174    pub terrainChunkDynamicUVST: Vector4f,
12175    pub terrainDynamicUVST: Vector4f,
12176    /// PPtr<[`Mesh`]>: (5.0.0f4 - 2022.3.2f1)
12177    pub uvMesh: PPtr,
12178    /// Hash128: (2018.2.0b1 - 2022.3.2f1)
12179    pub explicitProbeSetHash: Option<Hash128>,
12180}
12181
12182/// ResourceManager is a  class of the Unity engine since version 3.4.0.
12183#[derive(Debug, Serialize, Deserialize)]
12184pub struct ResourceManager {
12185    /// Vec<(String, PPtr<[`Object`]>)>: (3.4.0 - 2022.3.2f1)
12186    pub m_Container: Vec<(String, PPtr)>,
12187    /// Vec<ResourceManager_Dependency>: (3.5.0 - 2022.3.2f1)
12188    pub m_DependentAssets: Option<Vec<ResourceManager_Dependency>>,
12189}
12190
12191/// ResourceManager_Dependency is a sub class of the Unity engine since version 3.5.0.
12192#[derive(Debug, Serialize, Deserialize)]
12193pub struct ResourceManager_Dependency {
12194    /// Vec<PPtr<[`Object`]>>: (3.5.0 - 2022.3.2f1)
12195    pub m_Dependencies: Vec<PPtr>,
12196    /// PPtr<[`Object`]>: (3.5.0 - 2022.3.2f1)
12197    pub m_Object: PPtr,
12198}
12199
12200/// Rigidbody is a  class of the Unity engine since version 3.4.0.
12201/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Rigidbody.html):
12202/**
12203Control of an object's position through physics simulation.
12204Adding a Rigidbody component to an object will put its motion under the control of Unity's physics engine. Even without adding any code, a Rigidbody object will be pulled downward by gravity and will react to collisions with incoming objects if the right Collider component is also present.The Rigidbody also has a scripting API that lets you apply forces to the object and control it in a physically realistic way. For example, a car's behaviour can be specified in terms of the forces applied by the wheels. Given this information, the physics engine can handle most other aspects of the car's motion, so it will accelerate realistically and respond correctly to collisions.In a script, the FixedUpdate function is recommended as the place to apply forces and change Rigidbody settings (as opposed to Update, which is used for most other frame update tasks). The reason for this is that physics updates are carried out in measured time steps that don't coincide with the frame update. FixedUpdate is called immediately before each physics update and so any changes made there will be processed directly.A common problem when starting out with Rigidbodies is that the game physics appears to run in "slow motion". This is actually due to the scale used for your models. The default gravity settings assume that one world unit corresponds to one metre of distance. With non-physical games, it doesn't make much difference if your models are all 100 units long but when using physics, they will be treated as very large objects. If a large scale is used for objects that are supposed to be small, they will appear to fall very slowly - the physics engine thinks they are very large objects falling over very large distances. With this in mind, be sure to keep your objects more or less at their scale in real life (so a car should be about 4 units = 4 metres, for example).
12205*/
12206#[derive(Debug, Serialize, Deserialize)]
12207pub struct Rigidbody {
12208    /**The angular drag of the object.*/
12209    pub m_AngularDrag: f32,
12210    pub m_CollisionDetection: i32,
12211    /**Controls which degrees of freedom are allowed for the simulation of this Rigidbody.*/
12212    pub m_Constraints: i32,
12213    /**The drag of the object.*/
12214    pub m_Drag: f32,
12215    /**The game object this component is attached to. A component is always attached to a game object.*/
12216    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
12217    pub m_GameObject: PPtr,
12218    pub m_Interpolate: u8,
12219    /**Controls whether physics affects the rigidbody.*/
12220    pub m_IsKinematic: bool,
12221    /**The mass of the rigidbody.*/
12222    pub m_Mass: f32,
12223    /**Controls whether gravity affects this rigidbody.*/
12224    pub m_UseGravity: bool,
12225    /**The center of mass relative to the transform's origin.*/
12226    /// Vector3f: (2022.2.0b1 - 2022.3.2f1)
12227    pub m_CenterOfMass: Option<Vector3f>,
12228    /**The additional layers that all Colliders attached to this Rigidbody should exclude when deciding if the Collider can come into contact with another Collider.*/
12229    /// BitField: (2022.2.0b1 - 2022.3.2f1)
12230    pub m_ExcludeLayers: Option<BitField>,
12231    /// bool: (2022.2.0b1 - 2022.3.2f1)
12232    pub m_ImplicitCom: Option<bool>,
12233    /// bool: (2022.2.0b1 - 2022.3.2f1)
12234    pub m_ImplicitTensor: Option<bool>,
12235    /**The additional layers that all Colliders attached to this Rigidbody should include when deciding if the Collider can come into contact with another Collider.*/
12236    /// BitField: (2022.2.0b1 - 2022.3.2f1)
12237    pub m_IncludeLayers: Option<BitField>,
12238    /// Quaternionf: (2022.2.0b1 - 2022.3.2f1)
12239    pub m_InertiaRotation: Option<Quaternionf>,
12240    /**The inertia tensor of this body, defined as a diagonal matrix in a reference frame positioned at this body's center of mass and rotated by Rigidbody.inertiaTensorRotation.*/
12241    /// Vector3f: (2022.2.0b1 - 2022.3.2f1)
12242    pub m_InertiaTensor: Option<Vector3f>,
12243}
12244
12245/// Rigidbody2D is a  class of the Unity engine since version 4.3.0.
12246/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Rigidbody2D.html):
12247/**
12248Rigidbody physics component for 2D sprites.
12249The Rigidbody2D class essentially provides the same functionality in 2D that the Rigidbody class provides in 3D. Adding a Rigidbody2D component to a sprite puts it under the control of the physics engine. By itself, this means that the sprite will be affected by gravity and can be controlled from scripts using forces. By adding the appropriate collider component, the sprite will also respond to collisions with other sprites. This behaviour comes entirely from Unity's physics system; very little code is required to get impressive and authentic physical behaviour and allows for "emergent" gameplay that was not explicitly coded into the game.See Also: Rigidbody class, SpriteRenderer class, Collider2D class, Joint2D class.
12250*/
12251#[derive(Debug, Serialize, Deserialize)]
12252pub struct Rigidbody2D {
12253    /**Coefficient of angular drag.*/
12254    pub m_AngularDrag: f32,
12255    pub m_CollisionDetection: i32,
12256    /**The game object this component is attached to. A component is always attached to a game object.*/
12257    /// PPtr<[`GameObject`]>: (4.3.0 - 2022.3.2f1)
12258    pub m_GameObject: PPtr,
12259    /**The degree to which this object is affected by gravity.*/
12260    pub m_GravityScale: f32,
12261    pub m_Interpolate: i32,
12262    pub m_LinearDrag: f32,
12263    /**Mass of the Rigidbody.*/
12264    pub m_Mass: f32,
12265    pub m_SleepingMode: i32,
12266    /**The physical behaviour type of the Rigidbody2D.*/
12267    /// i32: (5.5.0f3 - 2022.3.2f1)
12268    pub m_BodyType: Option<i32>,
12269    /**Controls which degrees of freedom are allowed for the simulation of this Rigidbody2D.*/
12270    /// i32: (5.1.0f1 - 2022.3.2f1)
12271    pub m_Constraints: Option<i32>,
12272    /**The additional Layers that all Collider2D attached to this Rigidbody2D should exclude when deciding if a contact with another Collider2D should happen or not.*/
12273    /// BitField: (2022.2.0b1 - 2022.3.2f1)
12274    pub m_ExcludeLayers: Option<BitField>,
12275    /// bool: (4.3.0 - 5.0.4f1)
12276    pub m_FixedAngle: Option<bool>,
12277    /**The additional Layers that all Collider2D attached to this Rigidbody2D should include when deciding if a contact with another Collider2D should happen or not.*/
12278    /// BitField: (2022.2.0b1 - 2022.3.2f1)
12279    pub m_IncludeLayers: Option<BitField>,
12280    /**Should this rigidbody be taken out of physics control?*/
12281    /// bool: (4.3.0 - 5.4.6f3)
12282    pub m_IsKinematic: Option<bool>,
12283    /// PPtr<[`PhysicsMaterial2D`]>: (5.5.0f3 - 2022.3.2f1)
12284    pub m_Material: Option<PPtr>,
12285    /**Indicates whether the rigid body should be simulated or not by the physics system.*/
12286    /// bool: (5.5.0f3 - 2022.3.2f1)
12287    pub m_Simulated: Option<bool>,
12288    /**Should the total rigid-body mass be automatically calculated from the [[Collider2D.density]] of attached colliders?*/
12289    /// bool: (5.3.0f1 - 2022.3.2f1)
12290    pub m_UseAutoMass: Option<bool>,
12291    /**Should kinematic/kinematic and kinematic/static collisions be allowed?*/
12292    /// bool: (5.5.0f3 - 2022.3.2f1)
12293    pub m_UseFullKinematicContacts: Option<bool>,
12294}
12295
12296/// RoslynAdditionalFileAsset is a  class of the Unity engine since version 2021.3.3f1.
12297#[derive(Debug, Serialize, Deserialize)]
12298pub struct RoslynAdditionalFileAsset {
12299    pub m_Name: String,
12300}
12301
12302/// RoslynAdditionalFileImporter is a  class of the Unity engine since version 2021.3.3f1.
12303#[derive(Debug, Serialize, Deserialize)]
12304pub struct RoslynAdditionalFileImporter {
12305    pub m_AssetBundleName: String,
12306    pub m_AssetBundleVariant: String,
12307    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2021.3.3f1 - 2022.3.2f1)
12308    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
12309    pub m_Name: String,
12310    pub m_UsedFileIDs: Vec<i64>,
12311    pub m_UserData: String,
12312}
12313
12314/// RoslynAnalyzerConfigAsset is a  class of the Unity engine since version 2021.3.3f1.
12315#[derive(Debug, Serialize, Deserialize)]
12316pub struct RoslynAnalyzerConfigAsset {
12317    pub m_Name: String,
12318}
12319
12320/// RoslynAnalyzerConfigImporter is a  class of the Unity engine since version 2021.3.3f1.
12321#[derive(Debug, Serialize, Deserialize)]
12322pub struct RoslynAnalyzerConfigImporter {
12323    pub m_AssetBundleName: String,
12324    pub m_AssetBundleVariant: String,
12325    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2021.3.3f1 - 2022.3.2f1)
12326    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
12327    pub m_Name: String,
12328    pub m_UsedFileIDs: Vec<i64>,
12329    pub m_UserData: String,
12330}
12331
12332/// RotationBySpeedModule is a sub class of the Unity engine since version 3.5.0.
12333/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.RotationBySpeedModule.html):
12334/**
12335Script interface for the RotationBySpeedModule.
12336Rotate particles based on their speed.See Also: ParticleSystem, ParticleSystem.rotationBySpeed.
12337*/
12338#[derive(Debug, Serialize, Deserialize)]
12339pub struct RotationBySpeedModule {
12340    pub curve: MinMaxCurve,
12341    /**ESpecifies whether the RotationBySpeedModule is enabled or disabled.*/
12342    pub enabled: bool,
12343    /**Set the minimum and maximum speeds that this module applies the rotation curve between.*/
12344    pub range: Vector2f,
12345    /**Set the rotation by speed on each axis separately.*/
12346    /// bool: (5.3.0f1 - 2022.3.2f1)
12347    pub separateAxes: Option<bool>,
12348    /**Rotation by speed curve for the x-axis.*/
12349    /// MinMaxCurve: (5.3.0f1 - 2022.3.2f1)
12350    pub x: Option<MinMaxCurve>,
12351    /**Rotation by speed curve for the y-axis.*/
12352    /// MinMaxCurve: (5.3.0f1 - 2022.3.2f1)
12353    pub y: Option<MinMaxCurve>,
12354}
12355
12356/// RotationConstraint is a  class of the Unity engine since version 2018.1.0b2.
12357/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.RotationConstraint.html):
12358/**
12359Constrains the rotation of an object relative to the rotation of one or more source objects.
12360*/
12361#[derive(Debug, Serialize, Deserialize)]
12362pub struct RotationConstraint {
12363    pub m_AffectRotationX: bool,
12364    pub m_AffectRotationY: bool,
12365    pub m_AffectRotationZ: bool,
12366    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
12367    pub m_Enabled: u8,
12368    /**The game object this component is attached to. A component is always attached to a game object.*/
12369    /// PPtr<[`GameObject`]>: (2018.1.0b2 - 2022.3.2f1)
12370    pub m_GameObject: PPtr,
12371    /**The rotation used when the sources have a total weight of 0.*/
12372    pub m_RotationAtRest: Vector3f,
12373    /**The offset from the constrained rotation.*/
12374    pub m_RotationOffset: Vector3f,
12375    pub m_Sources: Vec<ConstraintSource>,
12376    /**The weight of the constraint component.*/
12377    pub m_Weight: f32,
12378    /// bool: (2022.1.0b1 - 2022.3.2f1)
12379    pub m_Active: Option<bool>,
12380    /// bool: (2018.1.0b2 - 2022.1.0a9)
12381    pub m_IsContraintActive: Option<bool>,
12382}
12383
12384/// RotationModule is a sub class of the Unity engine since version 3.5.0.
12385#[derive(Debug, Serialize, Deserialize)]
12386pub struct RotationModule {
12387    pub curve: MinMaxCurve,
12388    pub enabled: bool,
12389    /// bool: (5.3.0f1 - 2022.3.2f1)
12390    pub separateAxes: Option<bool>,
12391    /// MinMaxCurve: (5.3.0f1 - 2022.3.2f1)
12392    pub x: Option<MinMaxCurve>,
12393    /// MinMaxCurve: (5.3.0f1 - 2022.3.2f1)
12394    pub y: Option<MinMaxCurve>,
12395}
12396
12397/// RuleSetFileAsset is a  class of the Unity engine since version 2020.2.0b1.
12398#[derive(Debug, Serialize, Deserialize)]
12399pub struct RuleSetFileAsset {
12400    pub m_Name: String,
12401    pub m_Script: String,
12402}
12403
12404/// RuleSetFileImporter is a  class of the Unity engine since version 2020.2.0b1.
12405#[derive(Debug, Serialize, Deserialize)]
12406pub struct RuleSetFileImporter {
12407    pub m_AssetBundleName: String,
12408    pub m_AssetBundleVariant: String,
12409    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2020.2.0b1 - 2022.3.2f1)
12410    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
12411    pub m_Name: String,
12412    pub m_UsedFileIDs: Vec<i64>,
12413    pub m_UserData: String,
12414}
12415
12416/// RuntimeAnimatorController is a  class of the Unity engine since version 4.1.0.
12417/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/RuntimeAnimatorController.html):
12418/**
12419The runtime representation of the AnimatorController. Use this representation to change the Animator Controller during runtime.
12420*/
12421#[derive(Debug, Serialize, Deserialize)]
12422pub struct RuntimeAnimatorController {
12423    /**Retrieves all AnimationClip used by the controller.*/
12424    /// Vec<PPtr<[`AnimationClip`]>>: (4.1.0 - 4.2.2)
12425    pub m_AnimationClips: Vec<PPtr>,
12426    pub m_Controller: ControllerConstant,
12427    pub m_ControllerSize: u32,
12428    /**The name of the object.*/
12429    pub m_Name: String,
12430    pub m_TOS: Vec<(u32, String)>,
12431}
12432
12433/// RuntimeInitializeOnLoadManager is a  class of the Unity engine since version 5.0.0f4.
12434#[derive(Debug, Serialize, Deserialize)]
12435pub struct RuntimeInitializeOnLoadManager {
12436    /// Vec<i32>: (2019.1.0b1 - 2020.2.0a19)
12437    pub m_AfterAssembliesLoadedMethodExecutionOrders: Option<Vec<i32>>,
12438    /// Vec<i32>: (2019.1.0b1 - 2020.2.0a19)
12439    pub m_AfterAssembliesLoadedUnityMethodExecutionOrders: Option<Vec<i32>>,
12440    /// Vec<i32>: (5.2.0f2 - 2020.2.0a19)
12441    pub m_AfterMethodExecutionOrders: Option<Vec<i32>>,
12442    /// Vec<i32>: (5.2.0f2 - 2020.2.0a19)
12443    pub m_AfterUnityMethodExecutionOrders: Option<Vec<i32>>,
12444    /// Vec<String>: (5.0.0f4 - 2020.2.0a19)
12445    pub m_AssemblyNames: Option<Vec<String>>,
12446    /// Vec<i32>: (5.2.0f2 - 2020.2.0a19)
12447    pub m_BeforeMethodExecutionOrders: Option<Vec<i32>>,
12448    /// Vec<i32>: (2019.1.0b1 - 2020.2.0a19)
12449    pub m_BeforeSplashScreenMethodExecutionOrders: Option<Vec<i32>>,
12450    /// Vec<i32>: (2019.1.0b1 - 2020.2.0a19)
12451    pub m_BeforeSplashScreenUnityMethodExecutionOrders: Option<Vec<i32>>,
12452    /// Vec<i32>: (5.2.0f2 - 2020.2.0a19)
12453    pub m_BeforeUnityMethodExecutionOrders: Option<Vec<i32>>,
12454    /// Vec<ClassInfo>: (5.0.0f4 - 2020.2.0a19)
12455    pub m_ClassInfos: Option<Vec<ClassInfo>>,
12456    /// Vec<ClassMethodInfo>: (5.0.0f4 - 2020.2.0a19)
12457    pub m_ClassMethodInfos: Option<Vec<ClassMethodInfo>>,
12458    /// Vec<i32>: (5.0.0f4 - 5.1.5f1)
12459    pub m_MethodExecutionOrders: Option<Vec<i32>>,
12460    /// Vec<String>: (5.0.0f4 - 2020.2.0a19)
12461    pub m_NamespaceNames: Option<Vec<String>>,
12462    /// Vec<i32>: (2019.2.0f1 - 2020.2.0a19)
12463    pub m_SubsystemRegistrationMethodExecutionOrders: Option<Vec<i32>>,
12464    /// Vec<i32>: (2019.2.0f1 - 2020.2.0a19)
12465    pub m_SubsystemRegistrationUnityMethodExecutionOrders: Option<Vec<i32>>,
12466    /// Vec<i32>: (5.0.0f4 - 5.1.5f1)
12467    pub m_UnityMethodExecutionOrders: Option<Vec<i32>>,
12468}
12469
12470/// SBranchWindLevel is a sub class of the Unity engine since version 5.0.0f4.
12471#[derive(Debug, Serialize, Deserialize)]
12472pub struct SBranchWindLevel {
12473    pub m_afDirectionAdherence_0: f32,
12474    pub m_afDirectionAdherence_1: f32,
12475    pub m_afDirectionAdherence_2: f32,
12476    pub m_afDirectionAdherence_3: f32,
12477    pub m_afDirectionAdherence_4: f32,
12478    pub m_afDirectionAdherence_5: f32,
12479    pub m_afDirectionAdherence_6: f32,
12480    pub m_afDirectionAdherence_7: f32,
12481    pub m_afDirectionAdherence_8: f32,
12482    pub m_afDirectionAdherence_9: f32,
12483    pub m_afDistance_0: f32,
12484    pub m_afDistance_1: f32,
12485    pub m_afDistance_2: f32,
12486    pub m_afDistance_3: f32,
12487    pub m_afDistance_4: f32,
12488    pub m_afDistance_5: f32,
12489    pub m_afDistance_6: f32,
12490    pub m_afDistance_7: f32,
12491    pub m_afDistance_8: f32,
12492    pub m_afDistance_9: f32,
12493    pub m_afWhip_0: f32,
12494    pub m_afWhip_1: f32,
12495    pub m_afWhip_2: f32,
12496    pub m_afWhip_3: f32,
12497    pub m_afWhip_4: f32,
12498    pub m_afWhip_5: f32,
12499    pub m_afWhip_6: f32,
12500    pub m_afWhip_7: f32,
12501    pub m_afWhip_8: f32,
12502    pub m_afWhip_9: f32,
12503    pub m_fTurbulence: f32,
12504    pub m_fTwitch: f32,
12505    pub m_fTwitchFreqScale: f32,
12506}
12507
12508/// SParams is a sub class of the Unity engine since version 5.0.0f4.
12509#[derive(Debug, Serialize, Deserialize)]
12510pub struct SParams {
12511    pub BranchLevel1: SBranchWindLevel,
12512    pub BranchLevel2: SBranchWindLevel,
12513    pub LeafGroup1: SWindGroup,
12514    pub LeafGroup2: SWindGroup,
12515    pub Oscillation0_0: f32,
12516    pub Oscillation0_1: f32,
12517    pub Oscillation0_2: f32,
12518    pub Oscillation0_3: f32,
12519    pub Oscillation0_4: f32,
12520    pub Oscillation0_5: f32,
12521    pub Oscillation0_6: f32,
12522    pub Oscillation0_7: f32,
12523    pub Oscillation0_8: f32,
12524    pub Oscillation0_9: f32,
12525    pub Oscillation1_0: f32,
12526    pub Oscillation1_1: f32,
12527    pub Oscillation1_2: f32,
12528    pub Oscillation1_3: f32,
12529    pub Oscillation1_4: f32,
12530    pub Oscillation1_5: f32,
12531    pub Oscillation1_6: f32,
12532    pub Oscillation1_7: f32,
12533    pub Oscillation1_8: f32,
12534    pub Oscillation1_9: f32,
12535    pub Oscillation2_0: f32,
12536    pub Oscillation2_1: f32,
12537    pub Oscillation2_2: f32,
12538    pub Oscillation2_3: f32,
12539    pub Oscillation2_4: f32,
12540    pub Oscillation2_5: f32,
12541    pub Oscillation2_6: f32,
12542    pub Oscillation2_7: f32,
12543    pub Oscillation2_8: f32,
12544    pub Oscillation2_9: f32,
12545    pub Oscillation3_0: f32,
12546    pub Oscillation3_1: f32,
12547    pub Oscillation3_2: f32,
12548    pub Oscillation3_3: f32,
12549    pub Oscillation3_4: f32,
12550    pub Oscillation3_5: f32,
12551    pub Oscillation3_6: f32,
12552    pub Oscillation3_7: f32,
12553    pub Oscillation3_8: f32,
12554    pub Oscillation3_9: f32,
12555    pub Oscillation4_0: f32,
12556    pub Oscillation4_1: f32,
12557    pub Oscillation4_2: f32,
12558    pub Oscillation4_3: f32,
12559    pub Oscillation4_4: f32,
12560    pub Oscillation4_5: f32,
12561    pub Oscillation4_6: f32,
12562    pub Oscillation4_7: f32,
12563    pub Oscillation4_8: f32,
12564    pub Oscillation4_9: f32,
12565    pub Oscillation5_0: f32,
12566    pub Oscillation5_1: f32,
12567    pub Oscillation5_2: f32,
12568    pub Oscillation5_3: f32,
12569    pub Oscillation5_4: f32,
12570    pub Oscillation5_5: f32,
12571    pub Oscillation5_6: f32,
12572    pub Oscillation5_7: f32,
12573    pub Oscillation5_8: f32,
12574    pub Oscillation5_9: f32,
12575    pub Oscillation6_0: f32,
12576    pub Oscillation6_1: f32,
12577    pub Oscillation6_2: f32,
12578    pub Oscillation6_3: f32,
12579    pub Oscillation6_4: f32,
12580    pub Oscillation6_5: f32,
12581    pub Oscillation6_6: f32,
12582    pub Oscillation6_7: f32,
12583    pub Oscillation6_8: f32,
12584    pub Oscillation6_9: f32,
12585    pub Oscillation7_0: f32,
12586    pub Oscillation7_1: f32,
12587    pub Oscillation7_2: f32,
12588    pub Oscillation7_3: f32,
12589    pub Oscillation7_4: f32,
12590    pub Oscillation7_5: f32,
12591    pub Oscillation7_6: f32,
12592    pub Oscillation7_7: f32,
12593    pub Oscillation7_8: f32,
12594    pub Oscillation7_9: f32,
12595    pub Oscillation8_0: f32,
12596    pub Oscillation8_1: f32,
12597    pub Oscillation8_2: f32,
12598    pub Oscillation8_3: f32,
12599    pub Oscillation8_4: f32,
12600    pub Oscillation8_5: f32,
12601    pub Oscillation8_6: f32,
12602    pub Oscillation8_7: f32,
12603    pub Oscillation8_8: f32,
12604    pub Oscillation8_9: f32,
12605    pub Oscillation9_0: f32,
12606    pub Oscillation9_1: f32,
12607    pub Oscillation9_2: f32,
12608    pub Oscillation9_3: f32,
12609    pub Oscillation9_4: f32,
12610    pub Oscillation9_5: f32,
12611    pub Oscillation9_6: f32,
12612    pub Oscillation9_7: f32,
12613    pub Oscillation9_8: f32,
12614    pub Oscillation9_9: f32,
12615    pub m_afFrondRippleDistance_0: f32,
12616    pub m_afFrondRippleDistance_1: f32,
12617    pub m_afFrondRippleDistance_2: f32,
12618    pub m_afFrondRippleDistance_3: f32,
12619    pub m_afFrondRippleDistance_4: f32,
12620    pub m_afFrondRippleDistance_5: f32,
12621    pub m_afFrondRippleDistance_6: f32,
12622    pub m_afFrondRippleDistance_7: f32,
12623    pub m_afFrondRippleDistance_8: f32,
12624    pub m_afFrondRippleDistance_9: f32,
12625    pub m_afGlobalDirectionAdherence_0: f32,
12626    pub m_afGlobalDirectionAdherence_1: f32,
12627    pub m_afGlobalDirectionAdherence_2: f32,
12628    pub m_afGlobalDirectionAdherence_3: f32,
12629    pub m_afGlobalDirectionAdherence_4: f32,
12630    pub m_afGlobalDirectionAdherence_5: f32,
12631    pub m_afGlobalDirectionAdherence_6: f32,
12632    pub m_afGlobalDirectionAdherence_7: f32,
12633    pub m_afGlobalDirectionAdherence_8: f32,
12634    pub m_afGlobalDirectionAdherence_9: f32,
12635    pub m_afGlobalDistance_0: f32,
12636    pub m_afGlobalDistance_1: f32,
12637    pub m_afGlobalDistance_2: f32,
12638    pub m_afGlobalDistance_3: f32,
12639    pub m_afGlobalDistance_4: f32,
12640    pub m_afGlobalDistance_5: f32,
12641    pub m_afGlobalDistance_6: f32,
12642    pub m_afGlobalDistance_7: f32,
12643    pub m_afGlobalDistance_8: f32,
12644    pub m_afGlobalDistance_9: f32,
12645    pub m_fAnchorDistanceScale: f32,
12646    pub m_fAnchorOffset: f32,
12647    pub m_fDirectionResponse: f32,
12648    pub m_fFrondRippleLightingScalar: f32,
12649    pub m_fFrondRippleTile: f32,
12650    pub m_fGlobalHeight: f32,
12651    pub m_fGlobalHeightExponent: f32,
12652    pub m_fGustDurationMax: f32,
12653    pub m_fGustDurationMin: f32,
12654    pub m_fGustFallScalar: f32,
12655    pub m_fGustFrequency: f32,
12656    pub m_fGustRiseScalar: f32,
12657    pub m_fGustStrengthMax: f32,
12658    pub m_fGustStrengthMin: f32,
12659    pub m_fRollingBranchFieldMin: f32,
12660    pub m_fRollingBranchLightingAdjust: f32,
12661    pub m_fRollingBranchVerticalOffset: f32,
12662    pub m_fRollingLeafRippleMin: f32,
12663    pub m_fRollingLeafTumbleMin: f32,
12664    pub m_fRollingNoisePeriod: f32,
12665    pub m_fRollingNoiseSize: f32,
12666    pub m_fRollingNoiseSpeed: f32,
12667    pub m_fRollingNoiseTurbulence: f32,
12668    pub m_fRollingNoiseTwist: f32,
12669    pub m_fStrengthResponse: f32,
12670}
12671
12672/// SWindGroup is a sub class of the Unity engine since version 5.0.0f4.
12673#[derive(Debug, Serialize, Deserialize)]
12674pub struct SWindGroup {
12675    pub m_afRippleDistance_0: f32,
12676    pub m_afRippleDistance_1: f32,
12677    pub m_afRippleDistance_2: f32,
12678    pub m_afRippleDistance_3: f32,
12679    pub m_afRippleDistance_4: f32,
12680    pub m_afRippleDistance_5: f32,
12681    pub m_afRippleDistance_6: f32,
12682    pub m_afRippleDistance_7: f32,
12683    pub m_afRippleDistance_8: f32,
12684    pub m_afRippleDistance_9: f32,
12685    pub m_afTumbleDirectionAdherence_0: f32,
12686    pub m_afTumbleDirectionAdherence_1: f32,
12687    pub m_afTumbleDirectionAdherence_2: f32,
12688    pub m_afTumbleDirectionAdherence_3: f32,
12689    pub m_afTumbleDirectionAdherence_4: f32,
12690    pub m_afTumbleDirectionAdherence_5: f32,
12691    pub m_afTumbleDirectionAdherence_6: f32,
12692    pub m_afTumbleDirectionAdherence_7: f32,
12693    pub m_afTumbleDirectionAdherence_8: f32,
12694    pub m_afTumbleDirectionAdherence_9: f32,
12695    pub m_afTumbleFlip_0: f32,
12696    pub m_afTumbleFlip_1: f32,
12697    pub m_afTumbleFlip_2: f32,
12698    pub m_afTumbleFlip_3: f32,
12699    pub m_afTumbleFlip_4: f32,
12700    pub m_afTumbleFlip_5: f32,
12701    pub m_afTumbleFlip_6: f32,
12702    pub m_afTumbleFlip_7: f32,
12703    pub m_afTumbleFlip_8: f32,
12704    pub m_afTumbleFlip_9: f32,
12705    pub m_afTumbleTwist_0: f32,
12706    pub m_afTumbleTwist_1: f32,
12707    pub m_afTumbleTwist_2: f32,
12708    pub m_afTumbleTwist_3: f32,
12709    pub m_afTumbleTwist_4: f32,
12710    pub m_afTumbleTwist_5: f32,
12711    pub m_afTumbleTwist_6: f32,
12712    pub m_afTumbleTwist_7: f32,
12713    pub m_afTumbleTwist_8: f32,
12714    pub m_afTumbleTwist_9: f32,
12715    pub m_afTwitchThrow_0: f32,
12716    pub m_afTwitchThrow_1: f32,
12717    pub m_afTwitchThrow_2: f32,
12718    pub m_afTwitchThrow_3: f32,
12719    pub m_afTwitchThrow_4: f32,
12720    pub m_afTwitchThrow_5: f32,
12721    pub m_afTwitchThrow_6: f32,
12722    pub m_afTwitchThrow_7: f32,
12723    pub m_afTwitchThrow_8: f32,
12724    pub m_afTwitchThrow_9: f32,
12725    pub m_fLeewardScalar: f32,
12726    pub m_fRollMaxScale: f32,
12727    pub m_fRollMinScale: f32,
12728    pub m_fRollSeparation: f32,
12729    pub m_fRollSpeed: f32,
12730    pub m_fTwitchSharpness: f32,
12731}
12732
12733/// SampleClip is a  class of the Unity engine since version 5.0.0f4.
12734#[derive(Debug, Serialize, Deserialize)]
12735pub struct SampleClip {
12736    pub m_Name: String,
12737}
12738
12739/// SampleSettings is a sub class of the Unity engine since version 5.0.0f4.
12740#[derive(Debug, Serialize, Deserialize)]
12741pub struct SampleSettings {
12742    pub compressionFormat: i32,
12743    pub conversionMode: i32,
12744    pub loadType: i32,
12745    pub quality: f32,
12746    pub sampleRateOverride: u32,
12747    pub sampleRateSetting: i32,
12748    /// bool: (2022.2.0b1 - 2022.3.2f1)
12749    pub preloadAudioData: Option<bool>,
12750}
12751
12752/// SamplerParameter is a sub class of the Unity engine since version 2017.1.0b1.
12753#[derive(Debug, Serialize, Deserialize)]
12754pub struct SamplerParameter {
12755    pub bindPoint: i32,
12756    pub sampler: u32,
12757}
12758
12759/// ScaleConstraint is a  class of the Unity engine since version 2018.1.0b2.
12760/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Animations.ScaleConstraint.html):
12761/**
12762Constrains the scale of an object relative to the scale of one or more source objects.
12763*/
12764#[derive(Debug, Serialize, Deserialize)]
12765pub struct ScaleConstraint {
12766    pub m_AffectScalingX: bool,
12767    pub m_AffectScalingY: bool,
12768    pub m_AffectScalingZ: bool,
12769    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
12770    pub m_Enabled: u8,
12771    /**The game object this component is attached to. A component is always attached to a game object.*/
12772    /// PPtr<[`GameObject`]>: (2018.1.0b2 - 2022.3.2f1)
12773    pub m_GameObject: PPtr,
12774    /**The scale used when the sources have a total weight of 0.*/
12775    pub m_ScaleAtRest: Vector3f,
12776    /**The offset from the constrained scale.*/
12777    pub m_ScaleOffset: Vector3f,
12778    pub m_Sources: Vec<ConstraintSource>,
12779    /**The weight of the constraint component.*/
12780    pub m_Weight: f32,
12781    /// bool: (2022.1.0b1 - 2022.3.2f1)
12782    pub m_Active: Option<bool>,
12783    /// bool: (2018.1.0b2 - 2022.1.0a9)
12784    pub m_IsContraintActive: Option<bool>,
12785}
12786
12787/// Scene is a  class of the Unity engine since version 3.4.0.
12788/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SceneManagement.Scene.html):
12789/**
12790Run-time data structure for *.unity file.
12791*/
12792#[derive(Debug, Serialize, Deserialize)]
12793pub struct Scene {
12794    /// bool: (4.0.0 - 2022.3.2f1)
12795    pub enabled: Option<bool>,
12796    /// GUID: (5.6.0f1 - 2022.3.2f1)
12797    pub guid: Option<GUID>,
12798    /// Vec<u8>: (3.4.0 - 3.5.7)
12799    pub m_PVSData: Option<Vec<u8>>,
12800    /// Vec<PPtr<[`Renderer`]>>: (3.4.0 - 3.5.7)
12801    pub m_PVSObjectsArray: Option<Vec<PPtr>>,
12802    /// Vec<PPtr<[`OcclusionPortal`]>>: (3.5.0 - 3.5.7)
12803    pub m_PVSPortalsArray: Option<Vec<PPtr>>,
12804    /// u32: (3.5.0 - 3.5.7)
12805    pub m_QueryMode: Option<u32>,
12806    /**Returns the relative path of the Scene. For example: "Assets/MyScenes/MyScene.unity".*/
12807    /// String: (4.0.0 - 2022.3.2f1)
12808    pub path: Option<String>,
12809}
12810
12811/// SceneDataContainer is a sub class of the Unity engine since version 2019.3.0b1.
12812#[derive(Debug, Serialize, Deserialize)]
12813pub struct SceneDataContainer {
12814    pub m_SceneData: Vec<(SceneIdentifier, HierarchicalSceneData)>,
12815}
12816
12817/// SceneIdentifier is a sub class of the Unity engine since version 2019.1.0b1.
12818#[derive(Debug, Serialize, Deserialize)]
12819pub struct SceneIdentifier {
12820    pub guid: GUID,
12821    pub handle: i32,
12822}
12823
12824/// SceneObjectIdentifier is a sub class of the Unity engine since version 5.0.0f4.
12825#[derive(Debug, Serialize, Deserialize)]
12826pub struct SceneObjectIdentifier {
12827    pub targetObject: i64,
12828    pub targetPrefab: i64,
12829}
12830
12831/// SceneSettings is a  class of the Unity engine since version 4.0.0.
12832#[derive(Debug, Serialize, Deserialize)]
12833pub struct SceneSettings {
12834    pub m_PVSData: Vec<u8>,
12835    /// Vec<PPtr<[`Renderer`]>>: (4.0.0 - 5.4.6f3)
12836    pub m_PVSObjectsArray: Vec<PPtr>,
12837    /// Vec<PPtr<[`OcclusionPortal`]>>: (4.0.0 - 5.4.6f3)
12838    pub m_PVSPortalsArray: Vec<PPtr>,
12839    /// u32: (4.0.0 - 4.2.2)
12840    pub m_QueryMode: Option<u32>,
12841}
12842
12843/// SceneVisibilityData is a sub class of the Unity engine since version 2019.1.0b1.
12844#[derive(Debug, Serialize, Deserialize)]
12845pub struct SceneVisibilityData {
12846    pub m_SceneGUID: GUID,
12847}
12848
12849/// SceneVisibilityState is a  class of the Unity engine since version 2019.1.0b1.
12850#[derive(Debug, Serialize, Deserialize)]
12851pub struct SceneVisibilityState {
12852    /// bool: (2019.3.0b1 - 2022.3.2f1)
12853    pub m_IsolationMode: Option<bool>,
12854    /// bool: (2019.1.0b1 - 2019.3.0a8)
12855    pub m_MainStageIsolated: Option<bool>,
12856    /// bool: (2019.1.0b1 - 2019.3.0a8)
12857    pub m_PrefabStageIsolated: Option<bool>,
12858    /// Vec<(SceneIdentifier, SceneVisibilityData)>: (2019.1.0b1 - 2019.3.0a8)
12859    pub m_SceneData: Option<Vec<(SceneIdentifier, SceneVisibilityData)>>,
12860    /// SceneDataContainer: (2019.3.0b1 - 2022.3.2f1)
12861    pub m_ScenePickingData: Option<SceneDataContainer>,
12862    /// SceneDataContainer: (2019.3.0b1 - 2022.3.2f1)
12863    pub m_SceneVisibilityData: Option<SceneDataContainer>,
12864    /// SceneDataContainer: (2019.3.0b1 - 2022.3.2f1)
12865    pub m_SceneVisibilityDataIsolated: Option<SceneDataContainer>,
12866}
12867
12868/// ScenesUsingAssets is a  class of the Unity engine since version 2020.1.0b1.
12869/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Build.Reporting.ScenesUsingAssets.html):
12870/**
12871An extension to the BuildReport class that tracks which scenes in the build have references to a specific asset in the build.
12872The build process generates this information when BuildOptions.DetailedBuildReport is used during a build.
12873*/
12874#[derive(Debug, Serialize, Deserialize)]
12875pub struct ScenesUsingAssets {
12876    pub m_ListOfScenesUsingEachAsset: Vec<(String, Vec<String>)>,
12877    pub m_ScenesUsingAssets: Vec<BuildReportScenesUsingAsset>,
12878}
12879
12880/// ScriptMapper is a  class of the Unity engine since version 3.4.0.
12881#[derive(Debug, Serialize, Deserialize)]
12882pub struct ScriptMapper {
12883    pub m_Shaders: NameToObjectMap,
12884    /// bool: (5.0.0f4 - 2020.3.48f1)
12885    pub m_PreloadShaders: Option<bool>,
12886}
12887
12888/// ScriptedImporter is a  class of the Unity engine since version 2017.1.0b2.
12889/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AssetImporters.ScriptedImporter.html):
12890/**
12891Abstract base class for custom Asset importers.
12892Scripted importers are scripts that are associated with specific file extensions. They are invoked by Unity's Asset pipeline to convert the contents of associated files into Assets.Use the ScriptedImporterAttribute class to register custom importers with the Asset pipeline.The C# fields of a ScriptedImporter are serialized, exactly like fields on a MonoBehaviour. See Script Serialization for details.
12893You can see these properties in the Inspector and use them to control the behaviour of the importer for each asset.
12894To programmatically access the value of an asset's properties, use AssetImporter.GetAtPath and type cast the return value to the correct class derived from ScriptedImporter.
12895After changing values, trigger a fresh import by calling EditorUtility.SetDirty and then AssetImporter.SaveAndReimport.
12896*/
12897#[derive(Debug, Serialize, Deserialize)]
12898pub struct ScriptedImporter {
12899    /**Get or set the AssetBundle name.*/
12900    pub m_AssetBundleName: String,
12901    /**Get or set the AssetBundle variant.*/
12902    pub m_AssetBundleVariant: String,
12903    /**The name of the object.*/
12904    pub m_Name: String,
12905    /// PPtr<[`MonoScript`]>: (2017.1.0b2 - 2022.3.2f1)
12906    pub m_Script: PPtr,
12907    /**Get or set any user data.*/
12908    pub m_UserData: String,
12909    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.3.0b1 - 2022.3.2f1)
12910    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
12911    /// Vec<(i64, String)>: (2017.3.0b1 - 2018.4.36f1)
12912    pub m_FileIDToRecycleName: Option<Vec<(i64, String)>>,
12913    /// Vec<((i32, i64), String)>: (2019.1.0b1 - 2022.3.2f1)
12914    pub m_InternalIDToNameTable: Option<Vec<((i32, i64), String)>>,
12915    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
12916    pub m_UsedFileIDs: Option<Vec<i64>>,
12917}
12918
12919/// SecondarySpriteTexture is a sub class of the Unity engine since version 2019.1.0b1.
12920/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SecondarySpriteTexture.html):
12921/**
12922Encapsulates a Texture2D and its shader property name to give Sprite-based renderers access to a secondary texture, in addition to the main Sprite texture.
12923*/
12924#[derive(Debug, Serialize, Deserialize)]
12925pub struct SecondarySpriteTexture {
12926    /**The shader property name of the secondary Sprite texture. Use this name to identify and sample the texture in the shader.*/
12927    pub name: String,
12928    /**The texture to be used as a secondary Sprite texture.*/
12929    /// PPtr<[`Texture2D`]>: (2019.1.0b1 - 2022.3.2f1)
12930    pub texture: PPtr,
12931}
12932
12933/// SecondaryTextureSettings is a sub class of the Unity engine since version 2020.2.0b1.
12934#[derive(Debug, Serialize, Deserialize)]
12935pub struct SecondaryTextureSettings {
12936    pub platformSettings: Vec<TextureImporterPlatformSettings>,
12937    /// bool: (2020.2.0b1 - 2022.3.2f1)
12938    pub sRGB: Option<bool>,
12939}
12940
12941/// SerializableManagedHost is a  class of the Unity engine since version 2019.1.0b1.
12942#[derive(Debug, Serialize, Deserialize)]
12943pub struct SerializableManagedHost {
12944    /// PPtr<[`MonoScript`]>: (2019.1.0b1 - 2020.3.24f1)
12945    pub m_Script: PPtr,
12946}
12947
12948/// SerializableManagedRefTestClass is a  class of the Unity engine since version 2019.1.0b1.
12949#[derive(Debug, Serialize, Deserialize)]
12950pub struct SerializableManagedRefTestClass {
12951    /// PPtr<[`MonoScript`]>: (2019.1.0b1 - 2020.3.24f1)
12952    pub m_Script: PPtr,
12953}
12954
12955/// SerializedCustomEditorForRenderPipeline is a sub class of the Unity engine since version 2021.1.0b1.
12956#[derive(Debug, Serialize, Deserialize)]
12957pub struct SerializedCustomEditorForRenderPipeline {
12958    pub customEditorName: String,
12959    pub renderPipelineType: String,
12960}
12961
12962/// SerializedPass is a sub class of the Unity engine since version 5.5.0f3.
12963#[derive(Debug, Serialize, Deserialize)]
12964pub struct SerializedPass {
12965    pub m_HasInstancingVariant: bool,
12966    pub m_Name: String,
12967    pub m_NameIndices: Vec<(String, i32)>,
12968    pub m_ProgramMask: u32,
12969    pub m_State: SerializedShaderState,
12970    pub m_Tags: SerializedTagMap,
12971    pub m_TextureName: String,
12972    pub m_Type: i32,
12973    pub m_UseName: String,
12974    pub progDomain: SerializedProgram,
12975    pub progFragment: SerializedProgram,
12976    pub progGeometry: SerializedProgram,
12977    pub progHull: SerializedProgram,
12978    pub progVertex: SerializedProgram,
12979    /// Vec<Hash128>: (2020.2.0b1 - 2022.3.2f1)
12980    pub m_EditorDataHash: Option<Vec<Hash128>>,
12981    /// Vec<u16>: (2020.2.0b1 - 2021.2.0a15)
12982    pub m_GlobalKeywordMask: Option<Vec<u16>>,
12983    /// bool: (2018.1.0b2 - 2022.3.2f1)
12984    pub m_HasProceduralInstancingVariant: Option<bool>,
12985    /// Vec<u16>: (2020.2.0b1 - 2021.2.0a15)
12986    pub m_LocalKeywordMask: Option<Vec<u16>>,
12987    /// Vec<u8>: (2020.2.0b1 - 2022.3.2f1)
12988    pub m_Platforms: Option<Vec<u8>>,
12989    /// Vec<u16>: (2021.2.0b1 - 2022.1.0a16)
12990    pub m_SerializedKeywordStateMask: Option<Vec<u16>>,
12991    /// SerializedProgram: (2019.3.0b1 - 2022.3.2f1)
12992    pub progRayTracing: Option<SerializedProgram>,
12993}
12994
12995/// SerializedPlayerSubProgram is a sub class of the Unity engine since version 2021.3.10f1.
12996#[derive(Debug, Serialize, Deserialize)]
12997pub struct SerializedPlayerSubProgram {
12998    pub m_BlobIndex: u32,
12999    pub m_GpuProgramType: i8,
13000    pub m_KeywordIndices: Vec<u16>,
13001    pub m_ShaderRequirements: i64,
13002}
13003
13004/// SerializedProgram is a sub class of the Unity engine since version 5.5.0f3.
13005#[derive(Debug, Serialize, Deserialize)]
13006pub struct SerializedProgram {
13007    pub m_SubPrograms: Vec<SerializedSubProgram>,
13008    /// SerializedProgramParameters: (2020.3.2f1 - 2022.3.2f1)
13009    pub m_CommonParameters: Option<SerializedProgramParameters>,
13010    /// Vec<Vec<u32>>: (2021.3.10f1 - 2022.3.2f1)
13011    pub m_ParameterBlobIndices: Option<Vec<Vec<u32>>>,
13012    /// Vec<Vec<SerializedPlayerSubProgram>>: (2021.3.10f1 - 2022.3.2f1)
13013    pub m_PlayerSubPrograms: Option<Vec<Vec<SerializedPlayerSubProgram>>>,
13014    /// Vec<u16>: (2022.1.0f1 - 2022.3.2f1)
13015    pub m_SerializedKeywordStateMask: Option<Vec<u16>>,
13016}
13017
13018/// SerializedProgramParameters is a sub class of the Unity engine since version 2020.3.2f1.
13019#[derive(Debug, Serialize, Deserialize)]
13020pub struct SerializedProgramParameters {
13021    pub m_BufferParams: Vec<BufferBinding>,
13022    pub m_ConstantBufferBindings: Vec<BufferBinding>,
13023    pub m_ConstantBuffers: Vec<ConstantBuffer>,
13024    pub m_MatrixParams: Vec<MatrixParameter>,
13025    pub m_Samplers: Vec<SamplerParameter>,
13026    pub m_TextureParams: Vec<TextureParameter>,
13027    pub m_UAVParams: Vec<UAVParameter>,
13028    pub m_VectorParams: Vec<VectorParameter>,
13029}
13030
13031/// SerializedProperties is a sub class of the Unity engine since version 5.5.0f3.
13032#[derive(Debug, Serialize, Deserialize)]
13033pub struct SerializedProperties {
13034    pub m_Props: Vec<SerializedProperty>,
13035}
13036
13037/// SerializedProperty is a sub class of the Unity engine since version 5.5.0f3.
13038/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SerializedProperty.html):
13039/**
13040SerializedProperty and SerializedObject are classes for editing properties on objects in a completely generic way that automatically handles undo, multi-object editing and Prefab overrides.
13041SerializedProperty is primarily used to read or change the value of a property.  It can also iterate through the properties of an object using Next.
13042See Also: SerializedObject class, Editor class.
13043*/
13044#[derive(Debug, Serialize, Deserialize)]
13045pub struct SerializedProperty {
13046    pub m_Attributes: Vec<String>,
13047    pub m_DefTexture: SerializedTextureProperty,
13048    pub m_Description: String,
13049    pub m_Flags: u32,
13050    /**Name of the property. (Read Only)*/
13051    pub m_Name: String,
13052    /**Type name of the property. (Read Only)*/
13053    pub m_Type: i32,
13054    /// f32: (5.5.0f3 - 2022.3.2f1)
13055    #[serde(alias = "m_DefValue[0]")]
13056    pub m_DefValue_0_: Option<f32>,
13057    /// f32: (5.5.0f3 - 2022.3.2f1)
13058    #[serde(alias = "m_DefValue[1]")]
13059    pub m_DefValue_1_: Option<f32>,
13060    /// f32: (5.5.0f3 - 2022.3.2f1)
13061    #[serde(alias = "m_DefValue[2]")]
13062    pub m_DefValue_2_: Option<f32>,
13063    /// f32: (5.5.0f3 - 2022.3.2f1)
13064    #[serde(alias = "m_DefValue[3]")]
13065    pub m_DefValue_3_: Option<f32>,
13066}
13067
13068/// SerializedShader is a sub class of the Unity engine since version 5.5.0f3.
13069#[derive(Debug, Serialize, Deserialize)]
13070pub struct SerializedShader {
13071    pub m_CustomEditorName: String,
13072    pub m_Dependencies: Vec<SerializedShaderDependency>,
13073    pub m_DisableNoSubshadersMessage: bool,
13074    pub m_FallbackName: String,
13075    pub m_Name: String,
13076    pub m_PropInfo: SerializedProperties,
13077    pub m_SubShaders: Vec<SerializedSubShader>,
13078    /// Vec<SerializedCustomEditorForRenderPipeline>: (2021.1.0b1 - 2022.3.2f1)
13079    pub m_CustomEditorForRenderPipelines: Option<Vec<SerializedCustomEditorForRenderPipeline>>,
13080    /// Vec<u8>: (2021.2.0b1 - 2022.3.2f1)
13081    pub m_KeywordFlags: Option<Vec<u8>>,
13082    /// Vec<String>: (2021.2.0b1 - 2022.3.2f1)
13083    pub m_KeywordNames: Option<Vec<String>>,
13084}
13085
13086/// SerializedShaderDependency is a sub class of the Unity engine since version 5.5.0f3.
13087#[derive(Debug, Serialize, Deserialize)]
13088pub struct SerializedShaderDependency {
13089    pub from: String,
13090    pub to: String,
13091}
13092
13093/// SerializedShaderFloatValue is a sub class of the Unity engine since version 5.5.0f3.
13094#[derive(Debug, Serialize, Deserialize)]
13095pub struct SerializedShaderFloatValue {
13096    pub name: Enum_FastPropertyName__String,
13097    pub val: f32,
13098}
13099
13100/// SerializedShaderRTBlendState is a sub class of the Unity engine since version 5.5.0f3.
13101#[derive(Debug, Serialize, Deserialize)]
13102pub struct SerializedShaderRTBlendState {
13103    pub blendOp: SerializedShaderFloatValue,
13104    pub blendOpAlpha: SerializedShaderFloatValue,
13105    pub colMask: SerializedShaderFloatValue,
13106    pub destBlend: SerializedShaderFloatValue,
13107    pub destBlendAlpha: SerializedShaderFloatValue,
13108    pub srcBlend: SerializedShaderFloatValue,
13109    pub srcBlendAlpha: SerializedShaderFloatValue,
13110}
13111
13112/// SerializedShaderState is a sub class of the Unity engine since version 5.5.0f3.
13113#[derive(Debug, Serialize, Deserialize)]
13114pub struct SerializedShaderState {
13115    pub alphaToMask: SerializedShaderFloatValue,
13116    pub culling: SerializedShaderFloatValue,
13117    pub fogColor: SerializedShaderVectorValue,
13118    pub fogDensity: SerializedShaderFloatValue,
13119    pub fogEnd: SerializedShaderFloatValue,
13120    pub fogMode: i32,
13121    pub fogStart: SerializedShaderFloatValue,
13122    pub gpuProgramID: i32,
13123    pub lighting: bool,
13124    pub m_LOD: i32,
13125    pub m_Name: String,
13126    pub m_Tags: SerializedTagMap,
13127    pub offsetFactor: SerializedShaderFloatValue,
13128    pub offsetUnits: SerializedShaderFloatValue,
13129    pub rtBlend0: SerializedShaderRTBlendState,
13130    pub rtBlend1: SerializedShaderRTBlendState,
13131    pub rtBlend2: SerializedShaderRTBlendState,
13132    pub rtBlend3: SerializedShaderRTBlendState,
13133    pub rtBlend4: SerializedShaderRTBlendState,
13134    pub rtBlend5: SerializedShaderRTBlendState,
13135    pub rtBlend6: SerializedShaderRTBlendState,
13136    pub rtBlend7: SerializedShaderRTBlendState,
13137    pub rtSeparateBlend: bool,
13138    pub stencilOp: SerializedStencilOp,
13139    pub stencilOpBack: SerializedStencilOp,
13140    pub stencilOpFront: SerializedStencilOp,
13141    pub stencilReadMask: SerializedShaderFloatValue,
13142    pub stencilRef: SerializedShaderFloatValue,
13143    pub stencilWriteMask: SerializedShaderFloatValue,
13144    pub zTest: SerializedShaderFloatValue,
13145    pub zWrite: SerializedShaderFloatValue,
13146    /// SerializedShaderFloatValue: (2020.1.0b1 - 2022.3.2f1)
13147    pub conservative: Option<SerializedShaderFloatValue>,
13148    /// SerializedShaderFloatValue: (2017.2.0b2 - 2022.3.2f1)
13149    pub zClip: Option<SerializedShaderFloatValue>,
13150}
13151
13152/// SerializedShaderVectorValue is a sub class of the Unity engine since version 5.5.0f3.
13153#[derive(Debug, Serialize, Deserialize)]
13154pub struct SerializedShaderVectorValue {
13155    pub name: Enum_FastPropertyName__String,
13156    pub w: SerializedShaderFloatValue,
13157    pub x: SerializedShaderFloatValue,
13158    pub y: SerializedShaderFloatValue,
13159    pub z: SerializedShaderFloatValue,
13160}
13161
13162/// SerializedStencilOp is a sub class of the Unity engine since version 5.5.0f3.
13163#[derive(Debug, Serialize, Deserialize)]
13164pub struct SerializedStencilOp {
13165    pub comp: SerializedShaderFloatValue,
13166    pub fail: SerializedShaderFloatValue,
13167    pub pass: SerializedShaderFloatValue,
13168    pub zFail: SerializedShaderFloatValue,
13169}
13170
13171/// SerializedSubProgram is a sub class of the Unity engine since version 5.5.0f3.
13172#[derive(Debug, Serialize, Deserialize)]
13173pub struct SerializedSubProgram {
13174    pub m_BlobIndex: u32,
13175    pub m_Channels: ParserBindChannels,
13176    pub m_GpuProgramType: i8,
13177    pub m_ShaderHardwareTier: i8,
13178    /// Vec<BufferBinding>: (5.5.0f3 - 2021.1.0b12)
13179    pub m_BufferParams: Option<Vec<BufferBinding>>,
13180    /// Vec<BufferBinding>: (5.5.0f3 - 2021.1.0b12)
13181    pub m_ConstantBufferBindings: Option<Vec<BufferBinding>>,
13182    /// Vec<ConstantBuffer>: (5.5.0f3 - 2021.1.0b12)
13183    pub m_ConstantBuffers: Option<Vec<ConstantBuffer>>,
13184    /// Vec<u16>: (2019.1.0b1 - 2021.2.0a15)
13185    pub m_GlobalKeywordIndices: Option<Vec<u16>>,
13186    /// Vec<u16>: (5.5.0f3 - 2022.3.2f1)
13187    pub m_KeywordIndices: Option<Vec<u16>>,
13188    /// Vec<u16>: (2019.1.0b1 - 2021.2.0a15)
13189    pub m_LocalKeywordIndices: Option<Vec<u16>>,
13190    /// Vec<MatrixParameter>: (5.5.0f3 - 2021.1.0b12)
13191    pub m_MatrixParams: Option<Vec<MatrixParameter>>,
13192    /// SerializedProgramParameters: (2020.3.2f1 - 2022.3.2f1)
13193    pub m_Parameters: Option<SerializedProgramParameters>,
13194    /// Vec<SamplerParameter>: (2017.1.0b1 - 2021.1.0b12)
13195    pub m_Samplers: Option<Vec<SamplerParameter>>,
13196    /// i32: (2017.2.0b2 - 2020.3.48f1); i64: (2021.1.0b1 - 2022.3.2f1)
13197    pub m_ShaderRequirements: Option<i64>,
13198    /// Vec<TextureParameter>: (5.5.0f3 - 2021.1.0b12)
13199    pub m_TextureParams: Option<Vec<TextureParameter>>,
13200    /// Vec<UAVParameter>: (5.5.0f3 - 2021.1.0b12)
13201    pub m_UAVParams: Option<Vec<UAVParameter>>,
13202    /// Vec<VectorParameter>: (5.5.0f3 - 2021.1.0b12)
13203    pub m_VectorParams: Option<Vec<VectorParameter>>,
13204}
13205
13206/// SerializedSubShader is a sub class of the Unity engine since version 5.5.0f3.
13207#[derive(Debug, Serialize, Deserialize)]
13208pub struct SerializedSubShader {
13209    pub m_LOD: i32,
13210    pub m_Passes: Vec<SerializedPass>,
13211    pub m_Tags: SerializedTagMap,
13212}
13213
13214/// SerializedTagMap is a sub class of the Unity engine since version 5.5.0f3.
13215#[derive(Debug, Serialize, Deserialize)]
13216pub struct SerializedTagMap {
13217    pub tags: Vec<(String, String)>,
13218}
13219
13220/// SerializedTextureProperty is a sub class of the Unity engine since version 5.5.0f3.
13221#[derive(Debug, Serialize, Deserialize)]
13222pub struct SerializedTextureProperty {
13223    pub m_DefaultName: String,
13224    pub m_TexDim: i32,
13225}
13226
13227/// Shader is a  class of the Unity engine since version 3.4.0.
13228/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Shader.html):
13229/**
13230Shader scripts used for all rendering.
13231Most of the advanced rendering is controlled via Material class. Shader class is mostly
13232
13233used just to check whether a shader can run on the user's hardware (isSupported property), setting up
13234
13235global shader properties and keywords, and finding shaders by name (Find method).See Also: Material class, Materials, ShaderLab documentation.
13236*/
13237#[derive(Debug, Serialize, Deserialize)]
13238pub struct Shader {
13239    /**The name of the object.*/
13240    pub m_Name: String,
13241    /// Vec<u8>: (5.5.0f3 - 2022.3.2f1)
13242    pub compressedBlob: Option<Vec<u8>>,
13243    /// Vec<u32>: (5.5.0f3 - 2019.3.0a12); Vec<Vec<u32>>: (2019.3.0b1 - 2022.3.2f1)
13244    pub compressedLengths: Option<Vec<Enum_u32__Vec_u32>>,
13245    /// Vec<u32>: (5.5.0f3 - 2019.3.0a12); Vec<Vec<u32>>: (2019.3.0b1 - 2022.3.2f1)
13246    pub decompressedLengths: Option<Vec<Enum_u32__Vec_u32>>,
13247    /// u32: (5.3.0f1 - 5.4.6f3)
13248    pub decompressedSize: Option<u32>,
13249    /// Vec<PPtr<[`Shader`]>>: (4.0.0 - 2022.3.2f1)
13250    pub m_Dependencies: Option<Vec<PPtr>>,
13251    /// Vec<(String, PPtr<[`Texture`]>)>: (2018.1.0b2 - 2022.3.2f1)
13252    pub m_NonModifiableTextures: Option<Vec<(String, PPtr)>>,
13253    /// SerializedShader: (5.5.0f3 - 2022.3.2f1)
13254    pub m_ParsedForm: Option<SerializedShader>,
13255    /// String: (3.4.0 - 5.4.6f3)
13256    pub m_PathName: Option<String>,
13257    /// String: (3.4.0 - 5.4.6f3)
13258    pub m_Script: Option<String>,
13259    /// bool: (4.0.0 - 2022.3.2f1)
13260    pub m_ShaderIsBaked: Option<bool>,
13261    /// Vec<u8>: (5.3.0f1 - 5.4.6f3)
13262    pub m_SubProgramBlob: Option<Vec<u8>>,
13263    /// Vec<u32>: (5.5.0f3 - 2019.3.0a12); Vec<Vec<u32>>: (2019.3.0b1 - 2022.3.2f1)
13264    pub offsets: Option<Vec<Enum_u32__Vec_u32>>,
13265    /// Vec<u32>: (5.5.0f3 - 2022.3.2f1)
13266    pub platforms: Option<Vec<u32>>,
13267    /// Vec<u32>: (2021.3.12f1 - 2022.3.2f1)
13268    pub stageCounts: Option<Vec<u32>>,
13269}
13270
13271#[derive(Debug, Serialize, Deserialize)]
13272#[serde(untagged)]
13273pub enum Enum_u32__Vec_u32 {
13274    u32(u32),
13275    Vec(Vec<u32>),
13276}
13277
13278/// ShaderBindChannel is a sub class of the Unity engine since version 5.5.0f3.
13279#[derive(Debug, Serialize, Deserialize)]
13280pub struct ShaderBindChannel {
13281    pub source: i8,
13282    pub target: i8,
13283}
13284
13285/// ShaderContainer is a  class of the Unity engine since version 2022.2.0b1.
13286#[derive(Debug, Serialize, Deserialize)]
13287pub struct ShaderContainer {}
13288
13289/// ShaderImporter is a  class of the Unity engine since version 4.0.0.
13290/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ShaderImporter.html):
13291/**
13292Shader importer lets you modify shader import settings from Editor scripts.
13293*/
13294#[derive(Debug, Serialize, Deserialize)]
13295pub struct ShaderImporter {
13296    /**The name of the object.*/
13297    pub m_Name: String,
13298    /**Get or set any user data.*/
13299    pub m_UserData: String,
13300    /**Get or set the AssetBundle name.*/
13301    /// String: (5.0.0f4 - 2022.3.2f1)
13302    pub m_AssetBundleName: Option<String>,
13303    /**Get or set the AssetBundle variant.*/
13304    /// String: (5.0.0f4 - 2022.3.2f1)
13305    pub m_AssetBundleVariant: Option<String>,
13306    /// Vec<(String, PPtr<[`Texture`]>)>: (4.2.0 - 2022.3.2f1)
13307    pub m_DefaultTextures: Option<Vec<(String, PPtr)>>,
13308    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
13309    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
13310    /// Vec<(String, PPtr<[`Texture`]>)>: (2018.1.0b2 - 2022.3.2f1)
13311    pub m_NonModifiableTextures: Option<Vec<(String, PPtr)>>,
13312    /**This property has no effect.*/
13313    /// i32: (2020.2.0b1 - 2022.1.0a9)
13314    pub m_PreprocessorOverride: Option<i32>,
13315    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
13316    pub m_UsedFileIDs: Option<Vec<i64>>,
13317}
13318
13319/// ShaderIncludeImporter is a  class of the Unity engine since version 2021.2.0b1.
13320#[derive(Debug, Serialize, Deserialize)]
13321pub struct ShaderIncludeImporter {
13322    pub m_AssetBundleName: String,
13323    pub m_AssetBundleVariant: String,
13324    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2021.2.0b1 - 2022.3.2f1)
13325    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
13326    pub m_Name: String,
13327    pub m_UsedFileIDs: Vec<i64>,
13328    pub m_UserData: String,
13329}
13330
13331/// ShaderInfo is a sub class of the Unity engine since version 5.0.0f4.
13332/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ShaderInfo.html):
13333/**
13334Contains the following information about a shader:
13335-If the shader has compilation errors or warnings.
13336-If the shader is supported on the currently selected platform.
13337-The name of the shader.
13338*/
13339#[derive(Debug, Serialize, Deserialize)]
13340pub struct ShaderInfo {
13341    pub variants: Vec<VariantInfo>,
13342}
13343
13344/// ShaderNameRegistry is a  class of the Unity engine since version 2021.1.0b1.
13345#[derive(Debug, Serialize, Deserialize)]
13346pub struct ShaderNameRegistry {
13347    pub m_PreloadShaders: bool,
13348    pub m_Shaders: NameToObjectMap,
13349}
13350
13351/// ShaderVariantCollection is a  class of the Unity engine since version 5.0.0f4.
13352/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ShaderVariantCollection.html):
13353/**
13354ShaderVariantCollection records which shader variants are actually used in each shader.
13355This is used for shader preloading ("warmup"), so that a game can make sure "actually required"
13356shader variants are loaded at startup (or level load time), to avoid shader compilation related hiccups later on in the game.In Unity, many shaders internally have multiple "variants", to account for different light modes, lightmaps, shadows and so on. These variants are identified by a shader pass type, and a set of shader keywords. See ShaderVariant.Typical use of ShaderVariantCollection is to record the shader variants used during a play session from the editor (under Graphics Settings), save them out as an asset, and add to the list of preloaded shaders (again in Graphics Settings). Additionally, you could call WarmUp on a ShaderVariantCollection object manually.ShaderVariantCollection generally replaces the old Shader.WarmupAllShaders function.
13357*/
13358#[derive(Debug, Serialize, Deserialize)]
13359pub struct ShaderVariantCollection {
13360    /**The name of the object.*/
13361    pub m_Name: String,
13362    /// Vec<(PPtr<[`Shader`]>, ShaderInfo)>: (5.0.0f4 - 2022.3.2f1)
13363    pub m_Shaders: Vec<(PPtr, ShaderInfo)>,
13364}
13365
13366/// ShadowSettings is a sub class of the Unity engine since version 3.4.0.
13367#[derive(Debug, Serialize, Deserialize)]
13368pub struct ShadowSettings {
13369    pub m_Bias: f32,
13370    pub m_Resolution: i32,
13371    pub m_Strength: f32,
13372    pub m_Type: i32,
13373    /// Matrix4x4f: (2019.1.0f2 - 2022.3.2f1)
13374    pub m_CullingMatrixOverride: Option<Matrix4x4f>,
13375    /// i32: (5.4.0f3 - 2022.3.2f1)
13376    pub m_CustomResolution: Option<i32>,
13377    /// f32: (5.3.0f1 - 2022.3.2f1)
13378    pub m_NearPlane: Option<f32>,
13379    /// f32: (5.0.0f4 - 2022.3.2f1)
13380    pub m_NormalBias: Option<f32>,
13381    /// f32: (3.4.0 - 4.7.2)
13382    pub m_Softness: Option<f32>,
13383    /// f32: (3.4.0 - 4.7.2)
13384    pub m_SoftnessFade: Option<f32>,
13385    /// bool: (2019.1.0f2 - 2022.3.2f1)
13386    pub m_UseCullingMatrixOverride: Option<bool>,
13387}
13388
13389/// ShapeModule is a sub class of the Unity engine since version 3.5.0.
13390/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.ShapeModule.html):
13391/**
13392Script interface for the ShapeModule.
13393Configures the initial positions and directions of particles.See Also: ParticleSystem, ParticleSystem.shape.
13394*/
13395#[derive(Debug, Serialize, Deserialize)]
13396pub struct ShapeModule {
13397    /**Angle of the cone to emit particles from.*/
13398    pub angle: f32,
13399    /**Specifies whether the ShapeModule is enabled or disabled.*/
13400    pub enabled: bool,
13401    /**Mesh to emit particles from.*/
13402    /// PPtr<[`Mesh`]>: (3.5.0 - 2022.3.2f1)
13403    pub m_Mesh: PPtr,
13404    pub placementMode: i32,
13405    /**Radius of the shape to emit particles from.*/
13406    pub radius: Enum_f32__MultiModeParameter,
13407    /// i32: (3.5.0 - 2022.3.2f1)
13408    #[serde(alias = "type")]
13409    pub _type: Option<i32>,
13410    /**Align particles based on their initial direction of travel.*/
13411    /// bool: (5.5.0f3 - 2022.3.2f1)
13412    pub alignToDirection: Option<bool>,
13413    /**Angle of the circle arc to emit particles from.*/
13414    /// f32: (5.0.0f4 - 5.6.0b4); MultiModeParameter: (5.6.0f1 - 2022.3.2f1)
13415    pub arc: Option<Enum_f32__MultiModeParameter>,
13416    /**Thickness of the box to emit particles from.*/
13417    /// Vector3f: (2017.1.0b2 - 2022.3.2f1)
13418    pub boxThickness: Option<Vector3f>,
13419    /// f32: (3.5.0 - 2017.1.0b1)
13420    pub boxX: Option<f32>,
13421    /// f32: (3.5.0 - 2017.1.0b1)
13422    pub boxY: Option<f32>,
13423    /// f32: (3.5.0 - 2017.1.0b1)
13424    pub boxZ: Option<f32>,
13425    /**The thickness of the Donut shape to emit particles from.*/
13426    /// f32: (2017.1.0b2 - 2022.3.2f1)
13427    pub donutRadius: Option<f32>,
13428    /**Length of the cone to emit particles from.*/
13429    /// f32: (4.0.0 - 2022.3.2f1)
13430    pub length: Option<f32>,
13431    /**Emit particles from a single Material of a Mesh.*/
13432    /// i32: (5.3.0f1 - 2022.3.2f1)
13433    pub m_MeshMaterialIndex: Option<i32>,
13434    /// f32: (5.3.0f1 - 2022.3.2f1)
13435    pub m_MeshNormalOffset: Option<f32>,
13436    /**MeshRenderer to emit particles from.*/
13437    /// PPtr<[`MeshRenderer`]>: (5.3.0f1 - 2022.3.2f1)
13438    pub m_MeshRenderer: Option<PPtr>,
13439    /// f32: (5.5.0f3 - 2017.1.0b1)
13440    pub m_MeshScale: Option<f32>,
13441    /// MultiModeParameter: (2018.3.0f2 - 2022.3.2f1)
13442    pub m_MeshSpawn: Option<MultiModeParameter>,
13443    /**Apply an offset to the position from which the system emits particles.*/
13444    /// Vector3f: (2017.1.0b2 - 2022.3.2f1)
13445    pub m_Position: Option<Vector3f>,
13446    /**Apply a rotation to the shape from which the system emits particles.*/
13447    /// Vector3f: (2017.1.0b2 - 2022.3.2f1)
13448    pub m_Rotation: Option<Vector3f>,
13449    /**Apply scale to the shape from which the system emits particles.*/
13450    /// Vector3f: (2017.1.0b2 - 2022.3.2f1)
13451    pub m_Scale: Option<Vector3f>,
13452    /**SkinnedMeshRenderer to emit particles from.*/
13453    /// PPtr<[`SkinnedMeshRenderer`]>: (5.3.0f1 - 2022.3.2f1)
13454    pub m_SkinnedMeshRenderer: Option<PPtr>,
13455    /**Sprite to emit particles from.*/
13456    /// PPtr<[`Sprite`]>: (2018.2.0b1 - 2022.3.2f1)
13457    pub m_Sprite: Option<PPtr>,
13458    /**SpriteRenderer to emit particles from.*/
13459    /// PPtr<[`SpriteRenderer`]>: (2018.2.0b1 - 2022.3.2f1)
13460    pub m_SpriteRenderer: Option<PPtr>,
13461    /**Specifies a Texture to tint the particle's start colors.*/
13462    /// PPtr<[`Texture2D`]>: (2018.1.0b2 - 2022.3.2f1)
13463    pub m_Texture: Option<PPtr>,
13464    /**When enabled, the system applies the alpha channel of the Texture to the particle alpha when the particle spawns.*/
13465    /// bool: (2018.1.0b2 - 2022.3.2f1)
13466    pub m_TextureAlphaAffectsParticles: Option<bool>,
13467    /**When enabled, the system takes four neighboring samples from the Texture then combines them to give the final particle value.*/
13468    /// bool: (2018.1.0b2 - 2022.3.2f1)
13469    pub m_TextureBilinearFiltering: Option<bool>,
13470    /**Selects which channel of the Texture to use for discarding particles.*/
13471    /// i32: (2018.1.0b2 - 2022.3.2f1)
13472    pub m_TextureClipChannel: Option<i32>,
13473    /**Discards particles when they spawn on an area of the Texture with a value lower than this threshold.*/
13474    /// f32: (2018.1.0b2 - 2022.3.2f1)
13475    pub m_TextureClipThreshold: Option<f32>,
13476    /**When enabled, the system applies the RGB channels of the Texture to the particle color when the particle spawns.*/
13477    /// bool: (2018.1.0b2 - 2022.3.2f1)
13478    pub m_TextureColorAffectsParticles: Option<bool>,
13479    /**When using a Mesh as a source shape type, this option controls which UV channel on the Mesh to use for reading the source Texture.*/
13480    /// i32: (2018.1.0b2 - 2022.3.2f1)
13481    pub m_TextureUVChannel: Option<i32>,
13482    /**Modulate the particle colors with the vertex colors, or the Material color if no vertex colors exist.*/
13483    /// bool: (5.3.0f1 - 2022.3.2f1)
13484    pub m_UseMeshColors: Option<bool>,
13485    /**Emit particles from a single Material, or the whole Mesh.*/
13486    /// bool: (5.3.0f1 - 2022.3.2f1)
13487    pub m_UseMeshMaterialIndex: Option<bool>,
13488    /**Radius thickness of the shape's edge from which to emit particles.*/
13489    /// f32: (2017.1.0b2 - 2022.3.2f1)
13490    pub radiusThickness: Option<f32>,
13491    /// bool: (3.5.0 - 5.4.6f3)
13492    pub randomDirection: Option<bool>,
13493    /**Randomizes the starting direction of particles.*/
13494    /// f32: (5.5.0f3 - 2022.3.2f1)
13495    pub randomDirectionAmount: Option<f32>,
13496    /**Randomizes the starting position of particles.*/
13497    /// f32: (2017.1.0b2 - 2022.3.2f1)
13498    pub randomPositionAmount: Option<f32>,
13499    /**Makes particles move in a spherical direction from their starting point.*/
13500    /// f32: (5.5.0f3 - 2022.3.2f1)
13501    pub sphericalDirectionAmount: Option<f32>,
13502}
13503
13504#[derive(Debug, Serialize, Deserialize)]
13505#[serde(untagged)]
13506pub enum Enum_f32__MultiModeParameter {
13507    f32(f32),
13508    MultiModeParameter(MultiModeParameter),
13509}
13510
13511/// SiblingDerived is a  class of the Unity engine since version 2019.1.0b1.
13512#[derive(Debug, Serialize, Deserialize)]
13513pub struct SiblingDerived {}
13514
13515/// SizeBySpeedModule is a sub class of the Unity engine since version 3.5.0.
13516/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.SizeBySpeedModule.html):
13517/**
13518Script interface for the SizeBySpeedModule.
13519This module controls the size of particles based on their speeds.See Also: ParticleSystem, ParticleSystem.sizeBySpeed.
13520*/
13521#[derive(Debug, Serialize, Deserialize)]
13522pub struct SizeBySpeedModule {
13523    pub curve: MinMaxCurve,
13524    /**Specifies whether the SizeBySpeedModule is enabled or disabled.*/
13525    pub enabled: bool,
13526    /**Set the minimum and maximum speed that this modules applies the size curve between.*/
13527    pub range: Vector2f,
13528    /**Set the size by speed on each axis separately.*/
13529    /// bool: (5.4.0f3 - 2022.3.2f1)
13530    pub separateAxes: Option<bool>,
13531    /**Size by speed curve for the y-axis.*/
13532    /// MinMaxCurve: (5.4.0f3 - 2022.3.2f1)
13533    pub y: Option<MinMaxCurve>,
13534    /**Size by speed curve for the z-axis.*/
13535    /// MinMaxCurve: (5.4.0f3 - 2022.3.2f1)
13536    pub z: Option<MinMaxCurve>,
13537}
13538
13539/// SizeModule is a sub class of the Unity engine since version 3.5.0.
13540#[derive(Debug, Serialize, Deserialize)]
13541pub struct SizeModule {
13542    pub curve: MinMaxCurve,
13543    pub enabled: bool,
13544    /// bool: (5.4.0f3 - 2022.3.2f1)
13545    pub separateAxes: Option<bool>,
13546    /// MinMaxCurve: (5.4.0f3 - 2022.3.2f1)
13547    pub y: Option<MinMaxCurve>,
13548    /// MinMaxCurve: (5.4.0f3 - 2022.3.2f1)
13549    pub z: Option<MinMaxCurve>,
13550}
13551
13552/// SkeletonBone is a sub class of the Unity engine since version 4.0.0.
13553/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SkeletonBone.html):
13554/**
13555Details of the Transform name mapped to the skeleton bone of a model and its default position and rotation in the T-pose.
13556The skeleton models used in Unity have multiple bones.  The SkeletonBone struct has properties that are used to describe the position, rotation and scale of each bone.  The bones are not shown.  A MonoBehaviour.OnDrawGizmosSelected tool can be created to view the skeleton. An array of SkeletonBone positions can be used to make a line model using Gizmos.DrawLine.An array of SkeletonBones are used in HumanDescription.skeleton.
13557*/
13558#[derive(Debug, Serialize, Deserialize)]
13559pub struct SkeletonBone {
13560    /**The name of the Transform mapped to the bone.*/
13561    pub m_Name: String,
13562    /**The T-pose position of the bone in local space.*/
13563    pub m_Position: Vector3f,
13564    /**The T-pose rotation of the bone in local space.*/
13565    pub m_Rotation: Quaternionf,
13566    /**The T-pose scaling of the bone in local space.*/
13567    pub m_Scale: Vector3f,
13568    /// String: (5.5.0f3 - 2022.3.2f1)
13569    pub m_ParentName: Option<String>,
13570    /// bool: (4.0.0 - 5.4.6f3)
13571    pub m_TransformModified: Option<bool>,
13572}
13573
13574/// SkeletonBoneLimit is a sub class of the Unity engine since version 4.0.0.
13575#[derive(Debug, Serialize, Deserialize)]
13576pub struct SkeletonBoneLimit {
13577    pub m_Length: f32,
13578    pub m_Max: Vector3f,
13579    pub m_Min: Vector3f,
13580    pub m_Modified: bool,
13581    pub m_Value: Vector3f,
13582    /// Quaternionf: (4.0.0 - 4.2.2)
13583    pub m_PostQ: Option<Quaternionf>,
13584    /// Quaternionf: (4.0.0 - 4.2.2)
13585    pub m_PreQ: Option<Quaternionf>,
13586}
13587
13588/// SketchUpImportCamera is a sub class of the Unity engine since version 5.1.0f1.
13589/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SketchUpImportCamera.html):
13590/**
13591Structure to hold camera data extracted from a SketchUp file.
13592When importing a SketchUp file, Unity retrieves the current camera view the file is saved with and the camera view of all the scenes in the SketchUp file. The camera data of each Scene is stored in SketchUpImportSceneThis can be extracted later from SketchUpImporter.
13593*/
13594#[derive(Debug, Serialize, Deserialize)]
13595pub struct SketchUpImportCamera {
13596    /**Aspect ratio of the camera.*/
13597    pub aspectRatio: f32,
13598    pub fov: f32,
13599    /**Indicate if the camera is using a perspective or orthogonal projection.*/
13600    pub isPerspective: i32,
13601    /**The position the camera is looking at.*/
13602    pub lookAt: Vector3f,
13603    /**The orthogonal projection size of the camera. This value only make sense if SketchUpImportCamera.isPerspective is false.*/
13604    pub orthoSize: f32,
13605    /**The position of the camera.*/
13606    pub position: Vector3f,
13607    /**Up vector of the camera.*/
13608    pub up: Vector3f,
13609    /**The near clipping plane distance.*/
13610    /// f32: (2019.1.0b1 - 2022.3.2f1)
13611    pub farPlane: Option<f32>,
13612    /**The far clipping plane distance.*/
13613    /// f32: (2019.1.0b1 - 2022.3.2f1)
13614    pub nearPlane: Option<f32>,
13615}
13616
13617/// SketchUpImportData is a sub class of the Unity engine since version 5.1.0f1.
13618#[derive(Debug, Serialize, Deserialize)]
13619pub struct SketchUpImportData {
13620    pub defaultCamera: SketchUpImportCamera,
13621    pub scenes: Vec<SketchUpImportScene>,
13622}
13623
13624/// SketchUpImportScene is a sub class of the Unity engine since version 5.1.0f1.
13625/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SketchUpImportScene.html):
13626/**
13627Structure to hold scene data extracted from a SketchUp file.
13628When importing a SketchUp file, Unity retrieves all the scenes in the SketchUp file.This can be extracted later from SketchUpImporter with SketchUpImporter.GetScenes.
13629*/
13630#[derive(Debug, Serialize, Deserialize)]
13631pub struct SketchUpImportScene {
13632    /**The camera data of the SketchUp scene.*/
13633    pub camera: SketchUpImportCamera,
13634    /**The name of the SketchUp scene.*/
13635    pub name: String,
13636}
13637
13638/// SketchUpImporter is a  class of the Unity engine since version 5.1.0f1.
13639/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SketchUpImporter.html):
13640/**
13641Derives from AssetImporter to handle importing of SketchUp files.
13642From the SketchUpImporter, you can access certain properties that are extracted from the SketchUp file.The following is an example of showing the geo coordinate extracted from the SketchUp file.
13643*/
13644#[derive(Debug, Serialize, Deserialize)]
13645pub struct SketchUpImporter {
13646    /**Generate secondary UV set for lightmapping.*/
13647    pub generateSecondaryUV: bool,
13648    /**If this is true, any quad faces that exist in the mesh data before it is imported are kept as quads instead of being split into two triangles, for the purposes of tessellation. Set this to false to disable this behavior.*/
13649    pub keepQuads: bool,
13650    pub m_AddColliders: bool,
13651    pub m_AdditionalBone: bool,
13652    /**Animation compression setting.*/
13653    pub m_AnimationCompression: i32,
13654    pub m_AnimationDoRetargetingWarnings: bool,
13655    pub m_AnimationImportErrors: String,
13656    pub m_AnimationImportWarnings: String,
13657    /**Allowed error of animation position compression.*/
13658    pub m_AnimationPositionError: f32,
13659    pub m_AnimationRetargetingWarnings: String,
13660    /**Allowed error of animation rotation compression.*/
13661    pub m_AnimationRotationError: f32,
13662    /**Allowed error of animation scale compression.*/
13663    pub m_AnimationScaleError: f32,
13664    /**Animator generation mode.*/
13665    pub m_AnimationType: i32,
13666    /**The default wrap mode for the generated animation clips.*/
13667    pub m_AnimationWrapMode: i32,
13668    /**Get or set the AssetBundle name.*/
13669    pub m_AssetBundleName: String,
13670    /**Get or set the AssetBundle variant.*/
13671    pub m_AssetBundleVariant: String,
13672    pub m_AssetHash: Hash128,
13673    pub m_BakeSimulation: bool,
13674    /**Animation clips to split animation into. See Also: ModelImporterClipAnimation.*/
13675    pub m_ClipAnimations: Vec<ClipAnimationInfo>,
13676    /**Animation optimization setting.*/
13677    pub m_ExtraExposedTransformPaths: Vec<String>,
13678    /**Scaling factor used when useFileScale is set to true (Read-only).*/
13679    pub m_FileScale: f32,
13680    pub m_FileUnit: i32,
13681    pub m_GenerateBackFace: bool,
13682    /**Global scale factor for importing.*/
13683    pub m_GlobalScale: f32,
13684    pub m_HasExtraRoot: bool,
13685    /**The human description that is used to generate an Avatar during the import process.*/
13686    pub m_HumanDescription: HumanDescription,
13687    /**Import animation from file.*/
13688    pub m_ImportAnimation: bool,
13689    /**Controls import of BlendShapes.*/
13690    pub m_ImportBlendShapes: bool,
13691    /// Vec<PPtr<[`GameObject`]>>: (5.1.0f1 - 2022.3.2f1)
13692    pub m_ImportedRoots: Vec<PPtr>,
13693    /**Generates the list of all imported take.*/
13694    pub m_ImportedTakeInfos: Vec<TakeInfo>,
13695    /**Are mesh vertices and indices accessible from script?*/
13696    pub m_IsReadable: bool,
13697    pub m_LODScreenPercentages: Vec<f32>,
13698    /// PPtr<[`Avatar`]>: (5.1.0f1 - 2022.3.2f1)
13699    pub m_LastHumanDescriptionAvatarSource: PPtr,
13700    /**Retrieves the latitude Geo Coordinate imported from the SketchUp file.*/
13701    pub m_Latitude: f64,
13702    pub m_LegacyGenerateAnimations: i32,
13703    /**Retrieves the longitude Geo Coordinate imported from the SketchUp file.*/
13704    pub m_Longitude: f64,
13705    /**Material naming setting.*/
13706    pub m_MaterialName: i32,
13707    /**Existing material search setting.*/
13708    pub m_MaterialSearch: i32,
13709    pub m_MergeCoplanarFaces: bool,
13710    /**Mesh compression setting.*/
13711    pub m_MeshCompression: i32,
13712    /**The path of the transform used to generation the motion of the animation.*/
13713    pub m_MotionNodeName: String,
13714    /**The name of the object.*/
13715    pub m_Name: String,
13716    /**Retrieves the north correction value imported from the SketchUp file.*/
13717    pub m_NorthCorrection: f64,
13718    /**Animation optimization setting.*/
13719    pub m_OptimizeGameObjects: bool,
13720    /**Generates the list of all imported Animations.*/
13721    pub m_ReferencedClips: Vec<GUID>,
13722    pub m_SelectedNodes: Vec<i32>,
13723    pub m_SketchUpImportData: SketchUpImportData,
13724    /**Use FileScale when importing.*/
13725    pub m_UseFileScale: bool,
13726    /**Detect file units and import as 1FileUnit=1UnityUnit, otherwise it will import as 1cm=1UnityUnit.*/
13727    pub m_UseFileUnits: bool,
13728    /**Get or set any user data.*/
13729    pub m_UserData: String,
13730    pub normalImportMode: i32,
13731    pub normalSmoothAngle: f32,
13732    /**Threshold for angle distortion (in degrees) when generating secondary UV.*/
13733    pub secondaryUVAngleDistortion: f32,
13734    /**Threshold for area distortion when generating secondary UV.*/
13735    pub secondaryUVAreaDistortion: f32,
13736    /**Hard angle (in degrees) for generating secondary UV.*/
13737    pub secondaryUVHardAngle: f32,
13738    /**Margin to be left between charts when packing secondary UV.*/
13739    pub secondaryUVPackMargin: f32,
13740    /**Swap primary and secondary UV channels when importing.*/
13741    pub swapUVChannels: bool,
13742    pub tangentImportMode: i32,
13743    /**Combine vertices that share the same position in space.*/
13744    pub weldVertices: bool,
13745    /**Computes the axis conversion on geometry and animation for Models defined in an axis system that differs from Unity's (left handed, Z forward, Y-up).                     When enabled, Unity transforms the geometry and animation data in order to convert the axis.                     When disabled, Unity transforms the root GameObject of the hierarchy in order to convert the axis.*/
13746    /// bool: (2020.1.0b1 - 2022.3.2f1)
13747    pub bakeAxisConversion: Option<bool>,
13748    /// i32: (2018.3.0f2 - 2022.3.2f1)
13749    pub blendShapeNormalImportMode: Option<i32>,
13750    /**Format of the imported mesh index buffer data.*/
13751    /// i32: (2017.3.0b1 - 2022.3.2f1)
13752    pub indexFormat: Option<i32>,
13753    /// bool: (2018.3.0f2 - 2022.3.2f1)
13754    pub legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: Option<bool>,
13755    /// bool: (2020.2.0f1 - 2022.3.2f1)
13756    pub m_AddHumanoidExtraRootOnlyWhenUsingAvatar: Option<bool>,
13757    /**Generate auto mapping if no avatarSetup is provided when importing humanoid animation.*/
13758    /// bool: (2019.3.0f1 - 2022.3.2f1)
13759    pub m_AutoGenerateAvatarMappingIfUnspecified: Option<bool>,
13760    /// bool: (2017.2.0b2 - 2017.2.0b6)
13761    pub m_AutoMapExternalMaterials: Option<bool>,
13762    /**The Avatar generation of the imported model.*/
13763    /// i32: (2019.3.0b1 - 2022.3.2f1)
13764    pub m_AvatarSetup: Option<i32>,
13765    /// bool: (5.1.0f1 - 2019.3.0a2)
13766    pub m_CopyAvatar: Option<bool>,
13767    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
13768    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
13769    /**A list of default FBX properties to treat as user properties during OnPostprocessGameObjectWithUserProperties.*/
13770    /// Vec<String>: (2017.1.0f2 - 2022.3.2f1)
13771    pub m_ExtraUserProperties: Option<Vec<String>>,
13772    /// Vec<(i64, String)>: (5.1.0f1 - 2018.4.36f1)
13773    pub m_FileIDToRecycleName: Option<Vec<(i64, String)>>,
13774    /// i32: (2019.4.0f1 - 2022.3.2f1)
13775    pub m_FileIdsGeneration: Option<i32>,
13776    /// f32: (2018.3.0f2 - 2022.3.2f1)
13777    pub m_FileScaleFactor: Option<f32>,
13778    /// String: (2018.3.0f2 - 2022.3.2f1)
13779    pub m_FileScaleUnit: Option<String>,
13780    /// bool: (2017.2.0b2 - 2022.3.2f1)
13781    pub m_HasEmbeddedTextures: Option<bool>,
13782    /// bool: (2018.2.0b1 - 2019.1.0a13)
13783    pub m_HasPreviousCalculatedGlobalScale: Option<bool>,
13784    /**Controls how much oversampling is used when importing humanoid animations for retargeting.*/
13785    /// i32: (5.2.0f2 - 2022.3.2f1)
13786    pub m_HumanoidOversampling: Option<i32>,
13787    /**Import animated custom properties from file.*/
13788    /// bool: (2017.2.0b2 - 2022.3.2f1)
13789    pub m_ImportAnimatedCustomProperties: Option<bool>,
13790    /**Import BlendShapes deform percent.*/
13791    /// bool: (2022.1.0b1 - 2022.3.2f1)
13792    pub m_ImportBlendShapeDeformPercent: Option<bool>,
13793    /**Controls import of cameras. Basic properties like field of view, near plane distance and far plane distance can be animated.*/
13794    /// bool: (2017.1.0b1 - 2022.3.2f1)
13795    pub m_ImportCameras: Option<bool>,
13796    /**Import animation constraints.*/
13797    /// bool: (2018.1.0b2 - 2022.3.2f1)
13798    pub m_ImportConstraints: Option<bool>,
13799    /**Controls import of lights. Note that because light are defined differently in DCC tools, some light types or properties may not be exported. Basic properties like color and intensity can be animated.*/
13800    /// bool: (2017.1.0b1 - 2022.3.2f1)
13801    pub m_ImportLights: Option<bool>,
13802    /// bool: (5.1.0f1 - 2019.3.0a6)
13803    pub m_ImportMaterials: Option<bool>,
13804    /// bool: (2022.2.19f1 - 2022.3.2f1)
13805    pub m_ImportPhysicalCameras: Option<bool>,
13806    /**Use visibility properties to enable or disable MeshRenderer components.*/
13807    /// bool: (2017.1.0b1 - 2022.3.2f1)
13808    pub m_ImportVisibility: Option<bool>,
13809    /// Vec<((i32, i64), String)>: (2019.1.0b1 - 2022.3.2f1)
13810    pub m_InternalIDToNameTable: Option<Vec<((i32, i64), String)>>,
13811    /**Material creation options.*/
13812    /// i32: (2019.3.0b1 - 2022.3.2f1)
13813    pub m_MaterialImportMode: Option<i32>,
13814    /**Material import location options.*/
13815    /// i32: (2017.2.0b2 - 2022.3.2f1)
13816    pub m_MaterialLocation: Option<i32>,
13817    /// Vec<SourceAssetIdentifier>: (2017.2.0b2 - 2022.3.2f1)
13818    pub m_Materials: Option<Vec<SourceAssetIdentifier>>,
13819    /// i32: (2021.2.0b1 - 2022.3.2f1)
13820    pub m_NodeNameCollisionStrategy: Option<i32>,
13821    /**If true, always create an explicit Prefab root. Otherwise, if the model has a single root, it is reused as the Prefab root.*/
13822    /// bool: (2017.3.0b1 - 2022.3.2f1)
13823    pub m_PreserveHierarchy: Option<bool>,
13824    /// f32: (2018.2.0b1 - 2019.1.0a13)
13825    pub m_PreviousCalculatedGlobalScale: Option<f32>,
13826    /// bool: (2020.3.37f1 - 2022.3.2f1)
13827    pub m_RemapMaterialsIfMaterialImportModeIsNone: Option<bool>,
13828    /**Removes constant animation curves with values identical to the object initial scale value.*/
13829    /// bool: (2021.2.0b1 - 2022.3.2f1)
13830    pub m_RemoveConstantScaleCurves: Option<bool>,
13831    /**If set to false, the importer will not resample curves when possible.Read more about animation curve resampling.Notes:- Some unsupported FBX features (such as PreRotation or PostRotation on transforms) will override this setting. In these situations, animation curves will still be resampled even if the setting is disabled. For best results, avoid using PreRotation, PostRotation and GetRotationPivot.- This option was introduced in Version 5.3. Prior to this version, Unity's import behaviour was as if this option was always enabled. Therefore enabling the option gives the same behaviour as pre-5.3 animation import.*/
13832    /// bool: (5.4.0f3 - 2022.3.2f1)
13833    pub m_ResampleCurves: Option<bool>,
13834    /// bool: (5.3.0f1 - 5.3.8f2)
13835    pub m_ResampleRotations: Option<bool>,
13836    /// String: (5.6.0b1 - 2022.3.2f1)
13837    pub m_RigImportErrors: Option<String>,
13838    /// String: (5.6.0b1 - 2022.3.2f1)
13839    pub m_RigImportWarnings: Option<String>,
13840    /**Sorts the gameObject hierarchy by name.*/
13841    /// bool: (2019.2.0b1 - 2022.3.2f1)
13842    pub m_SortHierarchyByName: Option<bool>,
13843    /**Enables strict checks on imported vertex data.*/
13844    /// bool: (2022.1.0b1 - 2022.3.2f1)
13845    pub m_StrictVertexDataChecks: Option<bool>,
13846    /// bool: (2017.2.0f2 - 2022.3.2f1)
13847    pub m_SupportsEmbeddedMaterials: Option<bool>,
13848    /**When disabled, imported material albedo colors are converted to gamma space. This property should be disabled when using linear color space in Player rendering settings.The default value is true.*/
13849    /// bool: (2018.3.0f2 - 2022.3.2f1)
13850    pub m_UseSRGBMaterialColor: Option<bool>,
13851    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
13852    pub m_UsedFileIDs: Option<Vec<i64>>,
13853    /**The maximum number of bones per vertex stored in this mesh data.*/
13854    /// i32: (2019.1.0b1 - 2022.3.2f1)
13855    pub maxBonesPerVertex: Option<i32>,
13856    /**Options to control the optimization of mesh data during asset import.*/
13857    /// i32: (2019.1.0b1 - 2022.3.2f1)
13858    pub meshOptimizationFlags: Option<i32>,
13859    /**Minimum bone weight to keep.*/
13860    /// f32: (2019.1.0b1 - 2022.3.2f1)
13861    pub minBoneWeight: Option<f32>,
13862    /**Normal generation options for ModelImporter.*/
13863    /// i32: (2017.1.0b1 - 2022.3.2f1)
13864    pub normalCalculationMode: Option<i32>,
13865    /**Source of smoothing information for calculation of normals.*/
13866    /// i32: (2018.3.0f2 - 2022.3.2f1)
13867    pub normalSmoothingSource: Option<i32>,
13868    /**Only import bones where they are connected to vertices.*/
13869    /// bool: (2021.2.0b1 - 2022.3.2f1)
13870    pub optimizeBones: Option<bool>,
13871    /// bool: (5.1.0f1 - 2018.4.36f1)
13872    pub optimizeMeshForGPU: Option<bool>,
13873    /**Method to use for handling margins when generating secondary UV.*/
13874    /// i32: (2020.1.0b1 - 2022.3.2f1)
13875    pub secondaryUVMarginMethod: Option<i32>,
13876    /**The minimum lightmap resolution in texels per unit that the associated model is expected to have.*/
13877    /// f32: (2020.1.0b1 - 2022.3.2f1)
13878    pub secondaryUVMinLightmapResolution: Option<f32>,
13879    /**The minimum object scale that the associated model is expected to have.*/
13880    /// f32: (2020.1.0b1 - 2022.3.2f1)
13881    pub secondaryUVMinObjectScale: Option<f32>,
13882    /// i32: (2019.1.0b1 - 2022.3.2f1)
13883    pub skinWeightsMode: Option<i32>,
13884    /// bool: (5.1.0f1 - 5.2.5f1)
13885    pub splitTangentsAcrossUV: Option<bool>,
13886}
13887
13888/// SkinnedCloth is a  class of the Unity engine since version 3.4.0.
13889#[derive(Debug, Serialize, Deserialize)]
13890pub struct SkinnedCloth {
13891    pub m_BendingStiffness: f32,
13892    pub m_Coefficients: Vec<ClothConstrainCoefficients>,
13893    pub m_Damping: f32,
13894    pub m_Enabled: u8,
13895    pub m_ExternalAcceleration: Vector3f,
13896    /// PPtr<[`GameObject`]>: (3.4.0 - 4.7.2)
13897    pub m_GameObject: PPtr,
13898    pub m_RandomAcceleration: Vector3f,
13899    pub m_SelfCollision: bool,
13900    pub m_StretchingStiffness: f32,
13901    pub m_Thickness: f32,
13902    pub m_UseGravity: bool,
13903    pub m_WorldAccelerationScale: f32,
13904    pub m_WorldVelocityScale: f32,
13905}
13906
13907/// SkinnedMeshRenderer is a  class of the Unity engine since version 3.4.0.
13908/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SkinnedMeshRenderer.html):
13909/**
13910The Skinned Mesh filter.
13911*/
13912#[derive(Debug, Serialize, Deserialize)]
13913pub struct SkinnedMeshRenderer {
13914    pub m_AABB: AABB,
13915    /**The bones used to skin the mesh.*/
13916    /// Vec<PPtr<[`Transform`]>>: (3.4.0 - 2022.3.2f1)
13917    pub m_Bones: Vec<PPtr>,
13918    pub m_CastShadows: Enum_bool__u8,
13919    pub m_DirtyAABB: bool,
13920    /**Makes the rendered 3D object visible if enabled.*/
13921    pub m_Enabled: bool,
13922    /**The game object this component is attached to. A component is always attached to a game object.*/
13923    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
13924    pub m_GameObject: PPtr,
13925    /**The index of the baked lightmap applied to this renderer.*/
13926    pub m_LightmapIndex: u16,
13927    pub m_LightmapTilingOffset: Vector4f,
13928    /**Returns all the instantiated materials of this object.*/
13929    /// Vec<PPtr<[`Material`]>>: (3.4.0 - 2022.3.2f1)
13930    pub m_Materials: Vec<PPtr>,
13931    /// PPtr<[`Mesh`]>: (3.4.0 - 2022.3.2f1)
13932    pub m_Mesh: PPtr,
13933    /**The maximum number of bones per vertex that are taken into account during skinning.*/
13934    pub m_Quality: i32,
13935    /**Does this object receive shadows?*/
13936    pub m_ReceiveShadows: Enum_bool__u8,
13937    /// PPtr<[`Transform`]>: (3.4.0 - 2022.3.2f1)
13938    pub m_StaticBatchRoot: PPtr,
13939    /**If enabled, the Skinned Mesh will be updated when offscreen. If disabled, this also disables updating animations.*/
13940    pub m_UpdateWhenOffscreen: bool,
13941    /// Vec<f32>: (4.3.0 - 2022.3.2f1)
13942    pub m_BlendShapeWeights: Option<Vec<f32>>,
13943    /// u8: (2017.2.0b2 - 2022.3.2f1)
13944    pub m_DynamicOccludee: Option<u8>,
13945    /// PPtr<[`Transform`]>: (3.5.0 - 4.7.2)
13946    pub m_LightProbeAnchor: Option<PPtr>,
13947    /**The light probe interpolation type.*/
13948    /// u8: (5.4.0f3 - 2022.3.2f1)
13949    pub m_LightProbeUsage: Option<u8>,
13950    /// PPtr<[`GameObject`]>: (5.4.0f3 - 2022.3.2f1)
13951    pub m_LightProbeVolumeOverride: Option<PPtr>,
13952    /// u16: (5.0.0f4 - 2022.3.2f1)
13953    pub m_LightmapIndexDynamic: Option<u16>,
13954    /// Vector4f: (5.0.0f4 - 2022.3.2f1)
13955    pub m_LightmapTilingOffsetDynamic: Option<Vector4f>,
13956    /// u8: (5.4.0f3 - 2022.3.2f1)
13957    pub m_MotionVectors: Option<u8>,
13958    /**If set, Renderer will use this Transform's position to find the light or reflection probe.*/
13959    /// PPtr<[`Transform`]>: (5.0.0f4 - 2022.3.2f1)
13960    pub m_ProbeAnchor: Option<PPtr>,
13961    /// u8: (2020.1.0b1 - 2022.3.2f1)
13962    pub m_RayTraceProcedural: Option<u8>,
13963    /**Describes how this renderer is updated for ray tracing.*/
13964    /// u8: (2019.3.0b1 - 2022.3.2f1)
13965    pub m_RayTracingMode: Option<u8>,
13966    /**Should reflection probes be used for this Renderer?*/
13967    /// i32: (5.0.0f4 - 5.3.8f2); u8: (5.4.0f3 - 2022.3.2f1)
13968    pub m_ReflectionProbeUsage: Option<i32>,
13969    /**This value sorts renderers by priority. Lower values are rendered first and higher values are rendered last.*/
13970    /// i32: (2018.3.0f2 - 2022.3.2f1)
13971    pub m_RendererPriority: Option<i32>,
13972    /**Determines which rendering layer this renderer lives on.*/
13973    /// u32: (2018.1.0b2 - 2022.3.2f1)
13974    pub m_RenderingLayerMask: Option<u32>,
13975    /// PPtr<[`Transform`]>: (3.5.0 - 2022.3.2f1)
13976    pub m_RootBone: Option<PPtr>,
13977    /**Specifies whether skinned motion vectors should be used for this renderer.*/
13978    /// bool: (5.4.0f3 - 2022.3.2f1)
13979    pub m_SkinnedMotionVectors: Option<bool>,
13980    /// i16: (4.3.0 - 2022.3.2f1)
13981    pub m_SortingLayer: Option<i16>,
13982    /**Unique ID of the Renderer's sorting layer.*/
13983    /// u32: (4.5.0 - 4.7.2); i32: (5.0.0f4 - 2022.3.2f1)
13984    pub m_SortingLayerID: Option<i64>,
13985    /**Renderer's order within a sorting layer.*/
13986    /// i16: (4.3.0 - 2022.3.2f1)
13987    pub m_SortingOrder: Option<i16>,
13988    /// StaticBatchInfo: (5.5.0f3 - 2022.3.2f1)
13989    pub m_StaticBatchInfo: Option<StaticBatchInfo>,
13990    /**Is this renderer a static shadow caster?*/
13991    /// u8: (2021.1.0b1 - 2022.3.2f1)
13992    pub m_StaticShadowCaster: Option<u8>,
13993    /// Vec<u32>: (3.4.0 - 5.4.6f3)
13994    pub m_SubsetIndices: Option<Vec<u32>>,
13995    /// bool: (3.5.0 - 5.3.8f2)
13996    pub m_UseLightProbes: Option<bool>,
13997}
13998
13999/// Skybox is a  class of the Unity engine since version 3.4.0.
14000/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Skybox.html):
14001/**
14002A script interface for the skybox component.
14003The skybox class has only the material property.See Also: skybox component.
14004*/
14005#[derive(Debug, Serialize, Deserialize)]
14006pub struct Skybox {
14007    /// PPtr<[`Material`]>: (3.4.0 - 2022.3.2f1)
14008    pub m_CustomSkybox: PPtr,
14009    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
14010    pub m_Enabled: u8,
14011    /**The game object this component is attached to. A component is always attached to a game object.*/
14012    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
14013    pub m_GameObject: PPtr,
14014}
14015
14016/// SliderJoint2D is a  class of the Unity engine since version 4.3.0.
14017/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SliderJoint2D.html):
14018/**
14019Joint that restricts the motion of a Rigidbody2D object to a single line.
14020See Also: Rigidbody2D, DistanceJoint2D, HingeJoint2D, SpringJoint2D, JointTranslationLimits2D.
14021*/
14022#[derive(Debug, Serialize, Deserialize)]
14023pub struct SliderJoint2D {
14024    /**The joint's anchor point on the object that has the joint component.*/
14025    pub m_Anchor: Vector2f,
14026    /**The angle of the line in space (in degrees).*/
14027    pub m_Angle: f32,
14028    /**The joint's anchor point on the second object (ie, the one which doesn't have the joint component).*/
14029    pub m_ConnectedAnchor: Vector2f,
14030    /// PPtr<[`Rigidbody2D`]>: (4.3.0 - 2022.3.2f1)
14031    pub m_ConnectedRigidBody: PPtr,
14032    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
14033    pub m_Enabled: u8,
14034    /**The game object this component is attached to. A component is always attached to a game object.*/
14035    /// PPtr<[`GameObject`]>: (4.3.0 - 2022.3.2f1)
14036    pub m_GameObject: PPtr,
14037    /**Parameters for a motor force that is applied automatically to the Rigibody2D along the line.*/
14038    pub m_Motor: JointMotor2D,
14039    pub m_TranslationLimits: JointTranslationLimits2D,
14040    /**Should motion limits be used?*/
14041    pub m_UseLimits: bool,
14042    /**Should a motor force be applied automatically to the Rigidbody2D?*/
14043    pub m_UseMotor: bool,
14044    /**Should the angle be calculated automatically?*/
14045    /// bool: (5.3.0f1 - 2022.3.2f1)
14046    pub m_AutoConfigureAngle: Option<bool>,
14047    /**Should the connectedAnchor be calculated automatically?*/
14048    /// bool: (5.3.0f1 - 2022.3.2f1)
14049    pub m_AutoConfigureConnectedAnchor: Option<bool>,
14050    /**The action to take when the joint breaks the breakForce or breakTorque.*/
14051    /// i32: (2022.2.0b1 - 2022.3.2f1)
14052    pub m_BreakAction: Option<i32>,
14053    /**The force that needs to be applied for this joint to break.*/
14054    /// f32: (5.3.0f1 - 2022.3.2f1)
14055    pub m_BreakForce: Option<f32>,
14056    /**The torque that needs to be applied for this joint to break.*/
14057    /// f32: (5.3.0f1 - 2022.3.2f1)
14058    pub m_BreakTorque: Option<f32>,
14059    /// bool: (4.3.0 - 5.0.0f4)
14060    pub m_CollideConnected: Option<bool>,
14061    /**Should the two rigid bodies connected with this joint collide with each other?*/
14062    /// bool: (5.0.1f1 - 2022.3.2f1)
14063    pub m_EnableCollision: Option<bool>,
14064}
14065
14066/// SnapshotConstant is a sub class of the Unity engine since version 5.0.0f4.
14067#[derive(Debug, Serialize, Deserialize)]
14068pub struct SnapshotConstant {
14069    pub nameHash: u32,
14070    pub transitionIndices: Vec<u32>,
14071    pub transitionTypes: Vec<u32>,
14072    pub values: Vec<f32>,
14073}
14074
14075/// SoftJointLimit is a sub class of the Unity engine since version 3.4.0.
14076/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SoftJointLimit.html):
14077/**
14078The limits defined by the CharacterJoint.
14079*/
14080#[derive(Debug, Serialize, Deserialize)]
14081pub struct SoftJointLimit {
14082    /**When the joint hits the limit, it can be made to bounce off it.*/
14083    pub bounciness: f32,
14084    /**The limit position/angle of the joint (in degrees).*/
14085    pub limit: f32,
14086    /**Determines how far ahead in space the solver can "see" the joint limit.*/
14087    /// f32: (5.0.0f4 - 2022.3.2f1)
14088    pub contactDistance: Option<f32>,
14089    /// f32: (3.4.0 - 4.7.2)
14090    pub damper: Option<f32>,
14091    /// f32: (3.4.0 - 4.7.2)
14092    pub spring: Option<f32>,
14093}
14094
14095/// SoftJointLimitSpring is a sub class of the Unity engine since version 5.0.0f4.
14096/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SoftJointLimitSpring.html):
14097/**
14098The configuration of the spring attached to the joint's limits: linear and angular. Used by CharacterJoint and ConfigurableJoint.
14099*/
14100#[derive(Debug, Serialize, Deserialize)]
14101pub struct SoftJointLimitSpring {
14102    /**The damping of the spring limit. In effect when the stiffness of the sprint limit is not zero.*/
14103    pub damper: f32,
14104    /**The stiffness of the spring limit. When stiffness is zero the limit is hard, otherwise soft.*/
14105    pub spring: f32,
14106}
14107
14108/// SortingGroup is a  class of the Unity engine since version 5.6.0b1.
14109/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Rendering.SortingGroup.html):
14110/**
14111Adding a SortingGroup component to a GameObject will ensure that all Renderers within the GameObject's descendants will be sorted and rendered together.
14112A common use case for having a SortingGroup is to create complex 2D characters that are made up of multiple SpriteRenderers. When several clones of such a character overlap, their individual body parts might not be sorted properly resulting in a visual glitch where the the body parts interleave. For example, the hands of two characters might be sorted in front of their bodies, where you would expect one entire character to be drawn in front of the other character. The SortingGroup component solves this by ensuring the entire branch of the character are sorted and rendered together.The descendants of the SortingGroup are sorted using the same SortingLayer and Renderer.sortingOrder. However, they are only sorted against other descendants of the SortingGroup and not with any renderers outside of it. This allows you to reuse the same SortingLayers (for example, "Hands", "Torso"...) to sort body parts while ensuring they never interleave with other clones of the character.The SortingGroups, together with other renderers, are sorted using the SortingLayer and Renderer.sortingOrder. Additionally, they can be nested within other SortingGroups. This is useful if you have branches of descendants that should not be mixed up i.e. the "Left Hand" vs the "Right Hand" hierarchy branches.
14113.
14114*/
14115#[derive(Debug, Serialize, Deserialize)]
14116pub struct SortingGroup {
14117    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
14118    pub m_Enabled: u8,
14119    /**The game object this component is attached to. A component is always attached to a game object.*/
14120    /// PPtr<[`GameObject`]>: (5.6.0b1 - 2022.3.2f1)
14121    pub m_GameObject: PPtr,
14122    pub m_SortingLayer: i16,
14123    /**Renderer's order within a sorting layer.*/
14124    pub m_SortingOrder: i16,
14125    /**Ignores any parent SortingGroup and sorts this and its descendant Renderers against other Renderers at the root level.*/
14126    /// bool: (2022.1.0b1 - 2022.3.2f1)
14127    pub m_SortAtRoot: Option<bool>,
14128    /**Unique ID of the Renderer's sorting layer.*/
14129    /// i32: (5.6.0f3 - 2022.3.2f1)
14130    pub m_SortingLayerID: Option<i32>,
14131}
14132
14133/// SortingLayerEntry is a sub class of the Unity engine since version 4.3.0.
14134#[derive(Debug, Serialize, Deserialize)]
14135pub struct SortingLayerEntry {
14136    pub name: String,
14137    pub uniqueID: u32,
14138    /// u32: (4.3.0 - 4.7.2)
14139    pub userID: Option<u32>,
14140}
14141
14142/// SourceAssetIdentifier is a sub class of the Unity engine since version 2017.2.0b2.
14143/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AssetImporter.SourceAssetIdentifier.html):
14144/**
14145Represents a unique identifier for a sub-asset embedded in an imported Asset (such as an FBX file).
14146*/
14147#[derive(Debug, Serialize, Deserialize)]
14148pub struct SourceAssetIdentifier {
14149    pub assembly: String,
14150    /**The name of the Asset.*/
14151    pub name: String,
14152    /**The type of the Asset.*/
14153    /// String: (2017.2.0b2 - 2022.3.2f1)
14154    #[serde(alias = "type")]
14155    pub _type: Option<String>,
14156}
14157
14158/// SourceTextureInformation is a sub class of the Unity engine since version 3.4.0.
14159/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/AssetImporters.SourceTextureInformation.html):
14160/**
14161Original texture data information.
14162*/
14163#[derive(Debug, Serialize, Deserialize)]
14164pub struct SourceTextureInformation {
14165    pub doesTextureContainAlpha: bool,
14166    /**Height of the image data.*/
14167    pub height: i32,
14168    /**Width of the image data.*/
14169    pub width: i32,
14170    /// bool: (3.5.0 - 4.7.2)
14171    pub doesTextureContainColor: Option<bool>,
14172    /// bool: (5.0.0f4 - 2022.3.2f1)
14173    pub sourceWasHDR: Option<bool>,
14174}
14175
14176/// SparseTexture is a  class of the Unity engine since version 4.5.0.
14177/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SparseTexture.html):
14178/**
14179Class for handling Sparse Textures.
14180Sparse textures are textures where not the whole texture data can be present in memory at once. They are also commonly called "tiled textures" or "mega textures".Imagine a 16384x16384 texture at 32 bits per pixel - it would take 1GB of memory. The texture is broken down into rectangular "tiles", and each tile can either be present in memory or not. You can load & unload these tiles as needed based on distance from the camera, sectors of the world that the player has to see, etc.Otherwise, the sparse textures behave just like any other texture in shaders - they can have mipmaps, can use all texture filtering modes, etc. If you happen to read from a tile that's not present, you can get undefined result (on many GPUs the result is a black color, but that's not guaranteed).Not all hardware and platforms support sparse textures, so you should check SystemInfo.supportsSparseTextures before using them. For example, on DirectX systems they require DX11.2 (Windows 8.1) and a fairly recent GPU; and on OpenGL they require ARB_sparse_texture extension support. Sparse textures only support non-compressed texture formats.After creating the sparse texture, query the tile size with tileWidth & tileHeight. Tile sizes are platform and GPU dependent.Use UpdateTile or UpdateTileRaw to make a tile resident in memory and update its color data. Use UnloadTile to unload a tile.See Also:  Sparse Textures.
14181*/
14182#[derive(Debug, Serialize, Deserialize)]
14183pub struct SparseTexture {
14184    pub m_ColorSpace: i32,
14185    pub m_Format: i64,
14186    /**Height of the Texture in pixels (Read Only).*/
14187    pub m_Height: i32,
14188    pub m_MipCount: i32,
14189    /**The name of the object.*/
14190    pub m_Name: String,
14191    pub m_TextureSettings: GLTextureSettings,
14192    /**Width of the Texture in pixels (Read Only).*/
14193    pub m_Width: i32,
14194    /// bool: (2017.3.0b1 - 2022.3.2f1)
14195    pub m_DownscaleFallback: Option<bool>,
14196    /// i32: (2017.3.0b1 - 2022.3.2f1)
14197    pub m_ForcedFallbackFormat: Option<i32>,
14198    /// bool: (2020.2.0b1 - 2022.3.2f1)
14199    pub m_IsAlphaChannelOptional: Option<bool>,
14200}
14201
14202/// SpeedTreeImporter is a  class of the Unity engine since version 5.0.0f4.
14203/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SpeedTreeImporter.html):
14204/**
14205AssetImportor for importing SpeedTree model assets.
14206*/
14207#[derive(Debug, Serialize, Deserialize)]
14208pub struct SpeedTreeImporter {
14209    /**Gets and sets a default alpha test reference values.*/
14210    pub m_AlphaTestRef: f32,
14211    /**Get or set the AssetBundle name.*/
14212    pub m_AssetBundleName: String,
14213    /**Get or set the AssetBundle variant.*/
14214    pub m_AssetBundleVariant: String,
14215    /**Returns the best-possible wind quality on this asset (configured in SpeedTree modeler).*/
14216    pub m_BestWindQuality: i32,
14217    /**Proportion of the last 3D mesh LOD region width which is used for cross-fading to billboard tree.*/
14218    pub m_BillboardTransitionCrossFadeWidth: f32,
14219    /**Enables smooth LOD transitions.*/
14220    pub m_EnableSmoothLODTransition: bool,
14221    /**Proportion of the billboard LOD region width which is used for fading out the billboard.*/
14222    pub m_FadeOutWidth: f32,
14223    /**Tells if there is a billboard LOD.*/
14224    pub m_HasBillboard: bool,
14225    /**Gets and sets a default Hue variation color and amount (in alpha).*/
14226    pub m_HueVariation: ColorRGBA,
14227    pub m_LODSettings: Vec<PerLODSettings>,
14228    /**Gets and sets a default main color.*/
14229    pub m_MainColor: ColorRGBA,
14230    /**The name of the object.*/
14231    pub m_Name: String,
14232    /**How much to scale the tree model compared to what is in the .spm file.*/
14233    pub m_ScaleFactor: f32,
14234    /**Get or set any user data.*/
14235    pub m_UserData: String,
14236    /**Indicates if the cross-fade LOD transition, applied to the last mesh LOD and the billboard, should be animated.*/
14237    /// bool: (5.1.0f1 - 2022.3.2f1)
14238    pub m_AnimateCrossFading: Option<bool>,
14239    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
14240    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
14241    /// i32: (2019.1.0b1 - 2022.3.2f1)
14242    pub m_FileIDType: Option<i32>,
14243    /**Material import location options.*/
14244    /// i32: (2018.3.0f2 - 2022.3.2f1)
14245    pub m_MaterialLocation: Option<i32>,
14246    /// i32: (5.2.0f2 - 2022.3.2f1)
14247    pub m_MaterialVersion: Option<i32>,
14248    /// Vec<SourceAssetIdentifier>: (2018.3.0f2 - 2022.3.2f1)
14249    pub m_Materials: Option<Vec<SourceAssetIdentifier>>,
14250    /// f32: (5.0.0f4 - 5.4.0b25)
14251    pub m_Shininess: Option<f32>,
14252    /// ColorRGBA: (5.0.0f4 - 5.4.0b25)
14253    pub m_SpecColor: Option<ColorRGBA>,
14254    /// bool: (2018.3.0f2 - 2022.3.2f1)
14255    pub m_SupportsEmbeddedMaterials: Option<bool>,
14256    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
14257    pub m_UsedFileIDs: Option<Vec<i64>>,
14258}
14259
14260/// SpeedTreeWind is a sub class of the Unity engine since version 5.0.0f4.
14261#[derive(Debug, Serialize, Deserialize)]
14262pub struct SpeedTreeWind {
14263    pub BRANCH_DIRECTIONAL_1: bool,
14264    pub BRANCH_DIRECTIONAL_2: bool,
14265    pub BRANCH_DIRECTIONAL_FROND_1: bool,
14266    pub BRANCH_DIRECTIONAL_FROND_2: bool,
14267    pub BRANCH_OSC_COMPLEX_1: bool,
14268    pub BRANCH_OSC_COMPLEX_2: bool,
14269    pub BRANCH_SIMPLE_1: bool,
14270    pub BRANCH_SIMPLE_2: bool,
14271    pub BRANCH_TURBULENCE_1: bool,
14272    pub BRANCH_TURBULENCE_2: bool,
14273    pub BRANCH_WHIP_1: bool,
14274    pub BRANCH_WHIP_2: bool,
14275    pub BranchWindAnchor0: f32,
14276    pub BranchWindAnchor1: f32,
14277    pub BranchWindAnchor2: f32,
14278    pub FROND_RIPPLE_ADJUST_LIGHTING: bool,
14279    pub FROND_RIPPLE_ONE_SIDED: bool,
14280    pub FROND_RIPPLE_TWO_SIDED: bool,
14281    pub GLOBAL_PRESERVE_SHAPE: bool,
14282    pub GLOBAL_WIND: bool,
14283    pub LEAF_OCCLUSION_1: bool,
14284    pub LEAF_OCCLUSION_2: bool,
14285    pub LEAF_RIPPLE_COMPUTED_1: bool,
14286    pub LEAF_RIPPLE_COMPUTED_2: bool,
14287    pub LEAF_RIPPLE_VERTEX_NORMAL_1: bool,
14288    pub LEAF_RIPPLE_VERTEX_NORMAL_2: bool,
14289    pub LEAF_TUMBLE_1: bool,
14290    pub LEAF_TUMBLE_2: bool,
14291    pub LEAF_TWITCH_1: bool,
14292    pub LEAF_TWITCH_2: bool,
14293    pub ROLLING: bool,
14294    pub m_fMaxBranchLevel1Length: f32,
14295    pub m_sParams: SParams,
14296}
14297
14298/// SpeedTreeWindAsset is a  class of the Unity engine since version 5.0.0f4.
14299#[derive(Debug, Serialize, Deserialize)]
14300pub struct SpeedTreeWindAsset {
14301    pub m_Name: String,
14302    pub m_Wind: SpeedTreeWind,
14303}
14304
14305/// SphereCollider is a  class of the Unity engine since version 3.4.0.
14306/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SphereCollider.html):
14307/**
14308A sphere-shaped primitive collider.
14309See Also: BoxCollider, CapsuleCollider, PhysicMaterial, Rigidbody.
14310*/
14311#[derive(Debug, Serialize, Deserialize)]
14312pub struct SphereCollider {
14313    /**The center of the sphere in the object's local space.*/
14314    pub m_Center: Vector3f,
14315    /**Enabled Colliders will collide with other Colliders, disabled Colliders won't.*/
14316    pub m_Enabled: bool,
14317    /**The game object this component is attached to. A component is always attached to a game object.*/
14318    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
14319    pub m_GameObject: PPtr,
14320    /**Specify if this collider is configured as a trigger.*/
14321    pub m_IsTrigger: bool,
14322    /**The material used by the collider.*/
14323    /// PPtr<[`PhysicMaterial`]>: (3.4.0 - 2022.3.2f1)
14324    pub m_Material: PPtr,
14325    /**The radius of the sphere measured in the object's local space.*/
14326    pub m_Radius: f32,
14327    /**The additional layers that this Collider should exclude when deciding if the Collider can contact another Collider.*/
14328    /// BitField: (2022.2.0b1 - 2022.3.2f1)
14329    pub m_ExcludeLayers: Option<BitField>,
14330    /**The additional layers that this Collider should include when deciding if the Collider can contact another Collider.*/
14331    /// BitField: (2022.2.0b1 - 2022.3.2f1)
14332    pub m_IncludeLayers: Option<BitField>,
14333    /**A decision priority assigned to this Collider used when there is a conflicting decision on whether a Collider can contact another Collider.*/
14334    /// i32: (2022.2.0b1 - 2022.3.2f1)
14335    pub m_LayerOverridePriority: Option<i32>,
14336    /**Whether or not this Collider generates contacts for Physics.ContactEvent.*/
14337    /// bool: (2022.2.0b1 - 2022.3.2f1)
14338    pub m_ProvidesContacts: Option<bool>,
14339}
14340
14341/// SphericalHarmonicsL2 is a sub class of the Unity engine since version 5.0.0f4.
14342/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Rendering.SphericalHarmonicsL2.html):
14343/**
14344Spherical harmonics up to the second order (3 bands, 9 coefficients).
14345Spherical harmonics (SH) represent a function or signal over directions, and are commonly used in computer graphics to efficiently evaluate smooth lighting. Unity uses them for LightProbes and environment lighting.L2 spherical harmonics is composed of 9 coefficients for each color channel.See Also: RenderSettings.ambientMode, RenderSettings.ambientProbe, LightProbes.
14346*/
14347#[derive(Debug, Serialize, Deserialize)]
14348pub struct SphericalHarmonicsL2 {
14349    /// f32: (5.0.0f4 - 2022.3.2f1)
14350    #[serde(alias = "sh[10]")]
14351    pub sh_10_: Option<f32>,
14352    /// f32: (5.0.0f4 - 2022.3.2f1)
14353    #[serde(alias = "sh[11]")]
14354    pub sh_11_: Option<f32>,
14355    /// f32: (5.0.0f4 - 2022.3.2f1)
14356    #[serde(alias = "sh[12]")]
14357    pub sh_12_: Option<f32>,
14358    /// f32: (5.0.0f4 - 2022.3.2f1)
14359    #[serde(alias = "sh[13]")]
14360    pub sh_13_: Option<f32>,
14361    /// f32: (5.0.0f4 - 2022.3.2f1)
14362    #[serde(alias = "sh[14]")]
14363    pub sh_14_: Option<f32>,
14364    /// f32: (5.0.0f4 - 2022.3.2f1)
14365    #[serde(alias = "sh[15]")]
14366    pub sh_15_: Option<f32>,
14367    /// f32: (5.0.0f4 - 2022.3.2f1)
14368    #[serde(alias = "sh[16]")]
14369    pub sh_16_: Option<f32>,
14370    /// f32: (5.0.0f4 - 2022.3.2f1)
14371    #[serde(alias = "sh[17]")]
14372    pub sh_17_: Option<f32>,
14373    /// f32: (5.0.0f4 - 2022.3.2f1)
14374    #[serde(alias = "sh[18]")]
14375    pub sh_18_: Option<f32>,
14376    /// f32: (5.0.0f4 - 2022.3.2f1)
14377    #[serde(alias = "sh[19]")]
14378    pub sh_19_: Option<f32>,
14379    /// f32: (5.0.0f4 - 2022.3.2f1)
14380    #[serde(alias = "sh[20]")]
14381    pub sh_20_: Option<f32>,
14382    /// f32: (5.0.0f4 - 2022.3.2f1)
14383    #[serde(alias = "sh[21]")]
14384    pub sh_21_: Option<f32>,
14385    /// f32: (5.0.0f4 - 2022.3.2f1)
14386    #[serde(alias = "sh[22]")]
14387    pub sh_22_: Option<f32>,
14388    /// f32: (5.0.0f4 - 2022.3.2f1)
14389    #[serde(alias = "sh[23]")]
14390    pub sh_23_: Option<f32>,
14391    /// f32: (5.0.0f4 - 2022.3.2f1)
14392    #[serde(alias = "sh[24]")]
14393    pub sh_24_: Option<f32>,
14394    /// f32: (5.0.0f4 - 2022.3.2f1)
14395    #[serde(alias = "sh[25]")]
14396    pub sh_25_: Option<f32>,
14397    /// f32: (5.0.0f4 - 2022.3.2f1)
14398    #[serde(alias = "sh[26]")]
14399    pub sh_26_: Option<f32>,
14400    /// f32: (5.0.0f4 - 2022.3.2f1)
14401    #[serde(alias = "sh[ 0]")]
14402    pub sh__0_: Option<f32>,
14403    /// f32: (5.0.0f4 - 2022.3.2f1)
14404    #[serde(alias = "sh[ 1]")]
14405    pub sh__1_: Option<f32>,
14406    /// f32: (5.0.0f4 - 2022.3.2f1)
14407    #[serde(alias = "sh[ 2]")]
14408    pub sh__2_: Option<f32>,
14409    /// f32: (5.0.0f4 - 2022.3.2f1)
14410    #[serde(alias = "sh[ 3]")]
14411    pub sh__3_: Option<f32>,
14412    /// f32: (5.0.0f4 - 2022.3.2f1)
14413    #[serde(alias = "sh[ 4]")]
14414    pub sh__4_: Option<f32>,
14415    /// f32: (5.0.0f4 - 2022.3.2f1)
14416    #[serde(alias = "sh[ 5]")]
14417    pub sh__5_: Option<f32>,
14418    /// f32: (5.0.0f4 - 2022.3.2f1)
14419    #[serde(alias = "sh[ 6]")]
14420    pub sh__6_: Option<f32>,
14421    /// f32: (5.0.0f4 - 2022.3.2f1)
14422    #[serde(alias = "sh[ 7]")]
14423    pub sh__7_: Option<f32>,
14424    /// f32: (5.0.0f4 - 2022.3.2f1)
14425    #[serde(alias = "sh[ 8]")]
14426    pub sh__8_: Option<f32>,
14427    /// f32: (5.0.0f4 - 2022.3.2f1)
14428    #[serde(alias = "sh[ 9]")]
14429    pub sh__9_: Option<f32>,
14430}
14431
14432/// SplashScreenLogo is a sub class of the Unity engine since version 5.5.0f3.
14433/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/PlayerSettings.SplashScreenLogo.html):
14434/**
14435A single logo that is shown during the Splash Screen. Controls the Sprite that is displayed and its duration.
14436*/
14437#[derive(Debug, Serialize, Deserialize)]
14438pub struct SplashScreenLogo {
14439    /**The total time in seconds for which the logo is shown. The minimum duration is 2 seconds.*/
14440    pub duration: f32,
14441    /**The Sprite that is shown during this logo. If this is null, then no logo will be displayed for the duration.*/
14442    /// PPtr<[`Sprite`]>: (5.5.0f3 - 2022.3.2f1)
14443    pub logo: PPtr,
14444}
14445
14446/// SplatDatabase is a sub class of the Unity engine since version 3.4.0.
14447#[derive(Debug, Serialize, Deserialize)]
14448pub struct SplatDatabase {
14449    /// Vec<PPtr<[`Texture2D`]>>: (3.4.0 - 2022.3.2f1)
14450    pub m_AlphaTextures: Vec<PPtr>,
14451    pub m_AlphamapResolution: i32,
14452    pub m_BaseMapResolution: i32,
14453    /// i32: (5.0.1f1 - 2018.2.21f1)
14454    pub m_ColorSpace: Option<i32>,
14455    /// bool: (5.0.1f1 - 2018.2.21f1)
14456    pub m_MaterialRequiresMetallic: Option<bool>,
14457    /// bool: (5.0.1f1 - 2018.2.21f1)
14458    pub m_MaterialRequiresSmoothness: Option<bool>,
14459    /// Vec<SplatPrototype>: (3.4.0 - 2018.2.21f1)
14460    pub m_Splats: Option<Vec<SplatPrototype>>,
14461    /// Vec<PPtr<[`TerrainLayer`]>>: (2018.3.0f2 - 2022.3.2f1)
14462    pub m_TerrainLayers: Option<Vec<PPtr>>,
14463}
14464
14465/// SplatPrototype is a sub class of the Unity engine since version 3.4.0.
14466/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SplatPrototype.html):
14467/**
14468A Splat prototype is just a texture that is used by the TerrainData.
14469A class on a Terrain GameObject.
14470*/
14471#[derive(Debug, Serialize, Deserialize)]
14472pub struct SplatPrototype {
14473    /**Texture of the splat applied to the Terrain.*/
14474    /// PPtr<[`Texture2D`]>: (3.4.0 - 2018.2.21f1)
14475    pub texture: PPtr,
14476    /**Offset of the tile texture of the SplatPrototype.*/
14477    pub tileOffset: Vector2f,
14478    /**Size of the tile used in the texture of the SplatPrototype.*/
14479    pub tileSize: Vector2f,
14480    /**Normal map of the splat applied to the Terrain.*/
14481    /// PPtr<[`Texture2D`]>: (4.0.0 - 2018.2.21f1)
14482    pub normalMap: Option<PPtr>,
14483    /**The smoothness value of the splat layer when the main texture has no alpha channel.*/
14484    /// f32: (5.0.1f1 - 2018.2.21f1)
14485    pub smoothness: Option<f32>,
14486    /// Vector4f: (5.0.0f4 - 2018.2.21f1)
14487    pub specularMetallic: Option<Vector4f>,
14488}
14489
14490/// SpringJoint is a  class of the Unity engine since version 3.4.0.
14491/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SpringJoint.html):
14492/**
14493The spring joint ties together 2 rigid bodies, spring forces will be automatically applied to keep the object at the given distance.
14494The Spring attempts to maintain the distance it has when it starts out.
14495
14496So if your joint's start at a rest position where the two rigidbodies are far apart, then the joint will attempt to maintain that distance.
14497
14498The minDistance and maxDistance properties add on top of this implicit distance.
14499*/
14500#[derive(Debug, Serialize, Deserialize)]
14501pub struct SpringJoint {
14502    /**The Position of the anchor around which the joints motion is constrained.*/
14503    pub m_Anchor: Vector3f,
14504    /**The force that needs to be applied for this joint to break.*/
14505    pub m_BreakForce: f32,
14506    /**The torque that needs to be applied for this joint to break. To be able to break, a joint must be _Locked_ or _Limited_ on the axis of rotation where the torque is being applied. This means that some joints cannot break, such as an unconstrained Configurable Joint.*/
14507    pub m_BreakTorque: f32,
14508    /**A reference to another rigidbody this joint connects to.*/
14509    /// PPtr<[`Rigidbody`]>: (3.4.0 - 2022.3.2f1)
14510    pub m_ConnectedBody: PPtr,
14511    /**The damper force used to dampen the spring force.*/
14512    pub m_Damper: f32,
14513    /**The game object this component is attached to. A component is always attached to a game object.*/
14514    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
14515    pub m_GameObject: PPtr,
14516    /**The maximum distance between the bodies relative to their initial distance.*/
14517    pub m_MaxDistance: f32,
14518    /**The minimum distance between the bodies relative to their initial distance.*/
14519    pub m_MinDistance: f32,
14520    /**The spring force used to keep the two objects together.*/
14521    pub m_Spring: f32,
14522    /**Should the connectedAnchor be calculated automatically?*/
14523    /// bool: (4.3.0 - 2022.3.2f1)
14524    pub m_AutoConfigureConnectedAnchor: Option<bool>,
14525    /**Position of the anchor relative to the connected Rigidbody.*/
14526    /// Vector3f: (4.3.0 - 2022.3.2f1)
14527    pub m_ConnectedAnchor: Option<Vector3f>,
14528    /**A reference to an articulation body this joint connects to.*/
14529    /// PPtr<[`ArticulationBody`]>: (2020.2.0b1 - 2022.3.2f1)
14530    pub m_ConnectedArticulationBody: Option<PPtr>,
14531    /**The scale to apply to the inverse mass and inertia tensor of the connected body prior to solving the constraints.*/
14532    /// f32: (2017.1.0b2 - 2022.3.2f1)
14533    pub m_ConnectedMassScale: Option<f32>,
14534    /**Enable collision between bodies connected with the joint.*/
14535    /// bool: (4.5.0 - 2022.3.2f1)
14536    pub m_EnableCollision: Option<bool>,
14537    /**Toggle preprocessing for this joint.*/
14538    /// bool: (5.0.0f4 - 2022.3.2f1)
14539    pub m_EnablePreprocessing: Option<bool>,
14540    /// bool: (2017.1.0b2 - 2017.1.0b5)
14541    pub m_Enabled: Option<bool>,
14542    /**The scale to apply to the inverse mass and inertia tensor of the body prior to solving the constraints.*/
14543    /// f32: (2017.1.0b2 - 2022.3.2f1)
14544    pub m_MassScale: Option<f32>,
14545    /**The maximum allowed error between the current spring length and the length defined by minDistance and maxDistance.*/
14546    /// f32: (5.2.3f1 - 2022.3.2f1)
14547    pub m_Tolerance: Option<f32>,
14548}
14549
14550/// SpringJoint2D is a  class of the Unity engine since version 4.3.0.
14551/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SpringJoint2D.html):
14552/**
14553Joint that attempts to keep two Rigidbody2D objects a set distance apart by applying a force between them.
14554Note that unlike DistanceJoint2D, the length of the joint can stretch and oscillate.See Also: DistanceJoint2D, HingeJoint2D, SliderJoint2D.
14555*/
14556#[derive(Debug, Serialize, Deserialize)]
14557pub struct SpringJoint2D {
14558    /**The joint's anchor point on the object that has the joint component.*/
14559    pub m_Anchor: Vector2f,
14560    /**The joint's anchor point on the second object (ie, the one which doesn't have the joint component).*/
14561    pub m_ConnectedAnchor: Vector2f,
14562    /// PPtr<[`Rigidbody2D`]>: (4.3.0 - 2022.3.2f1)
14563    pub m_ConnectedRigidBody: PPtr,
14564    /**The amount by which the spring force is reduced in proportion to the movement speed.*/
14565    pub m_DampingRatio: f32,
14566    /**The distance the spring will try to keep between the two objects.*/
14567    pub m_Distance: f32,
14568    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
14569    pub m_Enabled: u8,
14570    /**The frequency at which the spring oscillates around the distance distance between the objects.*/
14571    pub m_Frequency: f32,
14572    /**The game object this component is attached to. A component is always attached to a game object.*/
14573    /// PPtr<[`GameObject`]>: (4.3.0 - 2022.3.2f1)
14574    pub m_GameObject: PPtr,
14575    /**Should the connectedAnchor be calculated automatically?*/
14576    /// bool: (5.3.0f1 - 2022.3.2f1)
14577    pub m_AutoConfigureConnectedAnchor: Option<bool>,
14578    /**Should the distance be calculated automatically?*/
14579    /// bool: (5.3.0f1 - 2022.3.2f1)
14580    pub m_AutoConfigureDistance: Option<bool>,
14581    /**The action to take when the joint breaks the breakForce or breakTorque.*/
14582    /// i32: (2022.2.0b1 - 2022.3.2f1)
14583    pub m_BreakAction: Option<i32>,
14584    /**The force that needs to be applied for this joint to break.*/
14585    /// f32: (5.3.0f1 - 2022.3.2f1)
14586    pub m_BreakForce: Option<f32>,
14587    /**The torque that needs to be applied for this joint to break.*/
14588    /// f32: (5.3.0f1 - 2022.3.2f1)
14589    pub m_BreakTorque: Option<f32>,
14590    /// bool: (4.3.0 - 5.0.0f4)
14591    pub m_CollideConnected: Option<bool>,
14592    /**Should the two rigid bodies connected with this joint collide with each other?*/
14593    /// bool: (5.0.1f1 - 2022.3.2f1)
14594    pub m_EnableCollision: Option<bool>,
14595}
14596
14597/// Sprite is a  class of the Unity engine since version 4.3.0.
14598/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Sprite.html):
14599/**
14600Represents a Sprite object for use in 2D gameplay.
14601Sprites are 2D graphic objects used for characters, props, projectiles and other elements of 2D gameplay. The graphics are obtained from bitmap images - Texture2D. The Sprite class primarily identifies the section of the image that should be used for a specific Sprite. This information can then be used by a SpriteRenderer component on a GameObject to actually display the graphic.See Also: SpriteRenderer class.
14602*/
14603#[derive(Debug, Serialize, Deserialize)]
14604pub struct Sprite {
14605    pub m_Extrude: u32,
14606    /**The name of the object.*/
14607    pub m_Name: String,
14608    pub m_Offset: Vector2f,
14609    pub m_PixelsToUnits: f32,
14610    pub m_RD: SpriteRenderData,
14611    /**Location of the Sprite on the original Texture, specified in pixels.*/
14612    pub m_Rect: Rectf,
14613    /// Vec<String>: (2017.1.0b1 - 2022.3.2f1)
14614    pub m_AtlasTags: Option<Vec<String>>,
14615    /// Vec<SpriteBone>: (2018.1.0b2 - 2022.3.2f1)
14616    pub m_Bones: Option<Vec<SpriteBone>>,
14617    /**Returns the border sizes of the Sprite.*/
14618    /// Vector4f: (4.5.0 - 2022.3.2f1)
14619    pub m_Border: Option<Vector4f>,
14620    /// bool: (5.3.0f1 - 2022.3.2f1)
14621    pub m_IsPolygon: Option<bool>,
14622    /// Vec<Vec<Vector2f>>: (2017.1.0b1 - 2022.3.2f1)
14623    pub m_PhysicsShape: Option<Vec<Vec<Vector2f>>>,
14624    /**Location of the Sprite's center point in the Rect on the original Texture, specified in pixels.*/
14625    /// Vector2f: (5.4.2f2 - 2022.3.2f1)
14626    pub m_Pivot: Option<Vector2f>,
14627    /// (GUID, i64): (2017.1.0b1 - 2022.3.2f1)
14628    pub m_RenderDataKey: Option<(GUID, i64)>,
14629    /// PPtr<[`SpriteAtlas`]>: (2017.1.0b1 - 2022.3.2f1)
14630    pub m_SpriteAtlas: Option<PPtr>,
14631}
14632
14633/// SpriteAtlas is a  class of the Unity engine since version 2017.1.0b1.
14634/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/U2D.SpriteAtlas.html):
14635/**
14636Sprite Atlas is an asset created within Unity. It is part of the built-in sprite packing solution.
14637A Sprite Atlas stores a list of packable assets. A packable asset is either a Sprite, Texture2D of TextureImporterType.Sprite or Folder. Before the packing process begins, these packable assets will be grouped and traversed to gather all the sprites from them. These will be used in the packing process. At runtime, these sprites can be enumerated via the Sprite Atlas (See Also: SpriteAtlas.GetSprites).It also provides dedicated texture settings in the inspector for the packed texture. The original texture settings of the sprite will have no effect on the packed texture.By default, Sprite Atlas will be referenced by the sprite and be available at runtime. This means that the sprite will be able to acquire the packed texture from the Sprite Atlas when loaded. A Sprite can be loaded without referencing any Sprite Atlas. A Sprite loaded this way will render as invisible since there is no texture. A reference to a Sprite Atlas can be added later. See Also: SpriteAtlasManager.Sprite Atlas variants can be created by assigning another Sprite Atlas object as the master. Variants will not repack a new texture from the packable list. Instead of this, variants will duplicate the master's packed texture and downscale it according to a user-defined ratio and save this scaled texture.
14638*/
14639#[derive(Debug, Serialize, Deserialize)]
14640pub struct SpriteAtlas {
14641    /**Return true if this SpriteAtlas is a variant.*/
14642    pub m_IsVariant: bool,
14643    /**The name of the object.*/
14644    pub m_Name: String,
14645    pub m_PackedSpriteNamesToIndex: Vec<String>,
14646    /// Vec<PPtr<[`Sprite`]>>: (2017.1.0b1 - 2022.3.2f1)
14647    pub m_PackedSprites: Vec<PPtr>,
14648    pub m_RenderDataMap: Vec<((GUID, i64), SpriteAtlasData)>,
14649    /**Get the tag of this SpriteAtlas.*/
14650    pub m_Tag: String,
14651}
14652
14653/// SpriteAtlasAsset is a  class of the Unity engine since version 2020.1.0b1.
14654/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/U2D.SpriteAtlasAsset.html):
14655/**
14656SpriteAtlasAsset stores inputs for generating SpriteAtlas and generates atlas textures on Import.
14657*/
14658#[derive(Debug, Serialize, Deserialize)]
14659pub struct SpriteAtlasAsset {
14660    pub m_ImporterData: Enum_SpriteAtlasEditorData__SpriteAtlasAssetData,
14661    /**Checks whether the Sprite Atlas Importer set the Sprite Atlas as a Variant.*/
14662    pub m_IsVariant: bool,
14663    /// PPtr<[`SpriteAtlas`]>: (2020.1.0b1 - 2022.3.2f1)
14664    pub m_MasterAtlas: PPtr,
14665    /**The name of the object.*/
14666    pub m_Name: String,
14667}
14668
14669#[derive(Debug, Serialize, Deserialize)]
14670#[serde(untagged)]
14671pub enum Enum_SpriteAtlasEditorData__SpriteAtlasAssetData {
14672    SpriteAtlasEditorData(SpriteAtlasEditorData),
14673    SpriteAtlasAssetData(SpriteAtlasAssetData),
14674}
14675
14676/// SpriteAtlasAssetData is a sub class of the Unity engine since version 2022.1.0b1.
14677#[derive(Debug, Serialize, Deserialize)]
14678pub struct SpriteAtlasAssetData {
14679    /// Vec<PPtr<[`Object`]>>: (2022.1.0b1 - 2022.3.2f1)
14680    pub packables: Vec<PPtr>,
14681}
14682
14683/// SpriteAtlasData is a sub class of the Unity engine since version 2017.1.0b1.
14684#[derive(Debug, Serialize, Deserialize)]
14685pub struct SpriteAtlasData {
14686    /// PPtr<[`Texture2D`]>: (2017.1.0b1 - 2022.3.2f1)
14687    pub alphaTexture: PPtr,
14688    pub downscaleMultiplier: f32,
14689    pub settingsRaw: u32,
14690    /// PPtr<[`Texture2D`]>: (2017.1.0b1 - 2022.3.2f1)
14691    pub texture: PPtr,
14692    pub textureRect: Rectf,
14693    pub textureRectOffset: Vector2f,
14694    pub uvTransform: Vector4f,
14695    /// Vector2f: (2017.1.2f1 - 2022.3.2f1)
14696    pub atlasRectOffset: Option<Vector2f>,
14697    /// Vec<SecondarySpriteTexture>: (2020.2.0b1 - 2022.3.2f1)
14698    pub secondaryTextures: Option<Vec<SecondarySpriteTexture>>,
14699}
14700
14701/// SpriteAtlasDatabase is a  class of the Unity engine since version 2017.1.0b1.
14702#[derive(Debug, Serialize, Deserialize)]
14703pub struct SpriteAtlasDatabase {}
14704
14705/// SpriteAtlasEditorData is a sub class of the Unity engine since version 2020.1.0b1.
14706#[derive(Debug, Serialize, Deserialize)]
14707pub struct SpriteAtlasEditorData {
14708    pub bindAsDefault: bool,
14709    /// PPtr<[`CachedSpriteAtlasRuntimeData`]>: (2020.1.0b1 - 2022.1.0a13)
14710    pub cachedData: PPtr,
14711    pub isAtlasV2: bool,
14712    /// Vec<PPtr<[`Object`]>>: (2020.1.0b1 - 2022.1.0a13)
14713    pub packables: Vec<PPtr>,
14714    pub packingSettings: PackingSettings,
14715    pub platformSettings: Vec<TextureImporterPlatformSettings>,
14716    pub textureSettings: TextureSettings,
14717    pub variantMultiplier: f32,
14718    /// Vec<(String, SecondaryTextureSettings)>: (2020.2.0b1 - 2022.1.0a13)
14719    pub secondaryTextureSettings: Option<Vec<(String, SecondaryTextureSettings)>>,
14720    /// Hash128: (2020.1.0a17 - 2020.1.0a18)
14721    pub storedHash: Option<Hash128>,
14722    /// u32: (2020.1.0b1 - 2020.3.18f1)
14723    pub totalSpriteSurfaceArea: Option<u32>,
14724}
14725
14726/// SpriteAtlasImporter is a  class of the Unity engine since version 2020.1.0b1.
14727/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/U2D.SpriteAtlasImporter.html):
14728/**
14729SpriteAtlasImporter imports SpriteAtlasAsset and generates SpriteAtlas.
14730*/
14731#[derive(Debug, Serialize, Deserialize)]
14732pub struct SpriteAtlasImporter {
14733    /**Get or set the AssetBundle name.*/
14734    pub m_AssetBundleName: String,
14735    /**Get or set the AssetBundle variant.*/
14736    pub m_AssetBundleVariant: String,
14737    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2020.1.0b1 - 2022.3.2f1)
14738    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
14739    /**The name of the object.*/
14740    pub m_Name: String,
14741    pub m_UsedFileIDs: Vec<i64>,
14742    /**Get or set any user data.*/
14743    pub m_UserData: String,
14744    /// bool: (2022.1.0b1 - 2022.3.2f1)
14745    pub m_BindAsDefault: Option<bool>,
14746    /**SpriteAtlasPackingSettings to use when packing this SpriteAtlas.*/
14747    /// PackingSettings: (2022.1.0b1 - 2022.3.2f1)
14748    pub m_PackingSettings: Option<PackingSettings>,
14749    /// Vec<TextureImporterPlatformSettings>: (2022.1.0b1 - 2022.3.2f1)
14750    pub m_PlatformSettings: Option<Vec<TextureImporterPlatformSettings>>,
14751    /// Vec<(String, SecondaryTextureSettings)>: (2022.1.0b1 - 2022.3.2f1)
14752    pub m_SecondaryTextureSettings: Option<Vec<(String, SecondaryTextureSettings)>>,
14753    /**SpriteAtlasTextureSettings of the packed Texture generated by this SpriteAtlas.*/
14754    /// TextureSettings: (2022.1.0b1 - 2022.3.2f1)
14755    pub m_TextureSettings: Option<TextureSettings>,
14756    /// f32: (2022.1.0b1 - 2022.3.2f1)
14757    pub m_VariantMultiplier: Option<f32>,
14758}
14759
14760/// SpriteBone is a sub class of the Unity engine since version 2018.1.0b2.
14761/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/U2D.SpriteBone.html):
14762/**
14763Stores a set of information that describes the bind pose of this Sprite.
14764This struct describes the hierarchy and other spatial relationships between the bones of this Sprite.
14765*/
14766#[derive(Debug, Serialize, Deserialize)]
14767pub struct SpriteBone {
14768    /**The length of the bone. This is important for the leaf bones to describe their length without needing another bone as the terminal bone.*/
14769    pub length: f32,
14770    /**The name of the bone. This is useful when recreating bone hierarchy at editor or runtime. You can also use this as a way of resolving the bone path when a Sprite is bound to a more complex or richer hierarchy.*/
14771    pub name: String,
14772    /**The ID of the parent of this bone.*/
14773    pub parentId: i32,
14774    /**The position in local space of this bone.*/
14775    pub position: Vector3f,
14776    /**The rotation of this bone in local space.*/
14777    pub rotation: Quaternionf,
14778    /**Shows the color set for the bone in the Editor.*/
14779    /// ColorRGBA: (2021.1.0b1 - 2022.3.2f1)
14780    pub color: Option<ColorRGBA>,
14781    /**The Unique GUID of this bone.*/
14782    /// String: (2021.1.0b1 - 2022.3.2f1)
14783    pub guid: Option<String>,
14784}
14785
14786/// SpriteData is a sub class of the Unity engine since version 2017.1.0b1.
14787#[derive(Debug, Serialize, Deserialize)]
14788pub struct SpriteData {
14789    /// PPtr<[`Object`]>: (2017.1.0b1 - 2022.3.2f1)
14790    pub sprite: PPtr,
14791}
14792
14793/// SpriteMask is a  class of the Unity engine since version 2017.1.0b1.
14794/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SpriteMask.html):
14795/**
14796A component for masking Sprites and Particles.
14797By default it will mask all Sorting Layers. A custom range of Sorting Layers can be set. If a SortingGroup is present, it will act local to the SortingGroup.
14798*/
14799#[derive(Debug, Serialize, Deserialize)]
14800pub struct SpriteMask {
14801    pub m_BackSortingLayer: i16,
14802    /**Order within the back sorting layer defining the end of the custom range.*/
14803    pub m_BackSortingOrder: i16,
14804    pub m_CastShadows: u8,
14805    /**Makes the rendered 3D object visible if enabled.*/
14806    pub m_Enabled: bool,
14807    pub m_FrontSortingLayer: i16,
14808    /**Order within the front sorting layer defining the start of the custom range.*/
14809    pub m_FrontSortingOrder: i16,
14810    /**The game object this component is attached to. A component is always attached to a game object.*/
14811    /// PPtr<[`GameObject`]>: (2017.1.0b1 - 2022.3.2f1)
14812    pub m_GameObject: PPtr,
14813    /**Mask sprites from front to back sorting values only.*/
14814    pub m_IsCustomRangeActive: bool,
14815    /**The light probe interpolation type.*/
14816    pub m_LightProbeUsage: u8,
14817    /// PPtr<[`GameObject`]>: (2017.1.0b1 - 2022.3.2f1)
14818    pub m_LightProbeVolumeOverride: PPtr,
14819    /**The index of the baked lightmap applied to this renderer.*/
14820    pub m_LightmapIndex: u16,
14821    pub m_LightmapIndexDynamic: u16,
14822    pub m_LightmapTilingOffset: Vector4f,
14823    pub m_LightmapTilingOffsetDynamic: Vector4f,
14824    pub m_MaskAlphaCutoff: f32,
14825    /**Returns all the instantiated materials of this object.*/
14826    /// Vec<PPtr<[`Material`]>>: (2017.1.0b1 - 2022.3.2f1)
14827    pub m_Materials: Vec<PPtr>,
14828    pub m_MotionVectors: u8,
14829    /**If set, Renderer will use this Transform's position to find the light or reflection probe.*/
14830    /// PPtr<[`Transform`]>: (2017.1.0b1 - 2022.3.2f1)
14831    pub m_ProbeAnchor: PPtr,
14832    /**Does this object receive shadows?*/
14833    pub m_ReceiveShadows: u8,
14834    /**Should reflection probes be used for this Renderer?*/
14835    pub m_ReflectionProbeUsage: u8,
14836    pub m_SortingLayer: i16,
14837    /**Unique ID of the Renderer's sorting layer.*/
14838    pub m_SortingLayerID: i32,
14839    /**Renderer's order within a sorting layer.*/
14840    pub m_SortingOrder: i16,
14841    /**The Sprite used to define the mask.*/
14842    /// PPtr<[`Sprite`]>: (2017.1.0b1 - 2022.3.2f1)
14843    pub m_Sprite: PPtr,
14844    pub m_StaticBatchInfo: StaticBatchInfo,
14845    /// PPtr<[`Transform`]>: (2017.1.0b1 - 2022.3.2f1)
14846    pub m_StaticBatchRoot: PPtr,
14847    /**Unique ID of the sorting layer defining the end of the custom range.*/
14848    /// i32: (2018.4.5f1 - 2022.3.2f1)
14849    pub m_BackSortingLayerID: Option<i32>,
14850    /// u8: (2017.2.0b2 - 2022.3.2f1)
14851    pub m_DynamicOccludee: Option<u8>,
14852    /**Unique ID of the sorting layer defining the start of the custom range.*/
14853    /// i32: (2018.4.5f1 - 2022.3.2f1)
14854    pub m_FrontSortingLayerID: Option<i32>,
14855    /// u8: (2020.1.0b1 - 2022.3.2f1)
14856    pub m_RayTraceProcedural: Option<u8>,
14857    /**Describes how this renderer is updated for ray tracing.*/
14858    /// u8: (2019.3.0b1 - 2022.3.2f1)
14859    pub m_RayTracingMode: Option<u8>,
14860    /**This value sorts renderers by priority. Lower values are rendered first and higher values are rendered last.*/
14861    /// i32: (2018.3.0f2 - 2022.3.2f1)
14862    pub m_RendererPriority: Option<i32>,
14863    /**Determines which rendering layer this renderer lives on.*/
14864    /// u32: (2018.1.0b2 - 2022.3.2f1)
14865    pub m_RenderingLayerMask: Option<u32>,
14866    /**Determines the position of the Sprite used for sorting the SpriteMask.*/
14867    /// i32: (2018.2.0b1 - 2022.3.2f1)
14868    pub m_SpriteSortPoint: Option<i32>,
14869    /**Is this renderer a static shadow caster?*/
14870    /// u8: (2021.1.0b1 - 2022.3.2f1)
14871    pub m_StaticShadowCaster: Option<u8>,
14872}
14873
14874/// SpriteMetaData is a sub class of the Unity engine since version 4.3.0.
14875/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SpriteMetaData.html):
14876/**
14877Editor data used in producing a Sprite.
14878See Also: TextureImporter.spritesheet.
14879*/
14880#[derive(Debug, Serialize, Deserialize)]
14881pub struct SpriteMetaData {
14882    /**Edge-relative alignment of the sprite graphic.*/
14883    pub m_Alignment: i32,
14884    /**Name of the Sprite.*/
14885    pub m_Name: String,
14886    /**The pivot point of the Sprite, relative to its bounding rectangle.*/
14887    pub m_Pivot: Vector2f,
14888    /**Bounding rectangle of the sprite's graphic within the atlas image.*/
14889    pub m_Rect: Rectf,
14890    /// Vec<SpriteBone>: (2018.1.0b2 - 2022.3.2f1)
14891    pub m_Bones: Option<Vec<SpriteBone>>,
14892    /**Edge border size for a sprite (in pixels).*/
14893    /// Vector4f: (4.5.0 - 2022.3.2f1)
14894    pub m_Border: Option<Vector4f>,
14895    /// Vec<int2_storage>: (2018.1.0b2 - 2022.3.2f1)
14896    pub m_Edges: Option<Vec<int2_storage>>,
14897    /// Vec<i32>: (2018.1.0b2 - 2022.3.2f1)
14898    pub m_Indices: Option<Vec<i32>>,
14899    /// i64: (2019.1.0b1 - 2022.3.2f1)
14900    pub m_InternalID: Option<i64>,
14901    /// Vec<Vec<Vector2f>>: (5.3.0f1 - 2022.3.2f1)
14902    pub m_Outline: Option<Vec<Vec<Vector2f>>>,
14903    /// Vec<Vec<Vector2f>>: (2017.1.0b1 - 2022.3.2f1)
14904    pub m_PhysicsShape: Option<Vec<Vec<Vector2f>>>,
14905    /// String: (2018.1.0b2 - 2022.3.2f1)
14906    pub m_SpriteID: Option<String>,
14907    /// f32: (5.4.0f3 - 2022.3.2f1)
14908    pub m_TessellationDetail: Option<f32>,
14909    /// Vec<Vector2f>: (2018.1.0b2 - 2022.3.2f1)
14910    pub m_Vertices: Option<Vec<Vector2f>>,
14911    /// Vec<BoneWeights4>: (2018.1.0b2 - 2022.3.2f1)
14912    pub m_Weights: Option<Vec<BoneWeights4>>,
14913}
14914
14915/// SpriteRenderData is a sub class of the Unity engine since version 4.3.0.
14916#[derive(Debug, Serialize, Deserialize)]
14917pub struct SpriteRenderData {
14918    pub settingsRaw: u32,
14919    /// PPtr<[`Texture2D`]>: (4.3.0 - 2022.3.2f1)
14920    pub texture: PPtr,
14921    pub textureRect: Rectf,
14922    pub textureRectOffset: Vector2f,
14923    /// PPtr<[`Texture2D`]>: (5.2.0f2 - 2022.3.2f1)
14924    pub alphaTexture: Option<PPtr>,
14925    /// Vector2f: (5.4.6f1 - 2022.3.2f1)
14926    pub atlasRectOffset: Option<Vector2f>,
14927    /// f32: (2017.1.0b1 - 2022.3.2f1)
14928    pub downscaleMultiplier: Option<f32>,
14929    /// Vec<u16>: (4.3.0 - 5.5.6f1)
14930    pub indices: Option<Vec<u16>>,
14931    /// Vec<Matrix4x4f>: (2018.1.0b2 - 2022.3.2f1)
14932    pub m_Bindpose: Option<Vec<Matrix4x4f>>,
14933    /// Vec<u8>: (5.6.0b1 - 2022.3.2f1)
14934    pub m_IndexBuffer: Option<Vec<u8>>,
14935    /// Vec<BoneWeights4>: (2018.1.0b2 - 2018.1.9f2)
14936    pub m_SourceSkin: Option<Vec<BoneWeights4>>,
14937    /// Vec<SubMesh>: (5.6.0b1 - 2022.3.2f1)
14938    pub m_SubMeshes: Option<Vec<SubMesh>>,
14939    /// VertexData: (5.6.0b1 - 2022.3.2f1)
14940    pub m_VertexData: Option<VertexData>,
14941    /// Vec<SecondarySpriteTexture>: (2019.1.0b1 - 2022.3.2f1)
14942    pub secondaryTextures: Option<Vec<SecondarySpriteTexture>>,
14943    /// Vector4f: (4.5.0 - 2022.3.2f1)
14944    pub uvTransform: Option<Vector4f>,
14945    /// Vec<SpriteVertex>: (4.3.0 - 5.5.6f1)
14946    pub vertices: Option<Vec<SpriteVertex>>,
14947}
14948
14949/// SpriteRenderer is a  class of the Unity engine since version 4.3.0.
14950/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SpriteRenderer.html):
14951/**
14952Renders a Sprite for 2D graphics.
14953*/
14954#[derive(Debug, Serialize, Deserialize)]
14955pub struct SpriteRenderer {
14956    pub m_CastShadows: Enum_bool__u8,
14957    /**Rendering color for the Sprite graphic.*/
14958    pub m_Color: ColorRGBA,
14959    /**Makes the rendered 3D object visible if enabled.*/
14960    pub m_Enabled: bool,
14961    /**The game object this component is attached to. A component is always attached to a game object.*/
14962    /// PPtr<[`GameObject`]>: (4.3.0 - 2022.3.2f1)
14963    pub m_GameObject: PPtr,
14964    /**The index of the baked lightmap applied to this renderer.*/
14965    pub m_LightmapIndex: u16,
14966    pub m_LightmapTilingOffset: Vector4f,
14967    /**Returns all the instantiated materials of this object.*/
14968    /// Vec<PPtr<[`Material`]>>: (4.3.0 - 2022.3.2f1)
14969    pub m_Materials: Vec<PPtr>,
14970    /**Does this object receive shadows?*/
14971    pub m_ReceiveShadows: Enum_bool__u8,
14972    /**Renderer's order within a sorting layer.*/
14973    pub m_SortingOrder: i16,
14974    /**The Sprite to render.*/
14975    /// PPtr<[`Sprite`]>: (4.3.0 - 2022.3.2f1)
14976    pub m_Sprite: PPtr,
14977    /// PPtr<[`Transform`]>: (4.3.0 - 2022.3.2f1)
14978    pub m_StaticBatchRoot: PPtr,
14979    /**The current threshold for Sprite Renderer tiling.*/
14980    /// f32: (5.6.0f1 - 2022.3.2f1)
14981    pub m_AdaptiveModeThreshold: Option<f32>,
14982    /**The current draw mode of the Sprite Renderer.*/
14983    /// i32: (5.6.0f1 - 2022.3.2f1)
14984    pub m_DrawMode: Option<i32>,
14985    /// u8: (2017.2.0b2 - 2022.3.2f1)
14986    pub m_DynamicOccludee: Option<u8>,
14987    /**Flips the sprite on the X axis.*/
14988    /// bool: (5.3.0f1 - 2022.3.2f1)
14989    pub m_FlipX: Option<bool>,
14990    /**Flips the sprite on the Y axis.*/
14991    /// bool: (5.3.0f1 - 2022.3.2f1)
14992    pub m_FlipY: Option<bool>,
14993    /// PPtr<[`Transform`]>: (4.3.0 - 4.7.2)
14994    pub m_LightProbeAnchor: Option<PPtr>,
14995    /**The light probe interpolation type.*/
14996    /// u8: (5.4.0f3 - 2022.3.2f1)
14997    pub m_LightProbeUsage: Option<u8>,
14998    /// PPtr<[`GameObject`]>: (5.4.0f3 - 2022.3.2f1)
14999    pub m_LightProbeVolumeOverride: Option<PPtr>,
15000    /// u16: (5.0.0f4 - 2022.3.2f1)
15001    pub m_LightmapIndexDynamic: Option<u16>,
15002    /// Vector4f: (5.0.0f4 - 2022.3.2f1)
15003    pub m_LightmapTilingOffsetDynamic: Option<Vector4f>,
15004    /**Specifies how the sprite interacts with the masks.*/
15005    /// i32: (2017.1.0b1 - 2022.3.2f1)
15006    pub m_MaskInteraction: Option<i32>,
15007    /// u8: (5.4.0f3 - 2022.3.2f1)
15008    pub m_MotionVectors: Option<u8>,
15009    /**If set, Renderer will use this Transform's position to find the light or reflection probe.*/
15010    /// PPtr<[`Transform`]>: (5.0.0f4 - 2022.3.2f1)
15011    pub m_ProbeAnchor: Option<PPtr>,
15012    /// u8: (2020.1.0b1 - 2022.3.2f1)
15013    pub m_RayTraceProcedural: Option<u8>,
15014    /**Describes how this renderer is updated for ray tracing.*/
15015    /// u8: (2019.3.0b1 - 2022.3.2f1)
15016    pub m_RayTracingMode: Option<u8>,
15017    /**Should reflection probes be used for this Renderer?*/
15018    /// i32: (5.0.0f4 - 5.3.8f2); u8: (5.4.0f3 - 2022.3.2f1)
15019    pub m_ReflectionProbeUsage: Option<i32>,
15020    /**This value sorts renderers by priority. Lower values are rendered first and higher values are rendered last.*/
15021    /// i32: (2018.3.0f2 - 2022.3.2f1)
15022    pub m_RendererPriority: Option<i32>,
15023    /**Determines which rendering layer this renderer lives on.*/
15024    /// u32: (2018.1.0b2 - 2022.3.2f1)
15025    pub m_RenderingLayerMask: Option<u32>,
15026    /**Property to set or get the size to render when the SpriteRenderer.drawMode is set to SpriteDrawMode.Sliced or SpriteDrawMode.Tiled.*/
15027    /// Vector2f: (5.6.0f1 - 2022.3.2f1)
15028    pub m_Size: Option<Vector2f>,
15029    /// i16: (4.3.0 - 2022.3.2f1)
15030    pub m_SortingLayer: Option<i16>,
15031    /**Unique ID of the Renderer's sorting layer.*/
15032    /// u32: (4.5.0 - 4.7.2); i32: (5.0.0f4 - 2022.3.2f1)
15033    pub m_SortingLayerID: Option<i64>,
15034    /**Determines the position of the Sprite used for sorting the SpriteRenderer.*/
15035    /// i32: (2018.2.0b1 - 2022.3.2f1)
15036    pub m_SpriteSortPoint: Option<i32>,
15037    /// i32: (5.6.0f1 - 2022.3.2f1)
15038    pub m_SpriteTileMode: Option<i32>,
15039    /// StaticBatchInfo: (5.5.0f3 - 2022.3.2f1)
15040    pub m_StaticBatchInfo: Option<StaticBatchInfo>,
15041    /**Is this renderer a static shadow caster?*/
15042    /// u8: (2021.1.0b1 - 2022.3.2f1)
15043    pub m_StaticShadowCaster: Option<u8>,
15044    /// Vec<u32>: (4.3.0 - 5.4.6f3)
15045    pub m_SubsetIndices: Option<Vec<u32>>,
15046    /// bool: (4.3.0 - 5.3.8f2)
15047    pub m_UseLightProbes: Option<bool>,
15048    /// bool: (5.6.2f1 - 2022.3.2f1)
15049    pub m_WasSpriteAssigned: Option<bool>,
15050}
15051
15052/// SpriteShapeRenderer is a  class of the Unity engine since version 2018.1.0b2.
15053/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/U2D.SpriteShapeRenderer.html):
15054/**
15055Renders SpriteShapes defined through the SpriteShapeUtility.GenerateSpriteShape API.
15056*/
15057#[derive(Debug, Serialize, Deserialize)]
15058pub struct SpriteShapeRenderer {
15059    pub m_CastShadows: u8,
15060    /**Rendering color for the SpriteShape.*/
15061    pub m_Color: ColorRGBA,
15062    pub m_DynamicOccludee: u8,
15063    /**Makes the rendered 3D object visible if enabled.*/
15064    pub m_Enabled: bool,
15065    /**The game object this component is attached to. A component is always attached to a game object.*/
15066    /// PPtr<[`GameObject`]>: (2018.1.0b2 - 2022.3.2f1)
15067    pub m_GameObject: PPtr,
15068    /**The light probe interpolation type.*/
15069    pub m_LightProbeUsage: u8,
15070    /// PPtr<[`GameObject`]>: (2018.1.0b2 - 2022.3.2f1)
15071    pub m_LightProbeVolumeOverride: PPtr,
15072    /**The index of the baked lightmap applied to this renderer.*/
15073    pub m_LightmapIndex: u16,
15074    pub m_LightmapIndexDynamic: u16,
15075    pub m_LightmapTilingOffset: Vector4f,
15076    pub m_LightmapTilingOffsetDynamic: Vector4f,
15077    pub m_LocalAABB: AABB,
15078    /**Specifies how the SpriteShape interacts with the masks.*/
15079    pub m_MaskInteraction: i32,
15080    /**Returns all the instantiated materials of this object.*/
15081    /// Vec<PPtr<[`Material`]>>: (2018.1.0b2 - 2022.3.2f1)
15082    pub m_Materials: Vec<PPtr>,
15083    pub m_MotionVectors: u8,
15084    /**If set, Renderer will use this Transform's position to find the light or reflection probe.*/
15085    /// PPtr<[`Transform`]>: (2018.1.0b2 - 2022.3.2f1)
15086    pub m_ProbeAnchor: PPtr,
15087    /**Does this object receive shadows?*/
15088    pub m_ReceiveShadows: u8,
15089    /**Should reflection probes be used for this Renderer?*/
15090    pub m_ReflectionProbeUsage: u8,
15091    /**Determines which rendering layer this renderer lives on.*/
15092    pub m_RenderingLayerMask: u32,
15093    /// PPtr<[`Texture2D`]>: (2018.1.0b2 - 2022.3.2f1)
15094    pub m_ShapeTexture: PPtr,
15095    pub m_SortingLayer: i16,
15096    /**Unique ID of the Renderer's sorting layer.*/
15097    pub m_SortingLayerID: i32,
15098    /**Renderer's order within a sorting layer.*/
15099    pub m_SortingOrder: i16,
15100    /// Vec<PPtr<[`Sprite`]>>: (2018.1.0b2 - 2022.3.2f1)
15101    pub m_Sprites: Vec<PPtr>,
15102    pub m_StaticBatchInfo: StaticBatchInfo,
15103    /// PPtr<[`Transform`]>: (2018.1.0b2 - 2022.3.2f1)
15104    pub m_StaticBatchRoot: PPtr,
15105    /// u8: (2020.1.0b1 - 2022.3.2f1)
15106    pub m_RayTraceProcedural: Option<u8>,
15107    /**Describes how this renderer is updated for ray tracing.*/
15108    /// u8: (2019.3.0b1 - 2022.3.2f1)
15109    pub m_RayTracingMode: Option<u8>,
15110    /**This value sorts renderers by priority. Lower values are rendered first and higher values are rendered last.*/
15111    /// i32: (2018.3.0f2 - 2022.3.2f1)
15112    pub m_RendererPriority: Option<i32>,
15113    /// i32: (2022.1.0b1 - 2022.3.2f1)
15114    pub m_SpriteSortPoint: Option<i32>,
15115    /**Is this renderer a static shadow caster?*/
15116    /// u8: (2021.1.0b1 - 2022.3.2f1)
15117    pub m_StaticShadowCaster: Option<u8>,
15118}
15119
15120/// SpriteSheetMetaData is a sub class of the Unity engine since version 4.3.0.
15121#[derive(Debug, Serialize, Deserialize)]
15122pub struct SpriteSheetMetaData {
15123    pub m_Sprites: Vec<SpriteMetaData>,
15124    /// Vec<SpriteBone>: (2018.1.0b2 - 2022.3.2f1)
15125    pub m_Bones: Option<Vec<SpriteBone>>,
15126    /// Vec<int2_storage>: (2018.1.0b2 - 2022.3.2f1)
15127    pub m_Edges: Option<Vec<int2_storage>>,
15128    /// Vec<i32>: (2018.1.0b2 - 2022.3.2f1)
15129    pub m_Indices: Option<Vec<i32>>,
15130    /// i64: (2019.1.0b1 - 2022.3.2f1)
15131    pub m_InternalID: Option<i64>,
15132    /// Vec<(String, i64)>: (2021.2.0b1 - 2022.3.2f1)
15133    pub m_NameFileIdTable: Option<Vec<(String, i64)>>,
15134    /// Vec<Vec<Vector2f>>: (5.3.0f1 - 2022.3.2f1)
15135    pub m_Outline: Option<Vec<Vec<Vector2f>>>,
15136    /// Vec<Vec<Vector2f>>: (2017.1.0b1 - 2022.3.2f1)
15137    pub m_PhysicsShape: Option<Vec<Vec<Vector2f>>>,
15138    /// Vec<SecondarySpriteTexture>: (2019.1.0b1 - 2022.3.2f1)
15139    pub m_SecondaryTextures: Option<Vec<SecondarySpriteTexture>>,
15140    /// String: (2018.1.0b2 - 2022.3.2f1)
15141    pub m_SpriteID: Option<String>,
15142    /// Vec<Vector2f>: (2018.1.0b2 - 2022.3.2f1)
15143    pub m_Vertices: Option<Vec<Vector2f>>,
15144    /// Vec<BoneWeights4>: (2018.1.0b2 - 2022.3.2f1)
15145    pub m_Weights: Option<Vec<BoneWeights4>>,
15146}
15147
15148/// SpriteTilingProperty is a sub class of the Unity engine since version 5.6.0f1.
15149#[derive(Debug, Serialize, Deserialize)]
15150pub struct SpriteTilingProperty {
15151    pub adaptiveTiling: bool,
15152    pub adaptiveTilingThreshold: f32,
15153    pub border: Vector4f,
15154    pub drawMode: i32,
15155    pub newSize: Vector2f,
15156    pub oldSize: Vector2f,
15157    pub pivot: Vector2f,
15158}
15159
15160/// SpriteVertex is a sub class of the Unity engine since version 4.3.0.
15161#[derive(Debug, Serialize, Deserialize)]
15162pub struct SpriteVertex {
15163    pub pos: Vector3f,
15164    /// Vector2f: (4.3.0 - 4.3.4)
15165    pub uv: Option<Vector2f>,
15166}
15167
15168/// State is a  class of the Unity engine since version 4.0.0.
15169/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Random.State.html):
15170/**
15171Serializable structure used to hold the full internal state of the random number generator. See Also: Random.state.
15172*/
15173#[derive(Debug, Serialize, Deserialize)]
15174pub struct State {
15175    pub m_IKOnFeet: bool,
15176    /// Vec<PPtr<[`Motion`]>>: (4.0.0 - 4.7.2)
15177    pub m_Motions: Vec<PPtr>,
15178    pub m_Name: String,
15179    /// PPtr<[`StateMachine`]>: (4.0.0 - 4.7.2)
15180    pub m_ParentStateMachine: PPtr,
15181    pub m_Position: Vector3f,
15182    pub m_Speed: f32,
15183    pub m_Tag: String,
15184    /// f32: (4.1.0 - 4.7.2)
15185    pub m_CycleOffset: Option<f32>,
15186    /// bool: (4.1.0 - 4.7.2)
15187    pub m_Mirror: Option<bool>,
15188}
15189
15190/// StateKey is a sub class of the Unity engine since version 5.0.0f4.
15191#[derive(Debug, Serialize, Deserialize)]
15192pub struct StateKey {
15193    pub m_LayerIndex: i32,
15194    pub m_StateID: u32,
15195}
15196
15197/// StateMachine is a  class of the Unity engine since version 4.0.0.
15198#[derive(Debug, Serialize, Deserialize)]
15199pub struct StateMachine {
15200    pub m_AnyStatePosition: Vector3f,
15201    /// Vec<PPtr<[`StateMachine`]>>: (4.0.0 - 4.7.2)
15202    pub m_ChildStateMachine: Vec<PPtr>,
15203    pub m_ChildStateMachinePosition: Vec<Vector3f>,
15204    /// PPtr<[`State`]>: (4.0.0 - 4.7.2)
15205    pub m_DefaultState: PPtr,
15206    pub m_MotionSetCount: i32,
15207    pub m_Name: String,
15208    /// Vec<(PPtr<[`State`]>, Vec<PPtr<[`Transition`]>>)>: (4.0.0 - 4.7.2)
15209    pub m_OrderedTransitions: Vec<(PPtr, Vec<PPtr>)>,
15210    pub m_ParentStateMachinePosition: Vector3f,
15211    /// Vec<PPtr<[`State`]>>: (4.0.0 - 4.7.2)
15212    pub m_States: Vec<PPtr>,
15213    /// Vec<(PPtr<[`State`]>, Vec<PPtr<[`Transition`]>>)>: (4.0.0 - 4.1.5)
15214    pub m_LocalTransitions: Option<Vec<(PPtr, Vec<PPtr>)>>,
15215}
15216
15217/// StateMachineBehaviourVectorDescription is a sub class of the Unity engine since version 5.0.0f4.
15218#[derive(Debug, Serialize, Deserialize)]
15219pub struct StateMachineBehaviourVectorDescription {
15220    pub m_StateMachineBehaviourIndices: Vec<u32>,
15221    pub m_StateMachineBehaviourRanges: Vec<(StateKey, StateRange)>,
15222}
15223
15224/// StateRange is a sub class of the Unity engine since version 5.0.0f4.
15225#[derive(Debug, Serialize, Deserialize)]
15226pub struct StateRange {
15227    pub m_Count: u32,
15228    pub m_StartIndex: u32,
15229}
15230
15231/// StaticBatchInfo is a sub class of the Unity engine since version 5.5.0f3.
15232#[derive(Debug, Serialize, Deserialize)]
15233pub struct StaticBatchInfo {
15234    pub firstSubMesh: u16,
15235    pub subMeshCount: u16,
15236}
15237
15238/// StreamInfo is a sub class of the Unity engine since version 3.5.0.
15239#[derive(Debug, Serialize, Deserialize)]
15240pub struct StreamInfo {
15241    pub channelMask: u32,
15242    pub offset: u32,
15243    pub stride: u32,
15244    /// u32: (3.5.0 - 3.5.7)
15245    pub align: Option<u32>,
15246    /// u8: (4.0.0 - 4.7.2)
15247    pub dividerOp: Option<u8>,
15248    /// u16: (4.0.0 - 4.7.2)
15249    pub frequency: Option<u16>,
15250}
15251
15252/// StreamedClip is a sub class of the Unity engine since version 4.0.0.
15253#[derive(Debug, Serialize, Deserialize)]
15254pub struct StreamedClip {
15255    pub curveCount: u32,
15256    pub data: Vec<u32>,
15257}
15258
15259/// StreamedResource is a sub class of the Unity engine since version 5.0.0f4.
15260#[derive(Debug, Serialize, Deserialize)]
15261pub struct StreamedResource {
15262    pub m_Offset: i128,
15263    pub m_Size: u64,
15264    pub m_Source: String,
15265}
15266
15267/// StreamingController is a  class of the Unity engine since version 2018.2.0b1.
15268/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/StreamingController.html):
15269/**
15270A StreamingController controls the streaming settings for an individual camera location.
15271The StreamingController component is used to control texture streaming settings for a camera location.
15272
15273This component supports the preloading of textures in advance of a Camera becoming enabled. See SetPreloadingThe QualitySettings.streamingMipmapsFeature must be enabled and active for this feature to work.The Camera is not considered for texture streaming when this component is disabled.
15274
15275When this component is enabled the Camera is considered for texture streaming if the Camera is enabled or the StreamingController is in the preloading state.A mipmap bias can be applied for texture streaming calculations. See streamingMipmapBias for details.See Also: camera component.
15276*/
15277#[derive(Debug, Serialize, Deserialize)]
15278pub struct StreamingController {
15279    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
15280    pub m_Enabled: u8,
15281    /**The game object this component is attached to. A component is always attached to a game object.*/
15282    /// PPtr<[`GameObject`]>: (2018.2.0b1 - 2022.3.2f1)
15283    pub m_GameObject: PPtr,
15284    /**Offset applied to the mipmap level chosen by the texture streaming system for any textures visible from this camera. This Offset can take either a positive or negative value.*/
15285    pub m_StreamingMipmapBias: f32,
15286}
15287
15288/// StreamingInfo is a sub class of the Unity engine since version 5.3.0f1.
15289#[derive(Debug, Serialize, Deserialize)]
15290pub struct StreamingInfo {
15291    pub offset: u64,
15292    pub path: String,
15293    pub size: u32,
15294}
15295
15296/// StreamingManager is a  class of the Unity engine since version 2018.2.0b1.
15297#[derive(Debug, Serialize, Deserialize)]
15298pub struct StreamingManager {}
15299
15300/// StructParameter is a sub class of the Unity engine since version 2017.3.0b1.
15301#[derive(Debug, Serialize, Deserialize)]
15302pub struct StructParameter {
15303    pub m_ArraySize: i32,
15304    pub m_Index: i32,
15305    pub m_MatrixMembers: Vec<MatrixParameter>,
15306    pub m_NameIndex: i32,
15307    pub m_StructSize: i32,
15308    pub m_VectorMembers: Vec<VectorParameter>,
15309}
15310
15311/// StyleSheetImporter is a  class of the Unity engine since version 2017.1.0b1.
15312#[derive(Debug, Serialize, Deserialize)]
15313pub struct StyleSheetImporter {
15314    pub m_AssetBundleName: String,
15315    pub m_AssetBundleVariant: String,
15316    pub m_Name: String,
15317    pub m_UserData: String,
15318}
15319
15320/// SubCollider is a sub class of the Unity engine since version 5.6.0b1.
15321#[derive(Debug, Serialize, Deserialize)]
15322pub struct SubCollider {
15323    /// PPtr<[`Collider2D`]>: (5.6.0b1 - 2022.3.2f1)
15324    pub m_Collider: PPtr,
15325    pub m_ColliderPaths: Vec<Vec<IntPoint>>,
15326}
15327
15328/// SubDerived is a  class of the Unity engine since version 2019.1.0b1.
15329#[derive(Debug, Serialize, Deserialize)]
15330pub struct SubDerived {}
15331
15332/// SubEmitterData is a sub class of the Unity engine since version 5.5.0f3.
15333#[derive(Debug, Serialize, Deserialize)]
15334pub struct SubEmitterData {
15335    /// PPtr<[`ParticleSystem`]>: (5.5.0f3 - 2022.3.2f1)
15336    pub emitter: PPtr,
15337    pub properties: i32,
15338    /// i32: (5.5.0f3 - 2022.3.2f1)
15339    #[serde(alias = "type")]
15340    pub _type: Option<i32>,
15341    /// f32: (2018.3.0f2 - 2022.3.2f1)
15342    pub emitProbability: Option<f32>,
15343}
15344
15345/// SubMesh is a sub class of the Unity engine since version 3.4.0.
15346#[derive(Debug, Serialize, Deserialize)]
15347pub struct SubMesh {
15348    pub firstByte: u32,
15349    pub firstVertex: u32,
15350    pub indexCount: u32,
15351    pub localAABB: AABB,
15352    pub vertexCount: u32,
15353    /// u32: (2017.3.0b1 - 2022.3.2f1)
15354    pub baseVertex: Option<u32>,
15355    /// u32: (3.4.0 - 3.5.7)
15356    pub isTriStrip: Option<u32>,
15357    /// i32: (4.0.0 - 2022.3.2f1)
15358    pub topology: Option<i32>,
15359    /// u32: (3.4.0 - 3.5.7)
15360    pub triangleCount: Option<u32>,
15361}
15362
15363/// SubModule is a sub class of the Unity engine since version 3.5.0.
15364#[derive(Debug, Serialize, Deserialize)]
15365pub struct SubModule {
15366    pub enabled: bool,
15367    /// PPtr<[`ParticleSystem`]>: (3.5.0 - 5.4.6f3)
15368    pub subEmitterBirth: Option<PPtr>,
15369    /// PPtr<[`ParticleSystem`]>: (4.0.0 - 5.4.6f3)
15370    pub subEmitterBirth1: Option<PPtr>,
15371    /// PPtr<[`ParticleSystem`]>: (3.5.0 - 5.4.6f3)
15372    pub subEmitterCollision: Option<PPtr>,
15373    /// PPtr<[`ParticleSystem`]>: (4.0.0 - 5.4.6f3)
15374    pub subEmitterCollision1: Option<PPtr>,
15375    /// PPtr<[`ParticleSystem`]>: (3.5.0 - 5.4.6f3)
15376    pub subEmitterDeath: Option<PPtr>,
15377    /// PPtr<[`ParticleSystem`]>: (4.0.0 - 5.4.6f3)
15378    pub subEmitterDeath1: Option<PPtr>,
15379    /// Vec<SubEmitterData>: (5.5.0f3 - 2022.3.2f1)
15380    pub subEmitters: Option<Vec<SubEmitterData>>,
15381}
15382
15383/// SubstanceArchive is a  class of the Unity engine since version 3.4.0.
15384#[derive(Debug, Serialize, Deserialize)]
15385pub struct SubstanceArchive {
15386    pub m_Name: String,
15387    /// Vec<u8>: (3.4.0 - 2017.4.40f1)
15388    pub m_PackageData: Option<Vec<u8>>,
15389}
15390
15391/// SubstanceEnumItem is a sub class of the Unity engine since version 3.4.0.
15392#[derive(Debug, Serialize, Deserialize)]
15393pub struct SubstanceEnumItem {
15394    pub text: String,
15395    pub value: i32,
15396}
15397
15398/// SubstanceImporter is a  class of the Unity engine since version 3.4.0.
15399#[derive(Debug, Serialize, Deserialize)]
15400pub struct SubstanceImporter {
15401    pub m_Name: String,
15402    /// String: (5.0.0f4 - 2022.3.2f1)
15403    pub m_AssetBundleName: Option<String>,
15404    /// String: (5.0.0f4 - 2022.3.2f1)
15405    pub m_AssetBundleVariant: Option<String>,
15406    /// Vec<String>: (3.5.2 - 2017.4.40f1)
15407    pub m_DeletedPrototypes: Option<Vec<String>>,
15408    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
15409    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
15410    /// Vec<(i32, String)>: (3.4.0 - 3.4.2)
15411    pub m_FileIDToRecycleName: Option<Vec<(i32, String)>>,
15412    /// i32: (3.4.0 - 3.5.1)
15413    pub m_IsFirstImport: Option<i32>,
15414    /// Vec<MaterialImportOutput>: (4.0.0 - 2017.4.40f1)
15415    pub m_MaterialImportOutputs: Option<Vec<MaterialImportOutput>>,
15416    /// Vec<MaterialInstanceSettings>: (3.4.0 - 2017.4.40f1)
15417    pub m_MaterialInstances: Option<Vec<MaterialInstanceSettings>>,
15418    /// MdFour: (3.4.0 - 3.4.2)
15419    pub m_NewHashIdentity: Option<MdFour>,
15420    /// MdFour: (3.4.0 - 3.4.2)
15421    pub m_OldHashIdentity: Option<MdFour>,
15422    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
15423    pub m_UsedFileIDs: Option<Vec<i64>>,
15424    /// String: (4.0.0 - 2022.3.2f1)
15425    pub m_UserData: Option<String>,
15426}
15427
15428/// SubstanceInput is a sub class of the Unity engine since version 3.4.0.
15429#[derive(Debug, Serialize, Deserialize)]
15430pub struct SubstanceInput {
15431    pub alteredTexturesUID: Vec<u32>,
15432    pub enumValues: Vec<SubstanceEnumItem>,
15433    pub flags: u32,
15434    pub internalIndex: u32,
15435    pub internalType: i32,
15436    pub maximum: f32,
15437    pub minimum: f32,
15438    pub name: String,
15439    pub step: f32,
15440    pub value: SubstanceValue,
15441    /// i32: (3.4.0 - 2017.4.40f1)
15442    #[serde(alias = "type")]
15443    pub _type: Option<i32>,
15444    /// Vec<String>: (4.5.0 - 2017.4.40f1)
15445    pub componentLabels: Option<Vec<String>>,
15446    /// String: (3.5.0 - 2017.4.40f1)
15447    pub group: Option<String>,
15448    /// u32: (3.5.0 - 2017.4.40f1)
15449    pub internalIdentifier: Option<u32>,
15450    /// String: (4.1.0 - 2017.4.40f1)
15451    pub label: Option<String>,
15452    /// String: (5.2.0f2 - 2017.4.40f1)
15453    pub visibleIf: Option<String>,
15454}
15455
15456/// SubstanceValue is a sub class of the Unity engine since version 3.4.0.
15457#[derive(Debug, Serialize, Deserialize)]
15458pub struct SubstanceValue {
15459    /// PPtr<[`Texture2D`]>: (3.4.0 - 2017.4.40f1)
15460    pub texture: PPtr,
15461    /// f32: (3.4.0 - 2017.4.40f1)
15462    #[serde(alias = "scalar[0]")]
15463    pub scalar_0_: Option<f32>,
15464    /// f32: (3.4.0 - 2017.4.40f1)
15465    #[serde(alias = "scalar[1]")]
15466    pub scalar_1_: Option<f32>,
15467    /// f32: (3.4.0 - 2017.4.40f1)
15468    #[serde(alias = "scalar[2]")]
15469    pub scalar_2_: Option<f32>,
15470    /// f32: (3.4.0 - 2017.4.40f1)
15471    #[serde(alias = "scalar[3]")]
15472    pub scalar_3_: Option<f32>,
15473    /// String: (2017.2.0f2 - 2017.4.40f1)
15474    pub stringvalue: Option<String>,
15475}
15476
15477/// SurfaceEffector2D is a  class of the Unity engine since version 5.0.0f4.
15478/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/SurfaceEffector2D.html):
15479/**
15480Applies tangent forces along the surfaces of colliders.
15481When the source Collider2D is a trigger, the effector will apply forces whenever the target Collider2D overlaps the source.  When the source Collider isn't a trigger, the effector will apply forces whenever the target Collider2D is in contact with the source only.This effector can be used to create constant speed elevators and moving surfaces.
15482*/
15483#[derive(Debug, Serialize, Deserialize)]
15484pub struct SurfaceEffector2D {
15485    /**The mask used to select specific layers allowed to interact with the effector.*/
15486    pub m_ColliderMask: BitField,
15487    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
15488    pub m_Enabled: u8,
15489    /**The game object this component is attached to. A component is always attached to a game object.*/
15490    /// PPtr<[`GameObject`]>: (5.0.0f4 - 2022.3.2f1)
15491    pub m_GameObject: PPtr,
15492    /**The speed to be maintained along the surface.*/
15493    pub m_Speed: f32,
15494    /**The speed variation (from zero to the variation) added to base speed to be applied.*/
15495    pub m_SpeedVariation: f32,
15496    /**The scale of the impulse force applied while attempting to reach the surface speed.*/
15497    /// f32: (5.0.1f1 - 2022.3.2f1)
15498    pub m_ForceScale: Option<f32>,
15499    /**Should bounce be used for any contact with the surface?*/
15500    /// bool: (5.0.1f1 - 2022.3.2f1)
15501    pub m_UseBounce: Option<bool>,
15502    /**Should the collider-mask be used or the global collision matrix?*/
15503    /// bool: (5.0.2f1 - 2022.3.2f1)
15504    pub m_UseColliderMask: Option<bool>,
15505    /**Should the impulse force but applied to the contact point?*/
15506    /// bool: (5.0.1f1 - 2022.3.2f1)
15507    pub m_UseContactForce: Option<bool>,
15508    /**Should friction be used for any contact with the surface?*/
15509    /// bool: (5.0.1f1 - 2022.3.2f1)
15510    pub m_UseFriction: Option<bool>,
15511}
15512
15513/// TagManager is a  class of the Unity engine since version 3.4.0.
15514#[derive(Debug, Serialize, Deserialize)]
15515pub struct TagManager {
15516    pub tags: Vec<String>,
15517    /// String: (3.4.0 - 4.7.2)
15518    #[serde(alias = "Builtin Layer 0")]
15519    pub Builtin_Layer_0: Option<String>,
15520    /// String: (3.4.0 - 4.7.2)
15521    #[serde(alias = "Builtin Layer 1")]
15522    pub Builtin_Layer_1: Option<String>,
15523    /// String: (3.4.0 - 4.7.2)
15524    #[serde(alias = "Builtin Layer 2")]
15525    pub Builtin_Layer_2: Option<String>,
15526    /// String: (3.4.0 - 4.7.2)
15527    #[serde(alias = "Builtin Layer 3")]
15528    pub Builtin_Layer_3: Option<String>,
15529    /// String: (3.4.0 - 4.7.2)
15530    #[serde(alias = "Builtin Layer 4")]
15531    pub Builtin_Layer_4: Option<String>,
15532    /// String: (3.4.0 - 4.7.2)
15533    #[serde(alias = "Builtin Layer 5")]
15534    pub Builtin_Layer_5: Option<String>,
15535    /// String: (3.4.0 - 4.7.2)
15536    #[serde(alias = "Builtin Layer 6")]
15537    pub Builtin_Layer_6: Option<String>,
15538    /// String: (3.4.0 - 4.7.2)
15539    #[serde(alias = "Builtin Layer 7")]
15540    pub Builtin_Layer_7: Option<String>,
15541    /// String: (3.4.0 - 4.7.2)
15542    #[serde(alias = "User Layer 10")]
15543    pub User_Layer_10: Option<String>,
15544    /// String: (3.4.0 - 4.7.2)
15545    #[serde(alias = "User Layer 11")]
15546    pub User_Layer_11: Option<String>,
15547    /// String: (3.4.0 - 4.7.2)
15548    #[serde(alias = "User Layer 12")]
15549    pub User_Layer_12: Option<String>,
15550    /// String: (3.4.0 - 4.7.2)
15551    #[serde(alias = "User Layer 13")]
15552    pub User_Layer_13: Option<String>,
15553    /// String: (3.4.0 - 4.7.2)
15554    #[serde(alias = "User Layer 14")]
15555    pub User_Layer_14: Option<String>,
15556    /// String: (3.4.0 - 4.7.2)
15557    #[serde(alias = "User Layer 15")]
15558    pub User_Layer_15: Option<String>,
15559    /// String: (3.4.0 - 4.7.2)
15560    #[serde(alias = "User Layer 16")]
15561    pub User_Layer_16: Option<String>,
15562    /// String: (3.4.0 - 4.7.2)
15563    #[serde(alias = "User Layer 17")]
15564    pub User_Layer_17: Option<String>,
15565    /// String: (3.4.0 - 4.7.2)
15566    #[serde(alias = "User Layer 18")]
15567    pub User_Layer_18: Option<String>,
15568    /// String: (3.4.0 - 4.7.2)
15569    #[serde(alias = "User Layer 19")]
15570    pub User_Layer_19: Option<String>,
15571    /// String: (3.4.0 - 4.7.2)
15572    #[serde(alias = "User Layer 20")]
15573    pub User_Layer_20: Option<String>,
15574    /// String: (3.4.0 - 4.7.2)
15575    #[serde(alias = "User Layer 21")]
15576    pub User_Layer_21: Option<String>,
15577    /// String: (3.4.0 - 4.7.2)
15578    #[serde(alias = "User Layer 22")]
15579    pub User_Layer_22: Option<String>,
15580    /// String: (3.4.0 - 4.7.2)
15581    #[serde(alias = "User Layer 23")]
15582    pub User_Layer_23: Option<String>,
15583    /// String: (3.4.0 - 4.7.2)
15584    #[serde(alias = "User Layer 24")]
15585    pub User_Layer_24: Option<String>,
15586    /// String: (3.4.0 - 4.7.2)
15587    #[serde(alias = "User Layer 25")]
15588    pub User_Layer_25: Option<String>,
15589    /// String: (3.4.0 - 4.7.2)
15590    #[serde(alias = "User Layer 26")]
15591    pub User_Layer_26: Option<String>,
15592    /// String: (3.4.0 - 4.7.2)
15593    #[serde(alias = "User Layer 27")]
15594    pub User_Layer_27: Option<String>,
15595    /// String: (3.4.0 - 4.7.2)
15596    #[serde(alias = "User Layer 28")]
15597    pub User_Layer_28: Option<String>,
15598    /// String: (3.4.0 - 4.7.2)
15599    #[serde(alias = "User Layer 29")]
15600    pub User_Layer_29: Option<String>,
15601    /// String: (3.4.0 - 4.7.2)
15602    #[serde(alias = "User Layer 30")]
15603    pub User_Layer_30: Option<String>,
15604    /// String: (3.4.0 - 4.7.2)
15605    #[serde(alias = "User Layer 31")]
15606    pub User_Layer_31: Option<String>,
15607    /// String: (3.4.0 - 4.7.2)
15608    #[serde(alias = "User Layer 8")]
15609    pub User_Layer_8: Option<String>,
15610    /// String: (3.4.0 - 4.7.2)
15611    #[serde(alias = "User Layer 9")]
15612    pub User_Layer_9: Option<String>,
15613    /// Vec<String>: (5.0.0f4 - 2022.3.2f1)
15614    pub layers: Option<Vec<String>>,
15615    /// Vec<SortingLayerEntry>: (4.3.0 - 2022.3.2f1)
15616    pub m_SortingLayers: Option<Vec<SortingLayerEntry>>,
15617}
15618
15619/// TakeInfo is a sub class of the Unity engine since version 4.0.0.
15620/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/TakeInfo.html):
15621/**
15622A Takeinfo object contains all the information needed to describe a take.
15623See Also: ModelImporter.importedTakeInfos.
15624*/
15625#[derive(Debug, Serialize, Deserialize)]
15626pub struct TakeInfo {
15627    /**Start time in second.*/
15628    pub bakeStartTime: f32,
15629    /**Stop time in second.*/
15630    pub bakeStopTime: f32,
15631    /// PPtr<[`AnimationClip`]>: (4.0.0 - 2022.3.2f1)
15632    pub clip: PPtr,
15633    /**This is the default clip name for the clip generated for this take.*/
15634    pub defaultClipName: String,
15635    /**Take name as define from imported file.*/
15636    pub name: String,
15637    /**Sample rate of the take.*/
15638    pub sampleRate: f32,
15639    /**Start time in second.*/
15640    pub startTime: f32,
15641    /**Stop time in second.*/
15642    pub stopTime: f32,
15643    /// i64: (2019.1.0b1 - 2022.3.2f1)
15644    pub internalID: Option<i64>,
15645}
15646
15647/// TargetJoint2D is a  class of the Unity engine since version 5.3.0f1.
15648/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/TargetJoint2D.html):
15649/**
15650The joint attempts to move a Rigidbody2D to a specific target position.
15651This joint is the only joint that doesn't connect two Rigidbody2D together.  Instead, it only operates on the single body it is connected to.When connected, it will attempt to move the body to a specified target position.  When setting a target you can also set the anchor position which is a point relative to the Rigidbody2D where forces will be applied.The joint moves the body using a configurable spring that has a force limit.An example usage for this joint might be to enable Collider2D to be dragged, selecting an anchor point and moving the body to the position under the mouse.
15652*/
15653#[derive(Debug, Serialize, Deserialize)]
15654pub struct TargetJoint2D {
15655    /**The local-space anchor on the rigid-body the joint is attached to.*/
15656    pub m_Anchor: Vector2f,
15657    /**Should the target be calculated automatically?*/
15658    pub m_AutoConfigureTarget: bool,
15659    /**The force that needs to be applied for this joint to break.*/
15660    pub m_BreakForce: f32,
15661    /**The torque that needs to be applied for this joint to break.*/
15662    pub m_BreakTorque: f32,
15663    /// PPtr<[`Rigidbody2D`]>: (5.3.0f1 - 2022.3.2f1)
15664    pub m_ConnectedRigidBody: PPtr,
15665    /**The amount by which the target spring force is reduced in proportion to the movement speed.*/
15666    pub m_DampingRatio: f32,
15667    /**Should the two rigid bodies connected with this joint collide with each other?*/
15668    pub m_EnableCollision: bool,
15669    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
15670    pub m_Enabled: u8,
15671    /**The frequency at which the target spring oscillates around the target position.*/
15672    pub m_Frequency: f32,
15673    /**The game object this component is attached to. A component is always attached to a game object.*/
15674    /// PPtr<[`GameObject`]>: (5.3.0f1 - 2022.3.2f1)
15675    pub m_GameObject: PPtr,
15676    /**The maximum force that can be generated when trying to maintain the target joint constraint.*/
15677    pub m_MaxForce: f32,
15678    /**The world-space position that the joint will attempt to move the body to.*/
15679    pub m_Target: Vector2f,
15680    /**The action to take when the joint breaks the breakForce or breakTorque.*/
15681    /// i32: (2022.2.0b1 - 2022.3.2f1)
15682    pub m_BreakAction: Option<i32>,
15683}
15684
15685/// Terrain is a  class of the Unity engine since version 5.0.0f4.
15686/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Terrain.html):
15687/**
15688The Terrain component renders the terrain.
15689*/
15690#[derive(Debug, Serialize, Deserialize)]
15691pub struct Terrain {
15692    /**Specifies if an array of internal light probes should be baked for terrain trees. Available only in editor.*/
15693    pub m_BakeLightProbesForTrees: bool,
15694    pub m_ChunkDynamicUVST: Vector4f,
15695    /**Density of detail objects.*/
15696    pub m_DetailObjectDensity: f32,
15697    /**Detail objects will be displayed up to this distance.*/
15698    pub m_DetailObjectDistance: f32,
15699    /**Indicates whether Unity draws the Terrain geometry itself.*/
15700    pub m_DrawHeightmap: bool,
15701    /**Specify if terrain trees and details should be drawn.*/
15702    pub m_DrawTreesAndFoliage: bool,
15703    pub m_DynamicUVST: Vector4f,
15704    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
15705    pub m_Enabled: u8,
15706    /**The game object this component is attached to. A component is always attached to a game object.*/
15707    /// PPtr<[`GameObject`]>: (5.0.0f4 - 2022.3.2f1)
15708    pub m_GameObject: PPtr,
15709    /**Lets you essentially lower the heightmap resolution used for rendering.*/
15710    pub m_HeightmapMaximumLOD: i32,
15711    /**An approximation of how many pixels the terrain will pop in the worst case when switching lod.*/
15712    pub m_HeightmapPixelError: f32,
15713    /**The index of the baked lightmap applied to this terrain.*/
15714    pub m_LightmapIndex: u16,
15715    pub m_LightmapIndexDynamic: u16,
15716    pub m_LightmapTilingOffset: Vector4f,
15717    pub m_LightmapTilingOffsetDynamic: Vector4f,
15718    /**The custom material Unity uses to render the Terrain.*/
15719    /// PPtr<[`Material`]>: (5.0.0f4 - 2022.3.2f1)
15720    pub m_MaterialTemplate: PPtr,
15721    /**How reflection probes are used for terrain. See ReflectionProbeUsage.*/
15722    pub m_ReflectionProbeUsage: i32,
15723    pub m_SplatMapDistance: f32,
15724    /**The Terrain Data that stores heightmaps, terrain textures, detail meshes and trees.*/
15725    /// PPtr<[`TerrainData`]>: (5.0.0f4 - 2022.3.2f1)
15726    pub m_TerrainData: PPtr,
15727    /**Distance from the camera where trees will be rendered as billboards only.*/
15728    pub m_TreeBillboardDistance: f32,
15729    /**Total distance delta that trees will use to transition from billboard orientation to mesh orientation.*/
15730    pub m_TreeCrossFadeLength: f32,
15731    /**The maximum distance at which trees are rendered.*/
15732    pub m_TreeDistance: f32,
15733    /**Maximum number of trees rendered at full LOD.*/
15734    pub m_TreeMaximumFullLODCount: i32,
15735    /**Specifies if the terrain tile will be automatically connected to adjacent tiles.*/
15736    /// bool: (2018.3.0f2 - 2022.3.2f1)
15737    pub m_AllowAutoConnect: Option<bool>,
15738    /// bool: (5.0.0f4 - 2018.4.36f1)
15739    pub m_CastShadows: Option<bool>,
15740    /// f32: (5.0.0f4 - 5.0.0f4)
15741    pub m_DefaultSmoothness: Option<f32>,
15742    /**Set to true to enable the terrain instance renderer. The default value is false.*/
15743    /// bool: (2018.3.0f2 - 2022.3.2f1)
15744    pub m_DrawInstanced: Option<bool>,
15745    /**When this options is enabled, Terrain heightmap geometries will be added in acceleration structures used for Ray Tracing.*/
15746    /// bool: (2022.2.0b1 - 2022.3.2f1)
15747    pub m_EnableHeightmapRayTracing: Option<bool>,
15748    /// bool: (2022.2.0b1 - 2022.3.2f1)
15749    pub m_EnableTreesAndDetailsRayTracing: Option<bool>,
15750    /// Hash128: (2017.2.0b2 - 2022.3.2f1)
15751    pub m_ExplicitProbeSetHash: Option<Hash128>,
15752    /**Grouping ID for auto connect.*/
15753    /// i32: (2018.3.0f2 - 2022.3.2f1)
15754    pub m_GroupingID: Option<i32>,
15755    /**When enabled, the terrain ignores the terrain overrides set in the QualitySettings.*/
15756    /// bool: (2022.2.0b1 - 2022.3.2f1)
15757    pub m_IgnoreQualitySettings: Option<bool>,
15758    /// f32: (5.0.0f4 - 2019.2.0a7)
15759    pub m_LegacyShininess: Option<f32>,
15760    /// ColorRGBA: (5.0.0f4 - 2019.2.0a7)
15761    pub m_LegacySpecular: Option<ColorRGBA>,
15762    /// i32: (5.0.0f4 - 2019.2.0a7)
15763    pub m_MaterialType: Option<i32>,
15764    /**Allows you to specify how Unity chooses the layer for tree instances.*/
15765    /// bool: (2018.2.0f2 - 2022.3.2f1)
15766    pub m_PreserveTreePrototypeLayers: Option<bool>,
15767    /**Determines which rendering layers the Terrain renderer lives on.*/
15768    /// u32: (2019.3.0b1 - 2022.3.2f1)
15769    pub m_RenderingLayerMask: Option<u32>,
15770    /**Allows you to set the shadow casting mode for the terrain.*/
15771    /// i32: (2019.1.0b1 - 2022.3.2f1)
15772    pub m_ShadowCastingMode: Option<i32>,
15773    /// bool: (2021.1.0b1 - 2022.3.2f1)
15774    pub m_StaticShadowCaster: Option<bool>,
15775    /// bool: (5.0.0f4 - 5.0.0f4)
15776    pub m_UseDefaultSmoothness: Option<bool>,
15777}
15778
15779/// TerrainCollider is a  class of the Unity engine since version 3.4.0.
15780/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/TerrainCollider.html):
15781/**
15782A heightmap based collider.
15783See Also: SphereCollider, CapsuleCollider, PhysicMaterial, Rigidbody.
15784*/
15785#[derive(Debug, Serialize, Deserialize)]
15786pub struct TerrainCollider {
15787    /**Enabled Colliders will collide with other Colliders, disabled Colliders won't.*/
15788    pub m_Enabled: bool,
15789    /**The game object this component is attached to. A component is always attached to a game object.*/
15790    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
15791    pub m_GameObject: PPtr,
15792    /**The terrain that stores the heightmap.*/
15793    /// PPtr<[`TerrainData`]>: (3.4.0 - 2022.3.2f1)
15794    pub m_TerrainData: PPtr,
15795    /// bool: (3.4.0 - 4.7.2)
15796    pub m_CreateTreeColliders: Option<bool>,
15797    /// bool: (5.0.0f4 - 2022.3.2f1)
15798    pub m_EnableTreeColliders: Option<bool>,
15799    /**The additional layers that this Collider should exclude when deciding if the Collider can contact another Collider.*/
15800    /// BitField: (2022.2.0b1 - 2022.3.2f1)
15801    pub m_ExcludeLayers: Option<BitField>,
15802    /**The additional layers that this Collider should include when deciding if the Collider can contact another Collider.*/
15803    /// BitField: (2022.2.0b1 - 2022.3.2f1)
15804    pub m_IncludeLayers: Option<BitField>,
15805    /**Specify if this collider is configured as a trigger.*/
15806    /// bool: (3.4.0 - 4.7.2)
15807    pub m_IsTrigger: Option<bool>,
15808    /**A decision priority assigned to this Collider used when there is a conflicting decision on whether a Collider can contact another Collider.*/
15809    /// i32: (2022.2.0b1 - 2022.3.2f1)
15810    pub m_LayerOverridePriority: Option<i32>,
15811    /**The material used by the collider.*/
15812    /// PPtr<[`PhysicMaterial`]>: (3.4.0 - 2022.3.2f1)
15813    pub m_Material: Option<PPtr>,
15814    /**Whether or not this Collider generates contacts for Physics.ContactEvent.*/
15815    /// bool: (2022.2.0b1 - 2022.3.2f1)
15816    pub m_ProvidesContacts: Option<bool>,
15817}
15818
15819/// TerrainData is a  class of the Unity engine since version 3.4.0.
15820/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/TerrainData.html):
15821/**
15822The TerrainData class stores heightmaps, detail mesh positions, tree instances, and terrain texture alpha maps.
15823The Terrain component links to the terrain data and renders it.
15824*/
15825#[derive(Debug, Serialize, Deserialize)]
15826pub struct TerrainData {
15827    pub m_DetailDatabase: DetailDatabase,
15828    pub m_Heightmap: Heightmap,
15829    /**The name of the object.*/
15830    pub m_Name: String,
15831    pub m_SplatDatabase: SplatDatabase,
15832    /// Vec<PPtr<[`Shader`]>>: (2018.4.14f1 - 2022.3.2f1)
15833    pub m_PreloadShaders: Option<Vec<PPtr>>,
15834}
15835
15836/// TerrainLayer is a  class of the Unity engine since version 2018.3.0f2.
15837/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/TerrainLayer.html):
15838/**
15839Description of a terrain layer.
15840*/
15841#[derive(Debug, Serialize, Deserialize)]
15842pub struct TerrainLayer {
15843    /**A Vector4 value specifying the maximum RGBA value that the diffuse texture maps to when the value of the channel is 1.*/
15844    pub m_DiffuseRemapMax: Vector4f,
15845    /**A Vector4 value specifying the minimum RGBA value that the diffuse texture maps to when the value of the channel is 0.*/
15846    pub m_DiffuseRemapMin: Vector4f,
15847    /**The diffuse texture used by the terrain layer.*/
15848    /// PPtr<[`Texture2D`]>: (2018.3.0f2 - 2022.3.2f1)
15849    pub m_DiffuseTexture: PPtr,
15850    /**A Vector4 value specifying the maximum RGBA value that the mask map texture maps to when the value of the channel is 1.*/
15851    pub m_MaskMapRemapMax: Vector4f,
15852    /**A Vector4 value specifying the minimum RGBA value that the mask map texture maps to when the value of the channel is 0.*/
15853    pub m_MaskMapRemapMin: Vector4f,
15854    /**The mask map texture used by the terrain layer.*/
15855    /// PPtr<[`Texture2D`]>: (2018.3.0f2 - 2022.3.2f1)
15856    pub m_MaskMapTexture: PPtr,
15857    /**Metallic factor used by the terrain layer.*/
15858    pub m_Metallic: f32,
15859    /**The name of the object.*/
15860    pub m_Name: String,
15861    /**Normal map texture used by the terrain layer.*/
15862    /// PPtr<[`Texture2D`]>: (2018.3.0f2 - 2022.3.2f1)
15863    pub m_NormalMapTexture: PPtr,
15864    /**A float value that scales the normal vector. The minimum value is 0, the maximum value is 1.*/
15865    pub m_NormalScale: f32,
15866    /**Smoothness of the specular reflection.*/
15867    pub m_Smoothness: f32,
15868    /**Specular color.*/
15869    pub m_Specular: ColorRGBA,
15870    /**UV tiling offset.*/
15871    pub m_TileOffset: Vector2f,
15872    /**UV Tiling size.*/
15873    pub m_TileSize: Vector2f,
15874}
15875
15876/// TestObjectVectorPairStringBool is a  class of the Unity engine since version 2019.1.0b1.
15877#[derive(Debug, Serialize, Deserialize)]
15878pub struct TestObjectVectorPairStringBool {
15879    pub m_Map: Vec<(String, bool)>,
15880    pub m_String: String,
15881}
15882
15883/// TestObjectWithSerializedAnimationCurve is a  class of the Unity engine since version 2019.1.0b1.
15884#[derive(Debug, Serialize, Deserialize)]
15885pub struct TestObjectWithSerializedAnimationCurve {
15886    pub m_Curve: AnimationCurve,
15887}
15888
15889/// TestObjectWithSerializedArray is a  class of the Unity engine since version 2019.1.0b1.
15890#[derive(Debug, Serialize, Deserialize)]
15891pub struct TestObjectWithSerializedArray {
15892    pub m_ClampTestValue: f32,
15893    pub m_IntegerArray: Vec<i32>,
15894}
15895
15896/// TestObjectWithSerializedMapStringBool is a  class of the Unity engine since version 2019.1.0b1.
15897#[derive(Debug, Serialize, Deserialize)]
15898pub struct TestObjectWithSerializedMapStringBool {
15899    pub m_Map: Vec<(String, bool)>,
15900    pub m_String: String,
15901}
15902
15903/// TestObjectWithSerializedMapStringNonAlignedStruct is a  class of the Unity engine since version 2019.1.0b1.
15904#[derive(Debug, Serialize, Deserialize)]
15905pub struct TestObjectWithSerializedMapStringNonAlignedStruct {
15906    pub m_Map: Vec<(String, NonAlignedStruct)>,
15907    pub m_String: String,
15908}
15909
15910/// TestObjectWithSpecialLayoutOne is a  class of the Unity engine since version 2019.1.0b1.
15911#[derive(Debug, Serialize, Deserialize)]
15912pub struct TestObjectWithSpecialLayoutOne {
15913    pub differentLayout: LayoutDataOne,
15914    pub sameLayout: LayoutDataOne,
15915}
15916
15917/// TestObjectWithSpecialLayoutTwo is a  class of the Unity engine since version 2019.1.0b1.
15918#[derive(Debug, Serialize, Deserialize)]
15919pub struct TestObjectWithSpecialLayoutTwo {
15920    pub differentLayout: LayoutDataTwo,
15921    pub sameLayout: LayoutDataThree,
15922}
15923
15924/// Tetrahedron is a sub class of the Unity engine since version 3.5.0.
15925#[derive(Debug, Serialize, Deserialize)]
15926pub struct Tetrahedron {
15927    pub matrix: Matrix3x4f,
15928    /// i32: (3.5.0 - 2022.3.2f1)
15929    #[serde(alias = "indices[0]")]
15930    pub indices_0_: Option<i32>,
15931    /// i32: (3.5.0 - 2022.3.2f1)
15932    #[serde(alias = "indices[1]")]
15933    pub indices_1_: Option<i32>,
15934    /// i32: (3.5.0 - 2022.3.2f1)
15935    #[serde(alias = "indices[2]")]
15936    pub indices_2_: Option<i32>,
15937    /// i32: (3.5.0 - 2022.3.2f1)
15938    #[serde(alias = "indices[3]")]
15939    pub indices_3_: Option<i32>,
15940    /// i32: (3.5.0 - 2022.3.2f1)
15941    #[serde(alias = "neighbors[0]")]
15942    pub neighbors_0_: Option<i32>,
15943    /// i32: (3.5.0 - 2022.3.2f1)
15944    #[serde(alias = "neighbors[1]")]
15945    pub neighbors_1_: Option<i32>,
15946    /// i32: (3.5.0 - 2022.3.2f1)
15947    #[serde(alias = "neighbors[2]")]
15948    pub neighbors_2_: Option<i32>,
15949    /// i32: (3.5.0 - 2022.3.2f1)
15950    #[serde(alias = "neighbors[3]")]
15951    pub neighbors_3_: Option<i32>,
15952}
15953
15954/// TextAsset is a  class of the Unity engine since version 3.4.0.
15955/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/TextAsset.html):
15956/**
15957Represents a raw text or binary file asset.
15958You can use raw text files in your project as assets and get their contents through
15959
15960this class. For more information, see text.You can access the file as a raw byte array to access data from binary files. For more
15961
15962information on how to access data from binary files, see bytes and GetData.For more information about importing text or binary files into your project as Text Assets,
15963
15964see Text Asset.
15965*/
15966#[derive(Debug, Serialize, Deserialize)]
15967pub struct TextAsset {
15968    /**The name of the object.*/
15969    pub m_Name: String,
15970    pub m_Script: String,
15971    /// String: (3.4.0 - 2017.1.0b1)
15972    pub m_PathName: Option<String>,
15973}
15974
15975/// TextMesh is a  class of the Unity engine since version 3.4.0.
15976/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/TextMesh.html):
15977/**
15978A script interface for the text mesh component.
15979See Also: text mesh component.
15980*/
15981#[derive(Debug, Serialize, Deserialize)]
15982pub struct TextMesh {
15983    /**How lines of text are aligned (Left, Right, Center).*/
15984    pub m_Alignment: i16,
15985    /**Which point of the text shares the position of the Transform.*/
15986    pub m_Anchor: i16,
15987    /**The size of each character (This scales the whole text).*/
15988    pub m_CharacterSize: f32,
15989    /**The Font used.*/
15990    /// PPtr<[`Font`]>: (3.4.0 - 2022.3.2f1)
15991    pub m_Font: PPtr,
15992    /**The font size to use (for dynamic fonts).*/
15993    pub m_FontSize: i32,
15994    /**The font style to use (for dynamic fonts).*/
15995    pub m_FontStyle: i32,
15996    /**The game object this component is attached to. A component is always attached to a game object.*/
15997    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
15998    pub m_GameObject: PPtr,
15999    /**How much space will be in-between lines of text.*/
16000    pub m_LineSpacing: f32,
16001    /**How far should the text be offset from the transform.position.z when drawing.*/
16002    pub m_OffsetZ: f32,
16003    /**How much space will be inserted for a tab '\t' character. This is a multiplum of the 'spacebar' character offset.*/
16004    pub m_TabSize: f32,
16005    /**The text that is displayed.*/
16006    pub m_Text: String,
16007    /**The color used to render the text.*/
16008    /// ColorRGBA: (4.2.0 - 2022.3.2f1)
16009    pub m_Color: Option<ColorRGBA>,
16010    /**Enable HTML-style tags for Text Formatting Markup.*/
16011    /// bool: (4.0.0 - 2022.3.2f1)
16012    pub m_RichText: Option<bool>,
16013}
16014
16015/// TextScriptImporter is a  class of the Unity engine since version 4.0.0.
16016#[derive(Debug, Serialize, Deserialize)]
16017pub struct TextScriptImporter {
16018    pub m_Name: String,
16019    pub m_UserData: String,
16020    /// String: (5.0.0f4 - 2022.3.2f1)
16021    pub m_AssetBundleName: Option<String>,
16022    /// String: (5.0.0f4 - 2022.3.2f1)
16023    pub m_AssetBundleVariant: Option<String>,
16024    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
16025    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
16026    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
16027    pub m_UsedFileIDs: Option<Vec<i64>>,
16028}
16029
16030/// Texture is a  class of the Unity engine since version 5.0.0f4.
16031/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Texture.html):
16032/**
16033Base class for Texture handling.
16034*/
16035#[derive(Debug, Serialize, Deserialize)]
16036pub struct Texture {
16037    /**The name of the object.*/
16038    pub m_Name: String,
16039    /// bool: (2017.3.0b1 - 2022.3.2f1)
16040    pub m_DownscaleFallback: Option<bool>,
16041    /// i32: (2017.3.0b1 - 2022.3.2f1)
16042    pub m_ForcedFallbackFormat: Option<i32>,
16043    /// bool: (2020.2.0b1 - 2022.3.2f1)
16044    pub m_IsAlphaChannelOptional: Option<bool>,
16045}
16046
16047/// Texture2D is a  class of the Unity engine since version 3.4.0.
16048/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Texture2D.html):
16049/**
16050Class that represents textures in C# code.
16051Use this class to create textures, or to modify existing texture assets.The ImageConversion class provides extension methods to this class that handle image encoding functionality. For details on those methods, see the ImageConversion documentation.Do not assume that the texture will be created and available in Awake. All texture uploads are synchronized on the Main thread at Start. Perform texture operations in Start.
16052*/
16053#[derive(Debug, Serialize, Deserialize)]
16054pub struct Texture2D {
16055    pub m_CompleteImageSize: i64,
16056    /**Height of the Texture in pixels (Read Only).*/
16057    pub m_Height: i32,
16058    pub m_ImageCount: i32,
16059    /**Whether Unity stores an additional copy of this texture's pixel data in CPU-addressable memory.*/
16060    pub m_IsReadable: bool,
16061    pub m_LightmapFormat: i32,
16062    /**The name of the object.*/
16063    pub m_Name: String,
16064    pub m_TextureDimension: i32,
16065    pub m_TextureFormat: i32,
16066    pub m_TextureSettings: GLTextureSettings,
16067    /**Width of the Texture in pixels (Read Only).*/
16068    pub m_Width: i32,
16069    /// Vec<u8>: (3.4.0 - 2022.3.2f1)
16070    #[serde(alias = "image data")]
16071    pub image_data: Option<Vec<u8>>,
16072    /// i32: (3.5.0 - 2022.3.2f1)
16073    pub m_ColorSpace: Option<i32>,
16074    /// bool: (2017.3.0b1 - 2022.3.2f1)
16075    pub m_DownscaleFallback: Option<bool>,
16076    /// i32: (2017.3.0b1 - 2022.3.2f1)
16077    pub m_ForcedFallbackFormat: Option<i32>,
16078    /// bool: (2019.3.0f6 - 2022.2.0a18)
16079    pub m_IgnoreMasterTextureLimit: Option<bool>,
16080    /**This property causes a texture to ignore all texture mipmap limit settings.*/
16081    /// bool: (2022.2.0f1 - 2022.3.2f1)
16082    pub m_IgnoreMipmapLimit: Option<bool>,
16083    /// bool: (2020.2.0b1 - 2022.3.2f1)
16084    pub m_IsAlphaChannelOptional: Option<bool>,
16085    /// bool: (2019.4.9f1 - 2022.3.2f1)
16086    pub m_IsPreProcessed: Option<bool>,
16087    /// i32: (5.2.0f2 - 2022.3.2f1)
16088    pub m_MipCount: Option<i32>,
16089    /// bool: (3.4.0 - 5.1.5f1)
16090    pub m_MipMap: Option<bool>,
16091    /// String: (2022.2.0f1 - 2022.3.2f1)
16092    pub m_MipmapLimitGroupName: Option<String>,
16093    /// i32: (2020.1.0b1 - 2022.3.2f1)
16094    pub m_MipsStripped: Option<i32>,
16095    /// Vec<u8>: (2020.2.0b1 - 2022.3.2f1)
16096    pub m_PlatformBlob: Option<Vec<u8>>,
16097    /// bool: (3.4.0 - 5.4.6f3)
16098    pub m_ReadAllowed: Option<bool>,
16099    /// StreamingInfo: (5.3.0f1 - 2022.3.2f1)
16100    pub m_StreamData: Option<StreamingInfo>,
16101    /**Determines whether mipmap streaming is enabled for this Texture.*/
16102    /// bool: (2018.2.0b1 - 2022.3.2f1)
16103    pub m_StreamingMipmaps: Option<bool>,
16104    /**Sets the relative priority for this Texture when reducing memory size to fit within the memory budget.*/
16105    /// i32: (2018.2.0b1 - 2022.3.2f1)
16106    pub m_StreamingMipmapsPriority: Option<i32>,
16107}
16108
16109/// Texture2DArray is a  class of the Unity engine since version 5.4.0f3.
16110/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Texture2DArray.html):
16111/**
16112Class for handling 2D texture arrays.
16113Modern graphics APIs (e.g. D3D10 and later, OpenGL ES 3.0 and later, Metal etc.) support "texture arrays", which is an array of same size & format textures.
16114
16115From the shader side, they are treated as a single resource, and sampling them needs an extra coordinate that indicates which array element to sample from.Typically texture arrays are useful as an alternative for texture atlases, or in other cases where objects use a set of same-sized textures (e.g. terrains).Currently in Unity texture arrays do not have an import pipeline for them, and must be created from code, either at runtime or in editor scripts.
16116
16117Using Graphics.CopyTexture is useful for fast copying of pixel data from regular 2D textures into elements of a texture array. From editor scripts,
16118
16119a common way of creating serialized texture array is to create it, fill with data (either via Graphics.CopyTexture from regular 2D textures, or via SetPixels or
16120
16121SetPixels32) and save it as an asset via AssetDatabase.CreateAsset.Note that not all platforms and GPUs support texture arrays; for example Direct3D9 and OpenGL ES 2.0 do not. Use SystemInfo.supports2DArrayTextures to check. Also, this class does not support Texture2DArray creation with a Crunch compression TextureFormat.
16122*/
16123#[derive(Debug, Serialize, Deserialize)]
16124pub struct Texture2DArray {
16125    pub m_ColorSpace: i32,
16126    pub m_DataSize: u32,
16127    /**Number of elements in a texture array (Read Only).*/
16128    pub m_Depth: i32,
16129    /**Texture format (Read Only).*/
16130    pub m_Format: i32,
16131    /**Height of the Texture in pixels (Read Only).*/
16132    pub m_Height: i32,
16133    /**Whether Unity stores an additional copy of this texture's pixel data in CPU-addressable memory.*/
16134    pub m_IsReadable: bool,
16135    pub m_MipCount: i32,
16136    /**The name of the object.*/
16137    pub m_Name: String,
16138    pub m_TextureSettings: GLTextureSettings,
16139    /**Width of the Texture in pixels (Read Only).*/
16140    pub m_Width: i32,
16141    /// Vec<u8>: (5.4.0f3 - 2022.3.2f1)
16142    #[serde(alias = "image data")]
16143    pub image_data: Option<Vec<u8>>,
16144    /// bool: (2017.3.0b1 - 2022.3.2f1)
16145    pub m_DownscaleFallback: Option<bool>,
16146    /// i32: (2017.3.0b1 - 2022.3.2f1)
16147    pub m_ForcedFallbackFormat: Option<i32>,
16148    /// bool: (2020.2.0b1 - 2022.3.2f1)
16149    pub m_IsAlphaChannelOptional: Option<bool>,
16150    /// StreamingInfo: (5.6.0b1 - 2022.3.2f1)
16151    pub m_StreamData: Option<StreamingInfo>,
16152    /// i32: (2020.2.0b1 - 2022.3.2f1)
16153    pub m_UsageMode: Option<i32>,
16154}
16155
16156/// Texture3D is a  class of the Unity engine since version 4.0.0.
16157/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Texture3D.html):
16158/**
16159Class for handling 3D Textures, Use this to create 3D texture assets.
161603D textures are commonly used as lookup tables by shaders, or to represent volumetric data.Typically you'd create a 3D texture, fill it up with data (SetPixels or SetPixels32) and call
16161
16162Apply to upload the data to the GPU.Note that this class does not support Texture3D creation with a Crunch compression TextureFormat.
16163*/
16164#[derive(Debug, Serialize, Deserialize)]
16165pub struct Texture3D {
16166    pub m_DataSize: u32,
16167    /**The depth of the texture (Read Only).*/
16168    pub m_Depth: i32,
16169    /**The format of the pixel data in the texture (Read Only).*/
16170    pub m_Format: i64,
16171    /**Height of the Texture in pixels (Read Only).*/
16172    pub m_Height: i32,
16173    /**The name of the object.*/
16174    pub m_Name: String,
16175    pub m_TextureSettings: GLTextureSettings,
16176    /**Width of the Texture in pixels (Read Only).*/
16177    pub m_Width: i32,
16178    /// Vec<u8>: (4.0.0 - 2022.3.2f1)
16179    #[serde(alias = "image data")]
16180    pub image_data: Option<Vec<u8>>,
16181    /// i32: (2019.1.0b1 - 2022.3.2f1)
16182    pub m_ColorSpace: Option<i32>,
16183    /// bool: (2017.3.0b1 - 2022.3.2f1)
16184    pub m_DownscaleFallback: Option<bool>,
16185    /// i32: (2017.3.0b1 - 2022.3.2f1)
16186    pub m_ForcedFallbackFormat: Option<i32>,
16187    /// bool: (2020.2.0b1 - 2022.3.2f1)
16188    pub m_IsAlphaChannelOptional: Option<bool>,
16189    /**Whether Unity stores an additional copy of this texture's pixel data in CPU-addressable memory.*/
16190    /// bool: (5.4.0f3 - 2022.3.2f1)
16191    pub m_IsReadable: Option<bool>,
16192    /// i32: (5.2.0f2 - 2022.3.2f1)
16193    pub m_MipCount: Option<i32>,
16194    /// bool: (4.0.0 - 5.1.5f1)
16195    pub m_MipMap: Option<bool>,
16196    /// StreamingInfo: (5.6.0b1 - 2022.3.2f1)
16197    pub m_StreamData: Option<StreamingInfo>,
16198    /// i32: (2020.2.0b1 - 2022.3.2f1)
16199    pub m_UsageMode: Option<i32>,
16200}
16201
16202/// TextureImportInstructions is a sub class of the Unity engine since version 4.0.0.
16203#[derive(Debug, Serialize, Deserialize)]
16204pub struct TextureImportInstructions {
16205    pub colorSpace: i32,
16206    pub compressedFormat: i32,
16207    pub compressionQuality: i32,
16208    pub height: i32,
16209    pub uncompressedFormat: i32,
16210    pub usageMode: i32,
16211    pub width: i32,
16212    /// bool: (2017.3.0b1 - 2022.3.2f1)
16213    pub androidETC2FallbackDownscale: Option<bool>,
16214    /// i32: (2017.3.0b1 - 2022.3.2f1)
16215    pub androidETC2FallbackFormat: Option<i32>,
16216    /// i32: (2020.2.0b1 - 2022.3.2f1)
16217    pub cubeIntermediateSize: Option<i32>,
16218    /// i32: (2020.2.0b1 - 2022.3.2f1)
16219    pub cubeLayout: Option<i32>,
16220    /// i32: (2020.2.0b1 - 2022.3.2f1)
16221    pub cubeMode: Option<i32>,
16222    /// i32: (2020.2.0b1 - 2022.3.2f1)
16223    pub depth: Option<i32>,
16224    /// i32: (4.3.0 - 2022.3.2f1)
16225    pub desiredFormat: Option<i32>,
16226    /// i32: (4.0.0 - 5.4.6f3)
16227    pub recommendedFormat: Option<i32>,
16228    /// bool: (2020.1.0b1 - 2022.3.2f1)
16229    pub vtOnly: Option<bool>,
16230}
16231
16232/// TextureImportOutput is a sub class of the Unity engine since version 4.0.0.
16233#[derive(Debug, Serialize, Deserialize)]
16234pub struct TextureImportOutput {
16235    pub sourceTextureInformation: SourceTextureInformation,
16236    pub textureImportInstructions: TextureImportInstructions,
16237    /// String: (5.0.0f4 - 2022.3.2f1)
16238    pub importInspectorWarnings: Option<String>,
16239}
16240
16241/// TextureImporter is a  class of the Unity engine since version 3.4.0.
16242/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/TextureImporter.html):
16243/**
16244Texture importer lets you modify Texture2D import settings from editor scripts.
16245Settings of this class cover most of the settings exposed in Texture Import Settings. Some settings require you to use TextureImporterSettings. Refer to TextureImporter.SetTextureSettings).
16246*/
16247#[derive(Debug, Serialize, Deserialize)]
16248pub struct TextureImporter {
16249    /**Keeps texture borders the same when generating mipmaps.*/
16250    pub m_BorderMipMap: i32,
16251    /**Convert heightmap to normal map*/
16252    pub m_ConvertToNormalMap: i32,
16253    pub m_EnableMipMap: i32,
16254    pub m_ExternalNormalMap: i32,
16255    /**Fade out mip levels to gray color.*/
16256    pub m_FadeOut: i32,
16257    /**Cubemap generation mode.*/
16258    pub m_GenerateCubemap: i32,
16259    pub m_GrayScaleToAlpha: i32,
16260    pub m_HeightScale: f32,
16261    /**Whether Unity stores an additional copy of the imported texture's pixel data in CPU-addressable memory.*/
16262    pub m_IsReadable: i32,
16263    pub m_Lightmap: i32,
16264    /**Maximum texture size.*/
16265    pub m_MaxTextureSize: i32,
16266    /**Mip level where texture is faded out completely.*/
16267    pub m_MipMapFadeDistanceEnd: i32,
16268    /**Mip level where texture begins to fade out.*/
16269    pub m_MipMapFadeDistanceStart: i32,
16270    pub m_MipMapMode: i32,
16271    /**Scaling mode for non power of two textures.*/
16272    pub m_NPOTScale: i32,
16273    /**The name of the object.*/
16274    pub m_Name: String,
16275    /**Normal map filtering mode.*/
16276    pub m_NormalMapFilter: i32,
16277    pub m_TextureFormat: i32,
16278    pub m_TextureSettings: GLTextureSettings,
16279    /**Which type of texture are we dealing with here.*/
16280    pub m_TextureType: i32,
16281    /// i32: (3.5.0 - 5.4.6f3)
16282    pub correctGamma: Option<i32>,
16283    /// i32: (4.3.0 - 2022.3.2f1)
16284    pub m_Alignment: Option<i32>,
16285    /// i32: (5.2.0f2 - 5.4.3f1)
16286    pub m_AllowsAlphaSplitting: Option<i32>,
16287    /**If the alpha channel of your texture represents transparency, enable this property to dilate the color channels of visible texels into fully transparent areas. This effectively adds padding around transparent areas that prevents filtering artifacts from forming on their edges. Unity does not support this property for HDR textures.This property makes the color data of invisible texels undefined. Disable this property to preserve invisible texels' original color data.*/
16288    /// i32: (4.2.0 - 2022.3.2f1)
16289    pub m_AlphaIsTransparency: Option<i32>,
16290    /**Returns or assigns the alpha test reference value.*/
16291    /// f32: (2017.1.0b1 - 2022.3.2f1)
16292    pub m_AlphaTestReferenceValue: Option<f32>,
16293    /// i32: (5.5.0f3 - 2022.3.2f1)
16294    pub m_AlphaUsage: Option<i32>,
16295    /// i32: (2019.3.6f1 - 2022.3.2f1)
16296    pub m_ApplyGammaDecoding: Option<i32>,
16297    /**Get or set the AssetBundle name.*/
16298    /// String: (5.0.0f4 - 2022.3.2f1)
16299    pub m_AssetBundleName: Option<String>,
16300    /**Get or set the AssetBundle variant.*/
16301    /// String: (5.0.0f4 - 2022.3.2f1)
16302    pub m_AssetBundleVariant: Option<String>,
16303    /// Vec<BuildTargetSettings>: (3.4.0 - 5.4.6f3)
16304    pub m_BuildTargetSettings: Option<Vec<BuildTargetSettings>>,
16305    /**The quality of Crunch texture compression. The range is 0 through 100. A higher quality means larger textures and longer compression times.*/
16306    /// i32: (3.5.0 - 2022.3.2f1)
16307    pub m_CompressionQuality: Option<i32>,
16308    /// i32: (5.5.0f3 - 2022.3.2f1)
16309    pub m_CompressionQualitySet: Option<i32>,
16310    /// i32: (2020.3.38f1 - 2022.3.2f1)
16311    pub m_CookieLightType: Option<i32>,
16312    /// i32: (3.4.0 - 3.4.2)
16313    pub m_CorrectGamma: Option<i32>,
16314    /// i32: (5.0.0f4 - 2022.3.2f1)
16315    pub m_CubemapConvolution: Option<i32>,
16316    /// f32: (5.0.0f4 - 5.4.6f3)
16317    pub m_CubemapConvolutionExponent: Option<f32>,
16318    /// i32: (5.0.0f4 - 5.4.6f3)
16319    pub m_CubemapConvolutionSteps: Option<i32>,
16320    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
16321    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
16322    /// Vec<(i32, String)>: (3.4.0 - 4.7.2); Vec<(i64, String)>: (5.0.0f4 - 2018.4.36f1)
16323    pub m_FileIDToRecycleName: Option<Vec<(i64, String)>>,
16324    /**Indicates whether to invert the green channel values of a normal map.*/
16325    /// i32: (2022.1.0b1 - 2022.3.2f1)
16326    pub m_FlipGreenChannel: Option<i32>,
16327    /// i32: (2020.2.0b1 - 2022.3.2f1)
16328    pub m_FlipbookColumns: Option<i32>,
16329    /// i32: (2020.2.0b1 - 2022.3.2f1)
16330    pub m_FlipbookRows: Option<i32>,
16331    /// i32: (2021.2.0b1 - 2022.2.0a18)
16332    pub m_IgnoreMasterTextureLimit: Option<i32>,
16333    /**Enable this flag for textures that should ignore mipmap limit settings.*/
16334    /// i32: (2022.2.0f1 - 2022.3.2f1)
16335    pub m_IgnoreMipmapLimit: Option<i32>,
16336    /**Ignore the Gamma attribute in PNG files. This property does not effect other file formats.*/
16337    /// i32: (2020.1.0b1 - 2022.3.2f1); bool: (2020.1.0a3 - 2020.1.0a9)
16338    pub m_IgnorePngGamma: Option<Enum_i32__bool>,
16339    /// Vec<((i32, i64), String)>: (2019.1.0b1 - 2022.3.2f1)
16340    pub m_InternalIDToNameTable: Option<Vec<((i32, i64), String)>>,
16341    /// i32: (3.5.0 - 2022.3.2f1)
16342    pub m_LinearTexture: Option<i32>,
16343    /// i32: (5.5.0f3 - 2022.3.2f1)
16344    pub m_MaxTextureSizeSet: Option<i32>,
16345    /**Enables or disables coverage-preserving alpha mipmapping.*/
16346    /// i32: (2017.1.0b1 - 2022.3.2f1)
16347    pub m_MipMapsPreserveCoverage: Option<i32>,
16348    /**Name of the texture mipmap limit group to which this texture belongs.*/
16349    /// String: (2022.2.0f1 - 2022.3.2f1)
16350    pub m_MipmapLimitGroupName: Option<String>,
16351    /// MdFour: (3.4.0 - 3.4.2)
16352    pub m_NewHashIdentity: Option<MdFour>,
16353    /// MdFour: (3.4.0 - 3.4.2)
16354    pub m_OldHashIdentity: Option<MdFour>,
16355    /// TextureImportOutput: (4.0.0 - 2022.3.2f1)
16356    pub m_Output: Option<TextureImportOutput>,
16357    /// bool: (2018.2.1f1 - 2022.3.2f1)
16358    pub m_PSDRemoveMatte: Option<bool>,
16359    /// bool: (2018.2.1f1 - 2022.1.0a12)
16360    pub m_PSDShowRemoveMatteOption: Option<bool>,
16361    /// Vec<PlatformSettings>: (5.5.0f3 - 2017.2.5f1); Vec<TextureImporterPlatformSettings>: (2017.3.0b1 - 2022.3.2f1)
16362    pub m_PlatformSettings: Option<Vec<Enum_PlatformSettings__TextureImporterPlatformSettings>>,
16363    /// i32: (2018.2.0b2 - 2018.2.0b2)
16364    pub m_PushPullDilation: Option<i32>,
16365    /// i32: (5.0.0f4 - 5.4.6f3)
16366    pub m_RGBM: Option<i32>,
16367    /// i32: (3.4.0 - 3.5.7)
16368    pub m_RecommendedTextureFormat: Option<i32>,
16369    /// i32: (4.0.0 - 2022.3.2f1)
16370    pub m_SeamlessCubemap: Option<i32>,
16371    /// i32: (2018.1.0b2 - 2022.3.2f1)
16372    pub m_SingleChannelComponent: Option<i32>,
16373    /// SourceTextureInformation: (3.4.0 - 3.5.7)
16374    pub m_SourceTextureInformation: Option<SourceTextureInformation>,
16375    /**Border sizes of the generated sprites.*/
16376    /// Vector4f: (4.5.0 - 2022.3.2f1)
16377    pub m_SpriteBorder: Option<Vector4f>,
16378    /// u32: (4.3.0 - 2022.3.2f1)
16379    pub m_SpriteExtrude: Option<u32>,
16380    /// i32: (2017.4.1f1 - 2022.3.2f1)
16381    pub m_SpriteGenerateFallbackPhysicsShape: Option<i32>,
16382    /// i32: (4.3.0 - 2022.3.2f1)
16383    pub m_SpriteMeshType: Option<i32>,
16384    /// i32: (4.3.0 - 2022.3.2f1)
16385    pub m_SpriteMode: Option<i32>,
16386    /// String: (4.3.0 - 2022.1.24f1)
16387    pub m_SpritePackingTag: Option<String>,
16388    /**The point in the Sprite object's coordinate space where the graphic is located.*/
16389    /// Vector2f: (4.3.0 - 2022.3.2f1)
16390    pub m_SpritePivot: Option<Vector2f>,
16391    /// f32: (4.3.0 - 2022.3.2f1)
16392    pub m_SpritePixelsToUnits: Option<f32>,
16393    /// SpriteSheetMetaData: (4.3.0 - 2022.3.2f1)
16394    pub m_SpriteSheet: Option<SpriteSheetMetaData>,
16395    /// f32: (5.4.0f3 - 2022.3.2f1)
16396    pub m_SpriteTessellationDetail: Option<f32>,
16397    /**Enable mipmap streaming for this texture.*/
16398    /// i32: (2018.2.0b1 - 2022.3.2f1)
16399    pub m_StreamingMipmaps: Option<i32>,
16400    /**Relative priority for this texture when reducing memory size in order to hit the memory budget.*/
16401    /// i32: (2018.2.0b1 - 2022.3.2f1)
16402    pub m_StreamingMipmapsPriority: Option<i32>,
16403    /// u32: (2022.1.0b1 - 2022.3.2f1)
16404    pub m_Swizzle: Option<u32>,
16405    /// i32: (5.5.0f3 - 2022.3.2f1)
16406    pub m_TextureFormatSet: Option<i32>,
16407    /**The shape of the imported texture.*/
16408    /// i32: (5.5.0f3 - 2022.3.2f1)
16409    pub m_TextureShape: Option<i32>,
16410    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
16411    pub m_UsedFileIDs: Option<Vec<i64>>,
16412    /**Get or set any user data.*/
16413    /// String: (4.0.0 - 2022.3.2f1)
16414    pub m_UserData: Option<String>,
16415    /**When enabled, this texture can solely be used in combination with a Texture Stack for Virtual Texturing. When enabled the texture is not guaranteed to be available as a Texture2D in the Player (e.g., not accessible from a script). When disabled, the Player includes the texture both as a Texture2D (e.g., accessible from script) and as a streamable texture in a Texture Stack.*/
16416    /// i32: (2020.1.0b1 - 2022.3.2f1)
16417    pub m_VTOnly: Option<i32>,
16418    /**Whether this texture stores data in sRGB (also called gamma) color space.*/
16419    /// i32: (5.5.0f3 - 2022.3.2f1)
16420    pub m_sRGBTexture: Option<i32>,
16421}
16422
16423#[derive(Debug, Serialize, Deserialize)]
16424#[serde(untagged)]
16425pub enum Enum_i32__bool {
16426    i32(i32),
16427    bool(bool),
16428}
16429
16430#[derive(Debug, Serialize, Deserialize)]
16431#[serde(untagged)]
16432pub enum Enum_PlatformSettings__TextureImporterPlatformSettings {
16433    PlatformSettings(PlatformSettings),
16434    TextureImporterPlatformSettings(TextureImporterPlatformSettings),
16435}
16436
16437/// TextureImporterPlatformSettings is a sub class of the Unity engine since version 2017.3.0b1.
16438/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/TextureImporterPlatformSettings.html):
16439/**
16440Stores platform specifics settings of a TextureImporter.
16441See Also: TextureImporter.
16442*/
16443#[derive(Debug, Serialize, Deserialize)]
16444pub struct TextureImporterPlatformSettings {
16445    /**Allows Alpha splitting on the imported texture when needed (for example ETC1 compression for textures with transparency).*/
16446    pub m_AllowsAlphaSplitting: bool,
16447    /**Override for ETC2 decompression fallback on Android devices that don't support ETC2.*/
16448    pub m_AndroidETC2FallbackOverride: i32,
16449    pub m_BuildTarget: String,
16450    /**The quality of Crunch texture compression. The range is 0 through 100. A higher quality means larger textures and longer compression times.*/
16451    pub m_CompressionQuality: i32,
16452    /**Use crunch compression when available.*/
16453    pub m_CrunchedCompression: bool,
16454    /**Maximum texture size.*/
16455    pub m_MaxTextureSize: i32,
16456    /**Set to true in order to override the Default platform parameters by those provided in the TextureImporterPlatformSettings structure.*/
16457    pub m_Overridden: bool,
16458    /**For Texture to be scaled down choose resize algorithm. ( Applyed only when Texture dimension is bigger than Max Size ).*/
16459    pub m_ResizeAlgorithm: i32,
16460    /**Compression of imported texture.*/
16461    pub m_TextureCompression: i32,
16462    pub m_TextureFormat: i32,
16463    /// bool: (2019.2.0b1 - 2022.3.2f1)
16464    pub m_ForceMaximumCompressionQuality_BC6H_BC7: Option<bool>,
16465    /**Ignores platform support checks for the selected texture format.*/
16466    /// bool: (2022.2.20f1 - 2022.3.2f1)
16467    pub m_IgnorePlatformSupport: Option<bool>,
16468}
16469
16470/// TextureParameter is a sub class of the Unity engine since version 5.5.0f3.
16471#[derive(Debug, Serialize, Deserialize)]
16472pub struct TextureParameter {
16473    pub m_Dim: i8,
16474    pub m_Index: i32,
16475    pub m_NameIndex: i32,
16476    pub m_SamplerIndex: i32,
16477    /// bool: (2017.3.0b1 - 2022.3.2f1)
16478    pub m_MultiSampled: Option<bool>,
16479}
16480
16481/// TextureParameters is a sub class of the Unity engine since version 3.4.0.
16482#[derive(Debug, Serialize, Deserialize)]
16483pub struct TextureParameters {
16484    pub height: i32,
16485    pub mipLevels: i32,
16486    pub textureFormat: i32,
16487    pub width: i32,
16488}
16489
16490/// TextureSettings is a sub class of the Unity engine since version 2020.1.0b1.
16491#[derive(Debug, Serialize, Deserialize)]
16492pub struct TextureSettings {
16493    pub anisoLevel: i32,
16494    pub compressionQuality: i32,
16495    pub crunchedCompression: bool,
16496    pub filterMode: i32,
16497    pub generateMipMaps: bool,
16498    pub maxTextureSize: i32,
16499    pub readable: bool,
16500    pub sRGB: bool,
16501    pub textureCompression: i32,
16502}
16503
16504/// TierGraphicsSettings is a sub class of the Unity engine since version 5.5.0f3.
16505#[derive(Debug, Serialize, Deserialize)]
16506pub struct TierGraphicsSettings {
16507    pub renderingPath: i32,
16508    pub useCascadedShadowMaps: bool,
16509    /// bool: (5.6.3f1 - 2022.3.2f1)
16510    pub enableLPPV: Option<bool>,
16511    /// i32: (5.6.0b1 - 2022.3.2f1)
16512    pub hdrMode: Option<i32>,
16513    /// bool: (2017.1.1f1 - 2022.3.2f1)
16514    pub prefer32BitShadowMaps: Option<bool>,
16515    /// i32: (5.6.0f1 - 2022.3.2f1)
16516    pub realtimeGICPUUsage: Option<i32>,
16517    /// bool: (5.6.0b1 - 2022.3.2f1)
16518    pub useHDR: Option<bool>,
16519}
16520
16521/// Tile is a sub class of the Unity engine since version 2017.2.0b2.
16522/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Tilemaps.Tile.html):
16523/**
16524Class for a default tile in the Tilemap.
16525This inherits from TileBase and represents a default tile to be placed in a Tilemap. It implements TileBase.GetTileData for simple rendering of a Sprite in the tile map.
16526*/
16527#[derive(Debug, Serialize, Deserialize)]
16528pub struct Tile {
16529    pub m_TileColorIndex: u32,
16530    pub m_TileIndex: u32,
16531    pub m_TileMatrixIndex: u32,
16532    pub m_TileSpriteIndex: u32,
16533    /// u16: (2019.4.24f1 - 2022.3.2f1)
16534    pub dummyAlignment: Option<u16>,
16535    /// u32: (2019.3.0b1 - 2022.3.2f1)
16536    pub m_AllTileFlags: Option<u32>,
16537    /// i32: (2017.2.0b2 - 2019.3.0a11)
16538    pub m_ColliderType: Option<i32>,
16539    /// PPtr<[`GameObject`]>: (2017.2.0b2 - 2019.3.0a11)
16540    pub m_ObjectToInstantiate: Option<PPtr>,
16541    /// u32: (2017.2.0b2 - 2017.2.0b6); i32: (2017.2.0f2 - 2019.3.0a11)
16542    pub m_TileFlags: Option<i64>,
16543    /// u16: (2019.3.0b1 - 2022.3.2f1)
16544    pub m_TileObjectToInstantiateIndex: Option<u16>,
16545}
16546
16547/// TileAnimationData is a sub class of the Unity engine since version 2017.2.0b2.
16548/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Tilemaps.TileAnimationData.html):
16549/**
16550A Struct for the required data for animating a Tile.
16551*/
16552#[derive(Debug, Serialize, Deserialize)]
16553pub struct TileAnimationData {
16554    /**The array of sprites that are ordered by appearance in the animation.*/
16555    /// Vec<PPtr<[`Sprite`]>>: (2017.2.0b2 - 2022.3.2f1)
16556    pub m_AnimatedSprites: Vec<PPtr>,
16557    /**The animation speed.*/
16558    pub m_AnimationSpeed: f32,
16559    pub m_AnimationTimeOffset: f32,
16560    /**TileAnimationFlags for controlling the Tile Animation.*/
16561    /// u32: (2022.2.0b1 - 2022.3.2f1)
16562    pub m_Flags: Option<u32>,
16563    /// bool: (2017.2.0b2 - 2022.1.24f1)
16564    pub m_IsLooping: Option<bool>,
16565}
16566
16567/// Tilemap is a  class of the Unity engine since version 2017.2.0b2.
16568/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Tilemaps.Tilemap.html):
16569/**
16570The Tilemap stores Sprites in a layout marked by a Grid component.
16571*/
16572#[derive(Debug, Serialize, Deserialize)]
16573pub struct Tilemap {
16574    pub m_AnimatedTiles: Vec<(int3_storage, TileAnimationData)>,
16575    /**The frame rate for all Tile animations in the Tilemap.*/
16576    pub m_AnimationFrameRate: f32,
16577    /**The color of the Tilemap layer.*/
16578    pub m_Color: ColorRGBA,
16579    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
16580    pub m_Enabled: u8,
16581    /**The game object this component is attached to. A component is always attached to a game object.*/
16582    /// PPtr<[`GameObject`]>: (2017.2.0b2 - 2022.3.2f1)
16583    pub m_GameObject: PPtr,
16584    /**The origin of the Tilemap in cell position.*/
16585    pub m_Origin: int3_storage,
16586    /**The size of the Tilemap in cells.*/
16587    pub m_Size: int3_storage,
16588    /**Gets the anchor point of Tiles in the Tilemap.*/
16589    pub m_TileAnchor: Vector3f,
16590    pub m_TileAssetArray: Vec<TilemapRefCountedData>,
16591    pub m_TileColorArray: Vec<TilemapRefCountedData>,
16592    pub m_TileMatrixArray: Vec<TilemapRefCountedData>,
16593    pub m_TileOrientation: i32,
16594    pub m_TileOrientationMatrix: Matrix4x4f,
16595    pub m_TileSpriteArray: Vec<TilemapRefCountedData>,
16596    pub m_Tiles: Vec<(int3_storage, Tile)>,
16597    /// Vec<TilemapRefCountedData>: (2019.3.0b1 - 2022.3.2f1)
16598    pub m_TileObjectToInstantiateArray: Option<Vec<TilemapRefCountedData>>,
16599}
16600
16601/// TilemapCollider2D is a  class of the Unity engine since version 2017.2.0b2.
16602/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Tilemaps.TilemapCollider2D.html):
16603/**
16604Collider for 2D physics representing shapes defined by the corresponding Tilemap.
16605See Also: BoxCollider2D, CircleCollider2D, EdgeCollider2D, PolygonCollider2D.
16606*/
16607#[derive(Debug, Serialize, Deserialize)]
16608pub struct TilemapCollider2D {
16609    /**The density of the collider used to calculate its mass (when auto mass is enabled).*/
16610    pub m_Density: f32,
16611    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
16612    pub m_Enabled: u8,
16613    /**The game object this component is attached to. A component is always attached to a game object.*/
16614    /// PPtr<[`GameObject`]>: (2017.2.0b2 - 2022.3.2f1)
16615    pub m_GameObject: PPtr,
16616    /**Is this collider configured as a trigger?*/
16617    pub m_IsTrigger: bool,
16618    /// PPtr<[`PhysicsMaterial2D`]>: (2017.2.0b2 - 2022.3.2f1)
16619    pub m_Material: PPtr,
16620    /**The local offset of the collider geometry.*/
16621    pub m_Offset: Vector2f,
16622    /**Sets whether the Collider will be used or not used by a CompositeCollider2D.*/
16623    pub m_UsedByComposite: bool,
16624    /**Whether the collider is used by an attached effector or not.*/
16625    pub m_UsedByEffector: bool,
16626    /**The Layers that this Collider2D will report collision or trigger callbacks for during a contact with another Collider2D.*/
16627    /// BitField: (2022.2.0b1 - 2022.3.2f1)
16628    pub m_CallbackLayers: Option<BitField>,
16629    /**The layers of other Collider2D involved in contacts with this Collider2D that will be captured.*/
16630    /// BitField: (2022.2.0b1 - 2022.3.2f1)
16631    pub m_ContactCaptureLayers: Option<BitField>,
16632    /**The additional Layers that this Collider2D should exclude when deciding if a contact with another Collider2D should happen or not.*/
16633    /// BitField: (2022.2.0b1 - 2022.3.2f1)
16634    pub m_ExcludeLayers: Option<BitField>,
16635    /**The amount of Collider shapes each Tile extrudes to facilitate compositing with neighboring Tiles. This eliminates fine gaps between Tiles when using a CompositeCollider2D. This is calculated in Unity units within world space.*/
16636    /// f32: (2019.1.3f1 - 2022.3.2f1)
16637    pub m_ExtrusionFactor: Option<f32>,
16638    /**The Layers that this Collider2D can receive forces from during a Collision contact with another Collider2D.*/
16639    /// BitField: (2022.2.0b1 - 2022.3.2f1)
16640    pub m_ForceReceiveLayers: Option<BitField>,
16641    /**The Layers that this Collider2D is allowed to send forces to during a Collision contact with another Collider2D.*/
16642    /// BitField: (2022.2.0b1 - 2022.3.2f1)
16643    pub m_ForceSendLayers: Option<BitField>,
16644    /**The additional Layers that this Collider2D should include when deciding if a contact with another Collider2D should happen or not.*/
16645    /// BitField: (2022.2.0b1 - 2022.3.2f1)
16646    pub m_IncludeLayers: Option<BitField>,
16647    /**A decision priority assigned to this Collider2D used when there is a conflicting decision on whether a contact between itself and another Collision2D should happen or not.*/
16648    /// i32: (2022.2.0b1 - 2022.3.2f1)
16649    pub m_LayerOverridePriority: Option<i32>,
16650    /**Maximum number of Tile Changes accumulated before doing a full collider rebuild instead of an incremental rebuild.*/
16651    /// u32: (2019.1.0b1 - 2022.3.2f1)
16652    pub m_MaximumTileChangeCount: Option<u32>,
16653    /**When the value is true, the Collider uses an additional Delaunay triangulation step to produce the Collider mesh. When the value is false, this additional step does not occur.*/
16654    /// bool: (2022.1.0b1 - 2022.3.2f1)
16655    pub m_UseDelaunayMesh: Option<bool>,
16656}
16657
16658/// TilemapEditorUserSettings is a  class of the Unity engine since version 2017.2.0b2.
16659#[derive(Debug, Serialize, Deserialize)]
16660pub struct TilemapEditorUserSettings {
16661    pub m_FocusMode: i32,
16662    /// PPtr<[`GameObject`]>: (2017.2.0b2 - 2019.2.0a6)
16663    pub m_LastUsedPalette: PPtr,
16664}
16665
16666/// TilemapRefCountedData is a sub class of the Unity engine since version 2017.2.0b2.
16667#[derive(Debug, Serialize, Deserialize)]
16668pub struct TilemapRefCountedData {
16669    /// PPtr<[`Object`]>: (2017.2.0b2 - 2022.3.2f1)
16670    pub m_Data: PPtr,
16671    pub m_RefCount: u32,
16672}
16673
16674/// TilemapRenderer is a  class of the Unity engine since version 2017.2.0b2.
16675/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Tilemaps.TilemapRenderer.html):
16676/**
16677The tile map renderer is used to render the tile map marked out by a tile map component and a grid component.
16678This class is a script interface for a tile map renderer component.
16679*/
16680#[derive(Debug, Serialize, Deserialize)]
16681pub struct TilemapRenderer {
16682    pub m_CastShadows: u8,
16683    /**Size in number of tiles of each chunk created by the TilemapRenderer.*/
16684    pub m_ChunkSize: int3_storage,
16685    pub m_DynamicOccludee: u8,
16686    /**Makes the rendered 3D object visible if enabled.*/
16687    pub m_Enabled: bool,
16688    /**The game object this component is attached to. A component is always attached to a game object.*/
16689    /// PPtr<[`GameObject`]>: (2017.2.0b2 - 2022.3.2f1)
16690    pub m_GameObject: PPtr,
16691    /**The light probe interpolation type.*/
16692    pub m_LightProbeUsage: u8,
16693    /// PPtr<[`GameObject`]>: (2017.2.0b2 - 2022.3.2f1)
16694    pub m_LightProbeVolumeOverride: PPtr,
16695    /**The index of the baked lightmap applied to this renderer.*/
16696    pub m_LightmapIndex: u16,
16697    pub m_LightmapIndexDynamic: u16,
16698    pub m_LightmapTilingOffset: Vector4f,
16699    pub m_LightmapTilingOffsetDynamic: Vector4f,
16700    /**Specifies how the Tilemap interacts with the masks.*/
16701    pub m_MaskInteraction: i32,
16702    /**Returns all the instantiated materials of this object.*/
16703    /// Vec<PPtr<[`Material`]>>: (2017.2.0b2 - 2022.3.2f1)
16704    pub m_Materials: Vec<PPtr>,
16705    /**Maximum number of chunks the TilemapRenderer caches in memory.*/
16706    pub m_MaxChunkCount: u32,
16707    /**Maximum number of frames the TilemapRenderer keeps unused chunks in memory.*/
16708    pub m_MaxFrameAge: u32,
16709    pub m_MotionVectors: u8,
16710    /**If set, Renderer will use this Transform's position to find the light or reflection probe.*/
16711    /// PPtr<[`Transform`]>: (2017.2.0b2 - 2022.3.2f1)
16712    pub m_ProbeAnchor: PPtr,
16713    /**Does this object receive shadows?*/
16714    pub m_ReceiveShadows: u8,
16715    /**Should reflection probes be used for this Renderer?*/
16716    pub m_ReflectionProbeUsage: u8,
16717    /**Active sort order for the TilemapRenderer.*/
16718    pub m_SortOrder: i32,
16719    pub m_SortingLayer: i16,
16720    /**Unique ID of the Renderer's sorting layer.*/
16721    pub m_SortingLayerID: i32,
16722    /**Renderer's order within a sorting layer.*/
16723    pub m_SortingOrder: i16,
16724    pub m_StaticBatchInfo: StaticBatchInfo,
16725    /// PPtr<[`Transform`]>: (2017.2.0b2 - 2022.3.2f1)
16726    pub m_StaticBatchRoot: PPtr,
16727    /**Bounds used for culling of Tilemap chunks.*/
16728    /// Vector3f: (2017.4.33f1 - 2022.3.2f1)
16729    pub m_ChunkCullingBounds: Option<Vector3f>,
16730    /**Returns whether the TilemapRenderer automatically detects the bounds to extend chunk culling by.*/
16731    /// i32: (2018.1.0f2 - 2022.3.2f1)
16732    pub m_DetectChunkCullingBounds: Option<i32>,
16733    /**The mode in which the TileMapRenderer batches the tiles for rendering.*/
16734    /// i32: (2018.3.0f2 - 2022.3.2f1)
16735    pub m_Mode: Option<i32>,
16736    /// u8: (2020.1.0b1 - 2022.3.2f1)
16737    pub m_RayTraceProcedural: Option<u8>,
16738    /**Describes how this renderer is updated for ray tracing.*/
16739    /// u8: (2019.3.0b1 - 2022.3.2f1)
16740    pub m_RayTracingMode: Option<u8>,
16741    /**This value sorts renderers by priority. Lower values are rendered first and higher values are rendered last.*/
16742    /// i32: (2018.3.0f2 - 2022.3.2f1)
16743    pub m_RendererPriority: Option<i32>,
16744    /**Determines which rendering layer this renderer lives on.*/
16745    /// u32: (2018.1.0b2 - 2022.3.2f1)
16746    pub m_RenderingLayerMask: Option<u32>,
16747    /**Is this renderer a static shadow caster?*/
16748    /// u8: (2021.1.0b1 - 2022.3.2f1)
16749    pub m_StaticShadowCaster: Option<u8>,
16750}
16751
16752/// TimeManager is a  class of the Unity engine since version 3.4.0.
16753#[derive(Debug, Serialize, Deserialize)]
16754pub struct TimeManager {
16755    pub m_TimeScale: f32,
16756    /// f32: (3.4.0 - 2022.3.2f1)
16757    #[serde(alias = "Fixed Timestep")]
16758    pub Fixed_Timestep: Option<f32>,
16759    /// f32: (2022.3.2f1 - 2022.3.2f1)
16760    #[serde(alias = "Maximum Particle Timestep")]
16761    pub Maximum_Particle_Timestep: Option<f32>,
16762    /// f32: (3.4.0 - 2022.3.2f1)
16763    #[serde(alias = "Maximum Allowed Timestep")]
16764    pub Maximum_Allowed_Timestep: Option<f32>,
16765}
16766
16767/// TrailModule is a sub class of the Unity engine since version 5.5.0f3.
16768/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.TrailModule.html):
16769/**
16770Script interface for the TrailsModule.
16771This module adds trails to your particles. For example, you can make the trails stay in the wake of particles as they move, or make them connect each particle in the system together.See Also: ParticleSystem, ParticleSystem.trails.
16772*/
16773#[derive(Debug, Serialize, Deserialize)]
16774pub struct TrailModule {
16775    /**The gradient that controls the trail colors during the lifetime of the attached particle.*/
16776    pub colorOverLifetime: MinMaxGradient,
16777    /**The gradient that controls the trail colors over the length of the trail.*/
16778    pub colorOverTrail: MinMaxGradient,
16779    /**Specifies whether trails disappear immediately when their owning particle dies. When false, each trail persists until all its points have naturally expired, based on its lifetime.*/
16780    pub dieWithParticles: bool,
16781    /**Specifies whether the TrailModule is enabled or disabled.*/
16782    pub enabled: bool,
16783    /**Toggle whether the trail inherits the particle color as its starting color.*/
16784    pub inheritParticleColor: bool,
16785    /**The curve describing the trail lifetime, throughout the lifetime of the particle.*/
16786    pub lifetime: MinMaxCurve,
16787    /**Set the minimum distance each trail can travel before the system adds a new vertex to it.*/
16788    pub minVertexDistance: f32,
16789    /**Choose what proportion of particles receive a trail.*/
16790    pub ratio: f32,
16791    /**Set whether the particle size acts as a multiplier on top of the trail lifetime.*/
16792    pub sizeAffectsLifetime: bool,
16793    /**Set whether the particle size acts as a multiplier on top of the trail width.*/
16794    pub sizeAffectsWidth: bool,
16795    /**Choose whether the U coordinate of the trail Texture is tiled or stretched.*/
16796    pub textureMode: i32,
16797    /**The curve describing the width of each trail point.*/
16798    pub widthOverTrail: MinMaxCurve,
16799    /**Drop new trail points in world space, regardless of Particle System Simulation Space.*/
16800    pub worldSpace: bool,
16801    /**Adds an extra position to each ribbon, connecting it to the location of the Transform Component.*/
16802    /// bool: (2018.3.0f2 - 2022.3.2f1)
16803    pub attachRibbonsToTransform: Option<bool>,
16804    /**Configures the trails to generate Normals and Tangents. With this data, Scene lighting can affect the trails via Normal Maps and the Unity Standard Shader, or your own custom-built Shaders.*/
16805    /// bool: (2017.1.0b2 - 2022.3.2f1)
16806    pub generateLightingData: Option<bool>,
16807    /**Choose how the system generates the particle trails.*/
16808    /// i32: (2017.3.0b1 - 2022.3.2f1)
16809    pub mode: Option<i32>,
16810    /**Select how many lines to create through the Particle System.*/
16811    /// i32: (2017.3.0b1 - 2022.3.2f1)
16812    pub ribbonCount: Option<i32>,
16813    /**Apply a shadow bias to prevent self-shadowing artifacts. The specified value is the proportion of the trail width at each segment.*/
16814    /// f32: (2018.3.0f2 - 2022.3.2f1)
16815    pub shadowBias: Option<f32>,
16816    /**Specifies whether, if you use this system as a sub-emitter, ribbons connect particles from each parent particle independently.*/
16817    /// bool: (2017.3.0b1 - 2022.3.2f1)
16818    pub splitSubEmitterRibbons: Option<bool>,
16819    /**A multiplier for the UV coordinates of the trail texture.*/
16820    /// Vector2f: (2022.1.0b1 - 2022.3.2f1)
16821    pub textureScale: Option<Vector2f>,
16822}
16823
16824/// TrailRenderer is a  class of the Unity engine since version 3.4.0.
16825/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/TrailRenderer.html):
16826/**
16827The trail renderer is used to make trails behind objects in the Scene as they move about.
16828This class is a script interface for a trail renderer component.
16829*/
16830#[derive(Debug, Serialize, Deserialize)]
16831pub struct TrailRenderer {
16832    /**Does the GameObject of this Trail Renderer auto destruct?*/
16833    pub m_Autodestruct: bool,
16834    pub m_CastShadows: Enum_bool__u8,
16835    /**Makes the rendered 3D object visible if enabled.*/
16836    pub m_Enabled: bool,
16837    /**The game object this component is attached to. A component is always attached to a game object.*/
16838    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
16839    pub m_GameObject: PPtr,
16840    /**The index of the baked lightmap applied to this renderer.*/
16841    pub m_LightmapIndex: u16,
16842    pub m_LightmapTilingOffset: Vector4f,
16843    /**Returns all the instantiated materials of this object.*/
16844    /// Vec<PPtr<[`Material`]>>: (3.4.0 - 2022.3.2f1)
16845    pub m_Materials: Vec<PPtr>,
16846    /**Set the minimum distance the trail can travel before a new vertex is added to it.*/
16847    pub m_MinVertexDistance: f32,
16848    /**Does this object receive shadows?*/
16849    pub m_ReceiveShadows: Enum_bool__u8,
16850    /// PPtr<[`Transform`]>: (3.4.0 - 2022.3.2f1)
16851    pub m_StaticBatchRoot: PPtr,
16852    /**How long does the trail take to fade out.*/
16853    pub m_Time: f32,
16854    /// bool: (2022.1.0b1 - 2022.3.2f1)
16855    pub m_ApplyActiveColorSpace: Option<bool>,
16856    /// Gradient: (3.4.0 - 5.4.6f3)
16857    pub m_Colors: Option<Gradient>,
16858    /// u8: (2017.2.0b2 - 2022.3.2f1)
16859    pub m_DynamicOccludee: Option<u8>,
16860    /**Creates trails when the GameObject moves.*/
16861    /// bool: (2018.2.0b1 - 2022.3.2f1)
16862    pub m_Emitting: Option<bool>,
16863    /**The width of the trail at the end of the trail.*/
16864    /// f32: (3.4.0 - 5.4.6f3)
16865    pub m_EndWidth: Option<f32>,
16866    /// PPtr<[`Transform`]>: (3.5.0 - 4.7.2)
16867    pub m_LightProbeAnchor: Option<PPtr>,
16868    /**The light probe interpolation type.*/
16869    /// u8: (5.4.0f3 - 2022.3.2f1)
16870    pub m_LightProbeUsage: Option<u8>,
16871    /// PPtr<[`GameObject`]>: (5.4.0f3 - 2022.3.2f1)
16872    pub m_LightProbeVolumeOverride: Option<PPtr>,
16873    /// u16: (5.0.0f4 - 2022.3.2f1)
16874    pub m_LightmapIndexDynamic: Option<u16>,
16875    /// Vector4f: (5.0.0f4 - 2022.3.2f1)
16876    pub m_LightmapTilingOffsetDynamic: Option<Vector4f>,
16877    /**Specifies how the TrailRenderer interacts with SpriteMask.*/
16878    /// i32: (2022.1.0b1 - 2022.3.2f1)
16879    pub m_MaskInteraction: Option<i32>,
16880    /// u8: (5.4.0f3 - 2022.3.2f1)
16881    pub m_MotionVectors: Option<u8>,
16882    /// LineParameters: (5.5.0f3 - 2022.3.2f1)
16883    pub m_Parameters: Option<LineParameters>,
16884    /**If set, Renderer will use this Transform's position to find the light or reflection probe.*/
16885    /// PPtr<[`Transform`]>: (5.0.0f4 - 2022.3.2f1)
16886    pub m_ProbeAnchor: Option<PPtr>,
16887    /// u8: (2020.1.0b1 - 2022.3.2f1)
16888    pub m_RayTraceProcedural: Option<u8>,
16889    /**Describes how this renderer is updated for ray tracing.*/
16890    /// u8: (2019.3.0b1 - 2022.3.2f1)
16891    pub m_RayTracingMode: Option<u8>,
16892    /**Should reflection probes be used for this Renderer?*/
16893    /// i32: (5.0.0f4 - 5.3.8f2); u8: (5.4.0f3 - 2022.3.2f1)
16894    pub m_ReflectionProbeUsage: Option<i32>,
16895    /**This value sorts renderers by priority. Lower values are rendered first and higher values are rendered last.*/
16896    /// i32: (2018.3.0f2 - 2022.3.2f1)
16897    pub m_RendererPriority: Option<i32>,
16898    /**Determines which rendering layer this renderer lives on.*/
16899    /// u32: (2018.1.0b2 - 2022.3.2f1)
16900    pub m_RenderingLayerMask: Option<u32>,
16901    /// i16: (4.3.0 - 2022.3.2f1)
16902    pub m_SortingLayer: Option<i16>,
16903    /**Unique ID of the Renderer's sorting layer.*/
16904    /// u32: (4.5.0 - 4.7.2); i32: (5.0.0f4 - 2022.3.2f1)
16905    pub m_SortingLayerID: Option<i64>,
16906    /**Renderer's order within a sorting layer.*/
16907    /// i16: (4.3.0 - 2022.3.2f1)
16908    pub m_SortingOrder: Option<i16>,
16909    /**The width of the trail at the spawning point.*/
16910    /// f32: (3.4.0 - 5.4.6f3)
16911    pub m_StartWidth: Option<f32>,
16912    /// StaticBatchInfo: (5.5.0f3 - 2022.3.2f1)
16913    pub m_StaticBatchInfo: Option<StaticBatchInfo>,
16914    /**Is this renderer a static shadow caster?*/
16915    /// u8: (2021.1.0b1 - 2022.3.2f1)
16916    pub m_StaticShadowCaster: Option<u8>,
16917    /// Vec<u32>: (3.4.0 - 5.4.6f3)
16918    pub m_SubsetIndices: Option<Vec<u32>>,
16919    /// bool: (3.5.0 - 5.3.8f2)
16920    pub m_UseLightProbes: Option<bool>,
16921}
16922
16923/// Transform is a  class of the Unity engine since version 3.4.0.
16924/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Transform.html):
16925/**
16926Position, rotation and scale of an object.
16927Every object in a Scene has a Transform.
16928
16929It's used to store and manipulate the position, rotation and scale of the object.
16930
16931Every Transform can have a parent, which allows you to apply position, rotation and scale hierarchically. This is the hierarchy seen in the Hierarchy pane.
16932
16933They also support enumerators so you can loop through children using:
16934See Also: The component reference, Physics class.
16935*/
16936#[derive(Debug, Serialize, Deserialize)]
16937pub struct Transform {
16938    /// Vec<PPtr<[`Transform`]>>: (3.4.0 - 2022.3.2f1)
16939    pub m_Children: Vec<PPtr>,
16940    /// PPtr<[`Transform`]>: (3.4.0 - 2022.3.2f1)
16941    pub m_Father: PPtr,
16942    /**The game object this component is attached to. A component is always attached to a game object.*/
16943    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
16944    pub m_GameObject: PPtr,
16945    /**Position of the transform relative to the parent transform.*/
16946    pub m_LocalPosition: Vector3f,
16947    /**The rotation of the transform relative to the transform rotation of the parent.*/
16948    pub m_LocalRotation: Quaternionf,
16949    /**The scale of the transform relative to the GameObjects parent.*/
16950    pub m_LocalScale: Vector3f,
16951}
16952
16953/// TransformMaskElement is a sub class of the Unity engine since version 4.1.0.
16954#[derive(Debug, Serialize, Deserialize)]
16955pub struct TransformMaskElement {
16956    pub m_Path: String,
16957    pub m_Weight: f32,
16958}
16959
16960/// Transition is a  class of the Unity engine since version 4.0.0.
16961#[derive(Debug, Serialize, Deserialize)]
16962pub struct Transition {
16963    pub m_Atomic: bool,
16964    pub m_Conditions: Vec<Condition>,
16965    /// PPtr<[`State`]>: (4.0.0 - 4.7.2)
16966    pub m_DstState: PPtr,
16967    pub m_Mute: bool,
16968    pub m_Name: String,
16969    pub m_Solo: bool,
16970    /// PPtr<[`State`]>: (4.0.0 - 4.7.2)
16971    pub m_SrcState: PPtr,
16972    pub m_TransitionDuration: f32,
16973    pub m_TransitionOffset: f32,
16974    /// bool: (4.5.0 - 4.7.2)
16975    pub m_CanTransitionToSelf: Option<bool>,
16976}
16977
16978/// Tree is a  class of the Unity engine since version 3.4.0.
16979/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Tree.html):
16980/**
16981Tree Component for the tree creator.
16982*/
16983#[derive(Debug, Serialize, Deserialize)]
16984pub struct Tree {
16985    /**The game object this component is attached to. A component is always attached to a game object.*/
16986    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
16987    pub m_GameObject: PPtr,
16988    /// PPtr<[`SpeedTreeWindAsset`]>: (5.0.0f4 - 2022.3.2f1)
16989    pub m_SpeedTreeWindAsset: Option<PPtr>,
16990}
16991
16992/// TreeInstance is a sub class of the Unity engine since version 3.4.0.
16993/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/TreeInstance.html):
16994/**
16995Contains information about a tree placed in the Terrain game object.
16996This struct can be accessed from the TerrainData Object.
16997*/
16998#[derive(Debug, Serialize, Deserialize)]
16999pub struct TreeInstance {
17000    /**Color of this instance.*/
17001    pub color: ColorRGBA,
17002    /**Height scale of this instance (compared to the prototype's size).*/
17003    pub heightScale: f32,
17004    pub index: i32,
17005    /**Lightmap color calculated for this instance.*/
17006    pub lightmapColor: ColorRGBA,
17007    /**Position of the tree.*/
17008    pub position: Vector3f,
17009    /**Width scale of this instance (compared to the prototype's size).*/
17010    pub widthScale: f32,
17011    /**Read-only.Rotation of the tree on X-Z plane (in radians).*/
17012    /// f32: (5.0.0f4 - 2022.3.2f1)
17013    pub rotation: Option<f32>,
17014}
17015
17016/// TreePrototype is a sub class of the Unity engine since version 3.4.0.
17017/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/TreePrototype.html):
17018/**
17019Simple class that contains a pointer to a tree prototype.
17020This class is used by the TerrainData gameObject.
17021*/
17022#[derive(Debug, Serialize, Deserialize)]
17023pub struct TreePrototype {
17024    /**Bend factor of the tree prototype.*/
17025    pub bendFactor: f32,
17026    /**Retrieves the actual GameObject used by the tree.*/
17027    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
17028    pub prefab: PPtr,
17029    /**The LOD index of a Tree LODGroup that Unity uses to generate a NavMesh. It uses this value only for Trees with a LODGroup, and ignores this value for regular Trees.*/
17030    /// i32: (2020.2.0b1 - 2022.3.2f1)
17031    pub navMeshLod: Option<i32>,
17032}
17033
17034/// TriggerModule is a sub class of the Unity engine since version 5.4.0f3.
17035/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/ParticleSystem.TriggerModule.html):
17036/**
17037Script interface for the TriggerModule.
17038This module is useful for killing particles when they touch a set of collision shapes, or for calling a script command to let you apply custom particle behaviors when the trigger is activated.The example code for MonoBehaviour.OnParticleTrigger shows how the callback type action works.See Also: ParticleSystem, ParticleSystem.trigger.
17039*/
17040#[derive(Debug, Serialize, Deserialize)]
17041pub struct TriggerModule {
17042    /**Specifies whether the TriggerModule is enabled or disabled.*/
17043    pub enabled: bool,
17044    /**Choose what action to perform when particles enter the trigger volume.*/
17045    pub enter: i32,
17046    /**Choose what action to perform when particles leave the trigger volume.*/
17047    pub exit: i32,
17048    /**Choose what action to perform when particles are inside the trigger volume.*/
17049    pub inside: i32,
17050    /**Choose what action to perform when particles are outside the trigger volume.*/
17051    pub outside: i32,
17052    /**A multiplier Unity applies to the size of each particle before it processes overlaps.*/
17053    pub radiusScale: f32,
17054    /**Determines whether collider information is available when calling [[ParticleSystem::GetTriggerParticles]].*/
17055    /// i32: (2020.2.0b1 - 2022.3.2f1)
17056    pub colliderQueryMode: Option<i32>,
17057    /// PPtr<[`Component`]>: (5.4.0f3 - 2020.2.0a13)
17058    pub collisionShape0: Option<PPtr>,
17059    /// PPtr<[`Component`]>: (5.4.0f3 - 2020.2.0a13)
17060    pub collisionShape1: Option<PPtr>,
17061    /// PPtr<[`Component`]>: (5.4.0f3 - 2020.2.0a13)
17062    pub collisionShape2: Option<PPtr>,
17063    /// PPtr<[`Component`]>: (5.4.0f3 - 2020.2.0a13)
17064    pub collisionShape3: Option<PPtr>,
17065    /// PPtr<[`Component`]>: (5.4.0f3 - 2020.2.0a13)
17066    pub collisionShape4: Option<PPtr>,
17067    /// PPtr<[`Component`]>: (5.4.0f3 - 2020.2.0a13)
17068    pub collisionShape5: Option<PPtr>,
17069    /// Vec<PPtr<[`Component`]>>: (2020.2.0b1 - 2022.3.2f1)
17070    pub primitives: Option<Vec<PPtr>>,
17071}
17072
17073/// TrueTypeFontImporter is a  class of the Unity engine since version 3.4.0.
17074/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/TrueTypeFontImporter.html):
17075/**
17076AssetImporter for importing Fonts.
17077*/
17078#[derive(Debug, Serialize, Deserialize)]
17079pub struct TrueTypeFontImporter {
17080    /**An array of font names, to be used when includeFontData is set to false.*/
17081    pub m_FontNames: Vec<String>,
17082    /**Font size to use for importing the characters.*/
17083    pub m_FontSize: i32,
17084    pub m_ForceTextureCase: i32,
17085    /**If this is enabled, the actual font will be embedded into the asset for Dynamic fonts.*/
17086    pub m_IncludeFontData: bool,
17087    /**The name of the object.*/
17088    pub m_Name: String,
17089    /**Calculation mode for determining font's ascent.*/
17090    /// i32: (5.3.4f1 - 2022.3.2f1)
17091    pub m_AscentCalculationMode: Option<i32>,
17092    /**Get or set the AssetBundle name.*/
17093    /// String: (5.0.0f4 - 2022.3.2f1)
17094    pub m_AssetBundleName: Option<String>,
17095    /**Get or set the AssetBundle variant.*/
17096    /// String: (5.0.0f4 - 2022.3.2f1)
17097    pub m_AssetBundleVariant: Option<String>,
17098    /**Border pixels added to character images for padding. This is useful if you want to render text using a shader which needs to render outside of the character area (like an outline shader).*/
17099    /// i32: (4.0.0 - 2022.3.2f1)
17100    pub m_CharacterPadding: Option<i32>,
17101    /**Spacing between character images in the generated texture in pixels. This is useful if you want to render text using a shader which samples pixels outside of the character area (like an outline shader).*/
17102    /// i32: (4.0.0 - 2022.3.2f1)
17103    pub m_CharacterSpacing: Option<i32>,
17104    /**A custom set of characters to be included in the Font Texture.*/
17105    /// String: (3.5.0 - 2022.3.2f1)
17106    pub m_CustomCharacters: Option<String>,
17107    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
17108    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
17109    /// Vec<PPtr<[`Font`]>>: (5.2.0f2 - 2022.3.2f1)
17110    pub m_FallbackFontReferences: Option<Vec<PPtr>>,
17111    /// Vec<(i32, String)>: (3.4.0 - 3.4.2)
17112    pub m_FileIDToRecycleName: Option<Vec<(i32, String)>>,
17113    /// ColorRGBA: (3.5.0 - 4.1.5)
17114    pub m_FontColor: Option<ColorRGBA>,
17115    /// String: (5.5.0f3 - 2022.3.2f1)
17116    pub m_FontName: Option<String>,
17117    /**Font rendering mode to use for this font.*/
17118    /// i32: (4.0.0 - 2022.3.2f1)
17119    pub m_FontRenderingMode: Option<i32>,
17120    /// MdFour: (3.4.0 - 3.4.2)
17121    pub m_NewHashIdentity: Option<MdFour>,
17122    /// MdFour: (3.4.0 - 3.4.2)
17123    pub m_OldHashIdentity: Option<MdFour>,
17124    /// Output: (4.0.0 - 2022.3.2f1)
17125    pub m_Output: Option<Output>,
17126    /// i32: (3.4.0 - 3.5.7)
17127    pub m_RenderMode: Option<i32>,
17128    /**Set this property to true if you want to round the internal advance width of the font to the nearest integer.*/
17129    /// bool: (2018.1.0b2 - 2022.3.2f1)
17130    pub m_ShouldRoundAdvanceValue: Option<bool>,
17131    /// i32: (3.4.0 - 3.5.7)
17132    pub m_Style: Option<i32>,
17133    /// bool: (3.4.0 - 5.3.3f1)
17134    pub m_Use2xBehaviour: Option<bool>,
17135    /// bool: (5.6.5f1 - 2022.3.2f1)
17136    pub m_UseLegacyBoundsCalculation: Option<bool>,
17137    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
17138    pub m_UsedFileIDs: Option<Vec<i64>>,
17139    /**Get or set any user data.*/
17140    /// String: (4.0.0 - 2022.3.2f1)
17141    pub m_UserData: Option<String>,
17142}
17143
17144/// UAVParameter is a sub class of the Unity engine since version 5.5.0f3.
17145#[derive(Debug, Serialize, Deserialize)]
17146pub struct UAVParameter {
17147    pub m_Index: i32,
17148    pub m_NameIndex: i32,
17149    pub m_OriginalIndex: i32,
17150}
17151
17152/// UIRenderer is a  class of the Unity engine since version 4.5.0.
17153#[derive(Debug, Serialize, Deserialize)]
17154pub struct UIRenderer {
17155    /// PPtr<[`GameObject`]>: (4.5.0 - 4.5.5)
17156    pub m_GameObject: PPtr,
17157}
17158
17159/// UVAnimation is a sub class of the Unity engine since version 3.4.0.
17160#[derive(Debug, Serialize, Deserialize)]
17161pub struct UVAnimation {
17162    pub cycles: f32,
17163    /// i32: (3.4.0 - 2018.2.21f1)
17164    #[serde(alias = "x Tile")]
17165    pub x_Tile: Option<i32>,
17166    /// i32: (3.4.0 - 2018.2.21f1)
17167    #[serde(alias = "y Tile")]
17168    pub y_Tile: Option<i32>,
17169}
17170
17171/// UVModule is a sub class of the Unity engine since version 3.5.0.
17172#[derive(Debug, Serialize, Deserialize)]
17173pub struct UVModule {
17174    pub animationType: i32,
17175    pub cycles: f32,
17176    pub enabled: bool,
17177    pub frameOverTime: MinMaxCurve,
17178    pub rowIndex: i32,
17179    pub tilesX: i32,
17180    pub tilesY: i32,
17181    /// f32: (5.5.0f3 - 2022.3.2f1)
17182    pub flipU: Option<f32>,
17183    /// f32: (5.5.0f3 - 2022.3.2f1)
17184    pub flipV: Option<f32>,
17185    /// f32: (2018.3.0f2 - 2022.3.2f1)
17186    pub fps: Option<f32>,
17187    /// i32: (2017.1.0b1 - 2022.3.2f1)
17188    pub mode: Option<i32>,
17189    /// bool: (3.5.0 - 2018.4.36f1)
17190    pub randomRow: Option<bool>,
17191    /// i32: (2019.1.0b1 - 2022.3.2f1)
17192    pub rowMode: Option<i32>,
17193    /// Vector2f: (2018.3.0f2 - 2022.3.2f1)
17194    pub speedRange: Option<Vector2f>,
17195    /// Vec<SpriteData>: (2017.1.0b1 - 2022.3.2f1)
17196    pub sprites: Option<Vec<SpriteData>>,
17197    /// MinMaxCurve: (5.4.0f3 - 2022.3.2f1)
17198    pub startFrame: Option<MinMaxCurve>,
17199    /// i32: (2018.3.0f2 - 2022.3.2f1)
17200    pub timeMode: Option<i32>,
17201    /// i32: (5.4.0f3 - 2022.3.2f1)
17202    pub uvChannelMask: Option<i32>,
17203}
17204
17205/// UnityAdsManager is a  class of the Unity engine since version 5.5.0f3.
17206#[derive(Debug, Serialize, Deserialize)]
17207pub struct UnityAdsManager {}
17208
17209/// UnityAdsSettings is a  class of the Unity engine since version 5.2.0f2.
17210#[derive(Debug, Serialize, Deserialize)]
17211pub struct UnityAdsSettings {
17212    pub m_Enabled: bool,
17213    pub m_InitializeOnStartup: bool,
17214    pub m_TestMode: bool,
17215    /// String: (5.2.0f2 - 5.6.7f1)
17216    pub m_AndroidGameId: Option<String>,
17217    /// u32: (5.2.0f2 - 2017.1.5f1)
17218    pub m_EnabledPlatforms: Option<u32>,
17219    /// String: (2017.1.0b1 - 2022.3.2f1)
17220    pub m_GameId: Option<String>,
17221    /// String: (5.2.0f2 - 5.6.7f1)
17222    pub m_IosGameId: Option<String>,
17223}
17224
17225/// UnityAnalyticsManager is a  class of the Unity engine since version 5.2.0f2.
17226#[derive(Debug, Serialize, Deserialize)]
17227pub struct UnityAnalyticsManager {
17228    /// bool: (5.2.0f2 - 5.2.5f1)
17229    pub m_Enabled: Option<bool>,
17230    /// bool: (5.2.0f2 - 5.2.5f1)
17231    pub m_InitializeOnStartup: Option<bool>,
17232    /// String: (5.2.0f2 - 5.2.5f1)
17233    pub m_TestConfigUrl: Option<String>,
17234    /// String: (5.2.0f2 - 5.2.5f1)
17235    pub m_TestEventUrl: Option<String>,
17236    /// bool: (5.2.0f2 - 5.2.5f1)
17237    pub m_TestMode: Option<bool>,
17238}
17239
17240/// UnityAnalyticsSettings is a sub class of the Unity engine since version 5.3.0f1.
17241#[derive(Debug, Serialize, Deserialize)]
17242pub struct UnityAnalyticsSettings {
17243    pub m_Enabled: bool,
17244    pub m_InitializeOnStartup: bool,
17245    pub m_TestMode: bool,
17246    /// bool: (2020.3.41f1 - 2022.3.2f1)
17247    pub m_PackageRequiringCoreStatsPresent: Option<bool>,
17248    /// String: (5.3.0f1 - 2018.2.21f1)
17249    pub m_TestConfigUrl: Option<String>,
17250    /// String: (5.3.0f1 - 2018.2.21f1)
17251    pub m_TestEventUrl: Option<String>,
17252}
17253
17254/// UnityConnectSettings is a  class of the Unity engine since version 5.3.0f1.
17255#[derive(Debug, Serialize, Deserialize)]
17256pub struct UnityConnectSettings {
17257    pub UnityAnalyticsSettings: UnityAnalyticsSettings,
17258    pub UnityPurchasingSettings: UnityPurchasingSettings,
17259    /// CrashReportingSettings: (5.4.0f3 - 2022.3.2f1)
17260    pub CrashReportingSettings: Option<CrashReportingSettings>,
17261    /// PerformanceReportingSettings: (5.6.0b1 - 2022.3.2f1)
17262    pub PerformanceReportingSettings: Option<PerformanceReportingSettings>,
17263    /// UnityAdsSettings: (5.5.0f3 - 2022.3.2f1)
17264    pub UnityAdsSettings: Option<UnityAdsSettings>,
17265    /// String: (2018.3.0f2 - 2022.3.2f1)
17266    pub m_ConfigUrl: Option<String>,
17267    /// String: (2020.3.5f1 - 2022.3.2f1)
17268    pub m_DashboardUrl: Option<String>,
17269    /// bool: (5.4.0f3 - 2022.3.2f1)
17270    pub m_Enabled: Option<bool>,
17271    /// String: (2018.3.0f2 - 2022.3.2f1)
17272    pub m_EventOldUrl: Option<String>,
17273    /// String: (2018.3.0f2 - 2022.3.2f1)
17274    pub m_EventUrl: Option<String>,
17275    /// String: (5.4.0f3 - 2018.2.21f1)
17276    pub m_TestConfigUrl: Option<String>,
17277    /// String: (5.4.0f3 - 2018.2.21f1)
17278    pub m_TestEventUrl: Option<String>,
17279    /// i32: (5.6.0f1 - 2022.3.2f1)
17280    pub m_TestInitMode: Option<i32>,
17281    /// bool: (5.4.0f3 - 2022.3.2f1)
17282    pub m_TestMode: Option<bool>,
17283}
17284
17285/// UnityPropertySheet is a sub class of the Unity engine since version 3.4.0.
17286#[derive(Debug, Serialize, Deserialize)]
17287pub struct UnityPropertySheet {
17288    pub m_Colors: Vec<(Enum_FastPropertyName__String, ColorRGBA)>,
17289    pub m_Floats: Vec<(Enum_FastPropertyName__String, f32)>,
17290    pub m_TexEnvs: Vec<(Enum_FastPropertyName__String, UnityTexEnv)>,
17291    /// Vec<(String, i32)>: (2021.1.0b1 - 2022.3.2f1)
17292    pub m_Ints: Option<Vec<(String, i32)>>,
17293}
17294
17295/// UnityPurchasingSettings is a sub class of the Unity engine since version 5.3.0f1.
17296#[derive(Debug, Serialize, Deserialize)]
17297pub struct UnityPurchasingSettings {
17298    pub m_Enabled: bool,
17299    pub m_TestMode: bool,
17300}
17301
17302/// UnityTexEnv is a sub class of the Unity engine since version 3.4.0.
17303#[derive(Debug, Serialize, Deserialize)]
17304pub struct UnityTexEnv {
17305    pub m_Offset: Vector2f,
17306    pub m_Scale: Vector2f,
17307    /// PPtr<[`Texture`]>: (3.4.0 - 2022.3.2f1)
17308    pub m_Texture: PPtr,
17309}
17310
17311/// UpdateZoneInfo is a sub class of the Unity engine since version 5.6.0b1.
17312#[derive(Debug, Serialize, Deserialize)]
17313pub struct UpdateZoneInfo {
17314    pub needSwap: bool,
17315    pub passIndex: i32,
17316    pub rotation: f32,
17317    pub updateZoneCenter: Vector3f,
17318    pub updateZoneSize: Vector3f,
17319}
17320
17321/// VFXCPUBufferData is a sub class of the Unity engine since version 2018.3.0f2.
17322#[derive(Debug, Serialize, Deserialize)]
17323pub struct VFXCPUBufferData {
17324    pub data: Vec<u32>,
17325}
17326
17327/// VFXCPUBufferDesc is a sub class of the Unity engine since version 2018.3.0f2.
17328#[derive(Debug, Serialize, Deserialize)]
17329pub struct VFXCPUBufferDesc {
17330    pub capacity: u32,
17331    pub initialData: VFXCPUBufferData,
17332    pub layout: Vec<VFXLayoutElementDesc>,
17333    pub stride: u32,
17334}
17335
17336/// VFXEditorSystemDesc is a sub class of the Unity engine since version 2018.3.0f2.
17337#[derive(Debug, Serialize, Deserialize)]
17338pub struct VFXEditorSystemDesc {
17339    pub buffers: Vec<VFXMapping>,
17340    pub capacity: u32,
17341    pub flags: i32,
17342    pub layer: u32,
17343    pub tasks: Vec<VFXEditorTaskDesc>,
17344    pub values: Vec<VFXMapping>,
17345    /// i32: (2018.3.0f2 - 2020.1.0a12)
17346    #[serde(alias = "type")]
17347    pub _type: Option<i32>,
17348}
17349
17350/// VFXEditorTaskDesc is a sub class of the Unity engine since version 2018.3.0f2.
17351#[derive(Debug, Serialize, Deserialize)]
17352pub struct VFXEditorTaskDesc {
17353    pub buffers: Vec<VFXMapping>,
17354    pub params: Vec<VFXMapping>,
17355    /// PPtr<[`NamedObject`]>: (2018.3.0f2 - 2020.1.0a12)
17356    pub processor: PPtr,
17357    pub shaderSourceIndex: i32,
17358    pub values: Vec<VFXMapping>,
17359    /// i32: (2018.3.0f2 - 2020.1.0a12)
17360    #[serde(alias = "type")]
17361    pub _type: Option<i32>,
17362    /// Vec<VFXMappingTemporary>: (2019.2.0b1 - 2020.1.0a12)
17363    pub temporaryBuffers: Option<Vec<VFXMappingTemporary>>,
17364}
17365
17366/// VFXEntryExpressionValue is a sub class of the Unity engine since version 2018.3.0f2.
17367#[derive(Debug, Serialize, Deserialize)]
17368pub struct VFXEntryExpressionValue {
17369    pub m_ExpressionIndex: u32,
17370    pub m_Value: f32,
17371}
17372
17373/// VFXEventDesc is a sub class of the Unity engine since version 2018.3.0f2.
17374#[derive(Debug, Serialize, Deserialize)]
17375pub struct VFXEventDesc {
17376    pub name: String,
17377    pub playSystems: Vec<u32>,
17378    pub stopSystems: Vec<u32>,
17379    /// Vec<u32>: (2021.2.0b1 - 2022.3.2f1)
17380    pub initSystems: Option<Vec<u32>>,
17381}
17382
17383/// VFXExpressionContainer is a sub class of the Unity engine since version 2018.3.0f2.
17384#[derive(Debug, Serialize, Deserialize)]
17385pub struct VFXExpressionContainer {
17386    pub m_Expressions: Vec<Expression>,
17387    pub m_NeedsLocalToWorld: bool,
17388    pub m_NeedsWorldToLocal: bool,
17389    /// u32: (2022.2.0f1 - 2022.3.2f1)
17390    pub m_ConstantBakeCurveCount: Option<u32>,
17391    /// u32: (2022.2.0f1 - 2022.3.2f1)
17392    pub m_ConstantBakeGradientCount: Option<u32>,
17393    /// u32: (2022.2.0f1 - 2022.3.2f1)
17394    pub m_DynamicBakeCurveCount: Option<u32>,
17395    /// u32: (2022.2.0f1 - 2022.3.2f1)
17396    pub m_DynamicBakeGradientCount: Option<u32>,
17397    /// u32: (2020.1.0b1 - 2022.3.2f1)
17398    pub m_MaxCommonExpressionsIndex: Option<u32>,
17399    /// i32: (2019.1.0b1 - 2022.3.2f1)
17400    pub m_NeededMainCameraBuffers: Option<i32>,
17401    /// bool: (2022.1.0b1 - 2022.3.2f1)
17402    pub m_NeedsMainCamera: Option<bool>,
17403}
17404
17405/// VFXField is a sub class of the Unity engine since version 2018.3.0f2.
17406#[derive(Debug, Serialize, Deserialize)]
17407pub struct VFXField {
17408    pub m_Array: Vec<VFXEntryExpressionValue>,
17409}
17410
17411/// VFXGPUBufferDesc is a sub class of the Unity engine since version 2018.3.0f2.
17412#[derive(Debug, Serialize, Deserialize)]
17413pub struct VFXGPUBufferDesc {
17414    pub capacity: u32,
17415    pub layout: Vec<VFXLayoutElementDesc>,
17416    pub size: u32,
17417    pub stride: u32,
17418    /// i32: (2018.3.0f2 - 2022.3.2f1)
17419    #[serde(alias = "type")]
17420    pub _type: Option<i32>,
17421}
17422
17423/// VFXLayoutElementDesc is a sub class of the Unity engine since version 2018.3.0f2.
17424#[derive(Debug, Serialize, Deserialize)]
17425pub struct VFXLayoutElementDesc {
17426    pub name: String,
17427    pub offset: VFXLayoutOffset,
17428    /// i32: (2018.3.0f2 - 2022.3.2f1)
17429    #[serde(alias = "type")]
17430    pub _type: Option<i32>,
17431}
17432
17433/// VFXLayoutOffset is a sub class of the Unity engine since version 2018.3.0f2.
17434#[derive(Debug, Serialize, Deserialize)]
17435pub struct VFXLayoutOffset {
17436    pub bucket: u32,
17437    pub element: u32,
17438    pub structure: u32,
17439}
17440
17441/// VFXManager is a  class of the Unity engine since version 2018.3.0f2.
17442/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/VFX.VFXManager.html):
17443/**
17444Use this class to set a number of properties that control VisualEffect behavior within your Unity Project.
17445*/
17446#[derive(Debug, Serialize, Deserialize)]
17447pub struct VFXManager {
17448    /// PPtr<[`ComputeShader`]>: (2018.3.0f2 - 2022.3.2f1)
17449    pub m_CopyBufferShader: PPtr,
17450    pub m_FixedTimeStep: f32,
17451    /// PPtr<[`ComputeShader`]>: (2018.3.0f2 - 2022.3.2f1)
17452    pub m_IndirectShader: PPtr,
17453    pub m_MaxDeltaTime: f32,
17454    pub m_RenderPipeSettingsPath: String,
17455    /// PPtr<[`ComputeShader`]>: (2018.3.0f2 - 2022.3.2f1)
17456    pub m_SortShader: PPtr,
17457    /// u32: (2022.2.0f1 - 2022.3.2f1)
17458    pub m_BatchEmptyLifetime: Option<u32>,
17459    /// u32: (2020.1.0b1 - 2022.3.2f1)
17460    pub m_CompiledVersion: Option<u32>,
17461    /// f32: (2022.1.0b1 - 2022.3.2f1)
17462    pub m_MaxScrubTime: Option<f32>,
17463    /// PPtr<[`MonoBehaviour`]>: (2021.2.0b1 - 2022.3.2f1)
17464    pub m_RuntimeResources: Option<PPtr>,
17465    /// u32: (2020.1.0b1 - 2022.3.2f1)
17466    pub m_RuntimeVersion: Option<u32>,
17467    /// PPtr<[`ComputeShader`]>: (2019.3.0b1 - 2022.3.2f1)
17468    pub m_StripUpdateShader: Option<PPtr>,
17469}
17470
17471/// VFXMapping is a sub class of the Unity engine since version 2018.3.0f2.
17472#[derive(Debug, Serialize, Deserialize)]
17473pub struct VFXMapping {
17474    pub index: i32,
17475    pub nameId: String,
17476}
17477
17478/// VFXMappingTemporary is a sub class of the Unity engine since version 2019.2.0b1.
17479#[derive(Debug, Serialize, Deserialize)]
17480pub struct VFXMappingTemporary {
17481    pub mapping: VFXMapping,
17482    pub pastFrameIndex: u32,
17483    pub perCameraBuffer: bool,
17484}
17485
17486/// VFXPropertySheetSerializedBase is a sub class of the Unity engine since version 2018.3.0f2.
17487#[derive(Debug, Serialize, Deserialize)]
17488pub struct VFXPropertySheetSerializedBase {
17489    pub m_AnimationCurve: VFXField,
17490    pub m_Bool: VFXField,
17491    pub m_Float: VFXField,
17492    pub m_Gradient: VFXField,
17493    pub m_Int: VFXField,
17494    pub m_Matrix4x4f: VFXField,
17495    pub m_NamedObject: VFXField,
17496    pub m_Uint: VFXField,
17497    pub m_Vector2f: VFXField,
17498    pub m_Vector3f: VFXField,
17499    pub m_Vector4f: VFXField,
17500}
17501
17502/// VFXRenderer is a  class of the Unity engine since version 2018.3.0f2.
17503#[derive(Debug, Serialize, Deserialize)]
17504pub struct VFXRenderer {
17505    pub m_CastShadows: u8,
17506    pub m_DynamicOccludee: u8,
17507    pub m_Enabled: bool,
17508    /// PPtr<[`GameObject`]>: (2018.3.0f2 - 2022.3.2f1)
17509    pub m_GameObject: PPtr,
17510    pub m_LightProbeUsage: u8,
17511    /// PPtr<[`GameObject`]>: (2018.3.0f2 - 2022.3.2f1)
17512    pub m_LightProbeVolumeOverride: PPtr,
17513    pub m_LightmapIndex: u16,
17514    pub m_LightmapIndexDynamic: u16,
17515    pub m_LightmapTilingOffset: Vector4f,
17516    pub m_LightmapTilingOffsetDynamic: Vector4f,
17517    pub m_MotionVectors: u8,
17518    /// PPtr<[`Transform`]>: (2018.3.0f2 - 2022.3.2f1)
17519    pub m_ProbeAnchor: PPtr,
17520    pub m_ReceiveShadows: u8,
17521    pub m_ReflectionProbeUsage: u8,
17522    pub m_RendererPriority: i32,
17523    pub m_RenderingLayerMask: u32,
17524    pub m_SortingLayer: i16,
17525    pub m_SortingLayerID: i32,
17526    pub m_SortingOrder: i16,
17527    pub m_StaticBatchInfo: StaticBatchInfo,
17528    /// PPtr<[`Transform`]>: (2018.3.0f2 - 2022.3.2f1)
17529    pub m_StaticBatchRoot: PPtr,
17530    /// Vec<PPtr<[`Material`]>>: (2018.3.0f2 - 2021.1.28f1)
17531    pub m_Materials: Option<Vec<PPtr>>,
17532    /// u8: (2020.1.0b1 - 2022.3.2f1)
17533    pub m_RayTraceProcedural: Option<u8>,
17534    /// u8: (2019.3.0b1 - 2022.3.2f1)
17535    pub m_RayTracingMode: Option<u8>,
17536    /// u8: (2021.1.0b1 - 2022.3.2f1)
17537    pub m_StaticShadowCaster: Option<u8>,
17538}
17539
17540/// VFXRendererSettings is a sub class of the Unity engine since version 2018.3.0f2.
17541#[derive(Debug, Serialize, Deserialize)]
17542pub struct VFXRendererSettings {
17543    pub lightProbeUsage: i32,
17544    pub motionVectorGenerationMode: i32,
17545    pub receiveShadows: bool,
17546    pub reflectionProbeUsage: i32,
17547    pub shadowCastingMode: i32,
17548}
17549
17550/// VFXShaderSourceDesc is a sub class of the Unity engine since version 2018.3.0f2.
17551#[derive(Debug, Serialize, Deserialize)]
17552pub struct VFXShaderSourceDesc {
17553    pub compute: bool,
17554    pub name: String,
17555    pub source: String,
17556}
17557
17558/// VFXSystemDesc is a sub class of the Unity engine since version 2018.3.0f2.
17559#[derive(Debug, Serialize, Deserialize)]
17560pub struct VFXSystemDesc {
17561    pub buffers: Vec<VFXMapping>,
17562    pub capacity: u32,
17563    pub flags: i32,
17564    pub layer: u32,
17565    pub tasks: Vec<VFXTaskDesc>,
17566    pub values: Vec<VFXMapping>,
17567    /// i32: (2018.3.0f2 - 2022.3.2f1)
17568    #[serde(alias = "type")]
17569    pub _type: Option<i32>,
17570    /// String: (2020.1.0b1 - 2022.3.2f1)
17571    pub name: Option<String>,
17572}
17573
17574/// VFXTaskDesc is a sub class of the Unity engine since version 2018.3.0f2.
17575#[derive(Debug, Serialize, Deserialize)]
17576pub struct VFXTaskDesc {
17577    pub buffers: Vec<VFXMapping>,
17578    pub params: Vec<VFXMapping>,
17579    /// PPtr<[`NamedObject`]>: (2018.3.0f2 - 2022.3.2f1)
17580    pub processor: PPtr,
17581    pub values: Vec<VFXMapping>,
17582    /// i32: (2018.3.0f2 - 2022.3.2f1)
17583    #[serde(alias = "type")]
17584    pub _type: Option<i32>,
17585    /// Vec<VFXMappingTemporary>: (2019.2.0b1 - 2022.3.2f1)
17586    pub temporaryBuffers: Option<Vec<VFXMappingTemporary>>,
17587}
17588
17589/// VFXTemporaryGPUBufferDesc is a sub class of the Unity engine since version 2019.2.0b1.
17590#[derive(Debug, Serialize, Deserialize)]
17591pub struct VFXTemporaryGPUBufferDesc {
17592    pub desc: VFXGPUBufferDesc,
17593    pub frameCount: u32,
17594}
17595
17596/// VRSettings is a sub class of the Unity engine since version 5.6.0b1.
17597#[derive(Debug, Serialize, Deserialize)]
17598pub struct VRSettings {
17599    /// Google: (5.6.0b1 - 2020.2.0a15)
17600    pub cardboard: Option<Google>,
17601    /// Google: (5.6.0b1 - 2020.2.0a15)
17602    pub daydream: Option<Google>,
17603    /// bool: (2018.1.0b2 - 2022.3.2f1)
17604    pub enable360StereoCapture: Option<bool>,
17605    /// HoloLens: (5.6.0f1 - 2020.2.0a15)
17606    pub hololens: Option<HoloLens>,
17607    /// Lumin: (2019.1.0b1 - 2020.2.0a15)
17608    pub lumin: Option<Lumin>,
17609    /// DeviceNone: (5.6.0b1 - 2020.2.0a17)
17610    pub none: Option<DeviceNone>,
17611    /// Oculus: (2017.3.0f3 - 2020.2.0a15)
17612    pub oculus: Option<Oculus>,
17613}
17614
17615/// ValueArrayConstant is a sub class of the Unity engine since version 4.0.0.
17616#[derive(Debug, Serialize, Deserialize)]
17617pub struct ValueArrayConstant {
17618    pub m_ValueArray: Vec<ValueConstant>,
17619}
17620
17621/// ValueConstant is a sub class of the Unity engine since version 4.0.0.
17622#[derive(Debug, Serialize, Deserialize)]
17623pub struct ValueConstant {
17624    pub m_ID: u32,
17625    pub m_Index: u32,
17626    pub m_Type: u32,
17627    pub m_TypeID: u32,
17628}
17629
17630/// ValueDelta is a sub class of the Unity engine since version 4.0.0.
17631#[derive(Debug, Serialize, Deserialize)]
17632pub struct ValueDelta {
17633    pub m_Start: f32,
17634    pub m_Stop: f32,
17635}
17636
17637/// VariableBoneCountWeights is a sub class of the Unity engine since version 2019.1.0b1.
17638#[derive(Debug, Serialize, Deserialize)]
17639pub struct VariableBoneCountWeights {
17640    pub m_Data: Vec<u32>,
17641}
17642
17643/// VariantInfo is a sub class of the Unity engine since version 5.0.0f4.
17644#[derive(Debug, Serialize, Deserialize)]
17645pub struct VariantInfo {
17646    pub keywords: String,
17647    pub passType: i32,
17648}
17649
17650/// Vector2f is a sub class of the Unity engine since version 3.4.0.
17651#[derive(Debug, Serialize, Deserialize)]
17652pub struct Vector2f {
17653    pub x: f32,
17654    pub y: f32,
17655}
17656
17657/// Vector3Curve is a sub class of the Unity engine since version 3.4.0.
17658#[derive(Debug, Serialize, Deserialize)]
17659pub struct Vector3Curve {
17660    pub curve: AnimationCurve,
17661    pub path: String,
17662}
17663
17664/// Vector3f is a sub class of the Unity engine since version 3.4.0.
17665#[derive(Debug, Serialize, Deserialize)]
17666pub struct Vector3f {
17667    pub x: f32,
17668    pub y: f32,
17669    pub z: f32,
17670}
17671
17672/// Vector4f is a sub class of the Unity engine since version 3.4.0.
17673#[derive(Debug, Serialize, Deserialize)]
17674pub struct Vector4f {
17675    pub w: f32,
17676    pub x: f32,
17677    pub y: f32,
17678    pub z: f32,
17679}
17680
17681/// VectorParameter is a sub class of the Unity engine since version 5.5.0f3.
17682#[derive(Debug, Serialize, Deserialize)]
17683pub struct VectorParameter {
17684    pub m_ArraySize: i32,
17685    pub m_Dim: i8,
17686    pub m_Index: i32,
17687    pub m_NameIndex: i32,
17688    pub m_Type: i8,
17689}
17690
17691/// VelocityModule is a sub class of the Unity engine since version 3.5.0.
17692#[derive(Debug, Serialize, Deserialize)]
17693pub struct VelocityModule {
17694    pub enabled: bool,
17695    pub inWorldSpace: bool,
17696    pub x: MinMaxCurve,
17697    pub y: MinMaxCurve,
17698    pub z: MinMaxCurve,
17699    /// MinMaxCurve: (2018.1.0b2 - 2022.3.2f1)
17700    pub orbitalOffsetX: Option<MinMaxCurve>,
17701    /// MinMaxCurve: (2018.1.0b2 - 2022.3.2f1)
17702    pub orbitalOffsetY: Option<MinMaxCurve>,
17703    /// MinMaxCurve: (2018.1.0b2 - 2022.3.2f1)
17704    pub orbitalOffsetZ: Option<MinMaxCurve>,
17705    /// MinMaxCurve: (2018.1.0b2 - 2022.3.2f1)
17706    pub orbitalX: Option<MinMaxCurve>,
17707    /// MinMaxCurve: (2018.1.0b2 - 2022.3.2f1)
17708    pub orbitalY: Option<MinMaxCurve>,
17709    /// MinMaxCurve: (2018.1.0b2 - 2022.3.2f1)
17710    pub orbitalZ: Option<MinMaxCurve>,
17711    /// MinMaxCurve: (2018.1.0b2 - 2022.3.2f1)
17712    pub radial: Option<MinMaxCurve>,
17713    /// MinMaxCurve: (2017.3.0b1 - 2022.3.2f1)
17714    pub speedModifier: Option<MinMaxCurve>,
17715}
17716
17717/// VersionControlSettings is a  class of the Unity engine since version 2020.1.0b1.
17718#[derive(Debug, Serialize, Deserialize)]
17719pub struct VersionControlSettings {
17720    pub m_CollabEditorSettings: CollabEditorSettings,
17721    pub m_Mode: String,
17722}
17723
17724/// VertexData is a sub class of the Unity engine since version 3.5.0.
17725#[derive(Debug, Serialize, Deserialize)]
17726pub struct VertexData {
17727    pub m_DataSize: Vec<u8>,
17728    pub m_VertexCount: u32,
17729    /// Vec<ChannelInfo>: (4.0.0 - 2022.3.2f1)
17730    pub m_Channels: Option<Vec<ChannelInfo>>,
17731    /// u32: (3.5.0 - 5.5.6f1); i32: (5.6.0b1 - 2017.4.40f1)
17732    pub m_CurrentChannels: Option<i64>,
17733    /// Vec<StreamInfo>: (4.0.0 - 4.7.2)
17734    pub m_Streams: Option<Vec<StreamInfo>>,
17735    /// StreamInfo: (3.5.0 - 3.5.7)
17736    #[serde(alias = "m_Streams[0]")]
17737    pub m_Streams_0_: Option<StreamInfo>,
17738    /// StreamInfo: (3.5.0 - 3.5.7)
17739    #[serde(alias = "m_Streams[1]")]
17740    pub m_Streams_1_: Option<StreamInfo>,
17741    /// StreamInfo: (3.5.0 - 3.5.7)
17742    #[serde(alias = "m_Streams[2]")]
17743    pub m_Streams_2_: Option<StreamInfo>,
17744    /// StreamInfo: (3.5.0 - 3.5.7)
17745    #[serde(alias = "m_Streams[3]")]
17746    pub m_Streams_3_: Option<StreamInfo>,
17747}
17748
17749/// VideoBuildInfo is a  class of the Unity engine since version 2019.4.38f1.
17750#[derive(Debug, Serialize, Deserialize)]
17751pub struct VideoBuildInfo {
17752    pub m_IsVideoModuleDisabled: bool,
17753    pub m_VideoClipCount: i32,
17754}
17755
17756/// VideoClip is a  class of the Unity engine since version 5.6.0b1.
17757/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Video.VideoClip.html):
17758/**
17759A container for video data.
17760A VideoClip stores the video portion of a movie file using a codec that is appropriate for the target platform.  VideoClips are referenced by VideoPlayers to play videos.
17761*/
17762#[derive(Debug, Serialize, Deserialize)]
17763pub struct VideoClip {
17764    /**The height of the images in the video clip in pixels. (Read Only).*/
17765    pub Height: u32,
17766    /**The width of the images in the video clip in pixels. (Read Only).*/
17767    pub Width: u32,
17768    pub m_AudioChannelCount: Vec<u16>,
17769    pub m_AudioLanguage: Vec<String>,
17770    pub m_AudioSampleRate: Vec<u32>,
17771    pub m_ExternalResources: StreamedResource,
17772    pub m_Format: i32,
17773    /**The length of the VideoClip in frames. (Read Only).*/
17774    pub m_FrameCount: u64,
17775    /**The frame rate of the clip in frames/second. (Read Only).*/
17776    pub m_FrameRate: f64,
17777    pub m_HasSplitAlpha: bool,
17778    /**The name of the object.*/
17779    pub m_Name: String,
17780    /**The video clip path in the project's assets. (Read Only).*/
17781    pub m_OriginalPath: String,
17782    pub m_ProxyHeight: u32,
17783    pub m_ProxyWidth: u32,
17784    /// u32: (2017.2.0b2 - 2022.3.2f1)
17785    pub m_PixelAspecRatioDen: Option<u32>,
17786    /// u32: (2017.2.0b2 - 2022.3.2f1)
17787    pub m_PixelAspecRatioNum: Option<u32>,
17788    /// Vec<PPtr<[`Shader`]>>: (2020.1.0b1 - 2022.3.2f1)
17789    pub m_VideoShaders: Option<Vec<PPtr>>,
17790    /**Whether the imported clip contains sRGB color data (Read Only).*/
17791    /// bool: (2019.2.0b1 - 2022.3.2f1)
17792    pub m_sRGB: Option<bool>,
17793}
17794
17795/// VideoClipImporter is a  class of the Unity engine since version 5.6.0b1.
17796/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/VideoClipImporter.html):
17797/**
17798VideoClipImporter lets you modify VideoClip import settings from Editor scripts.
17799See the Movie File Format Support Notes section in the VideoPlayer class documentation for supported movie file formats and encoding guidelines.
17800*/
17801#[derive(Debug, Serialize, Deserialize)]
17802pub struct VideoClipImporter {
17803    /**Get or set the AssetBundle name.*/
17804    pub m_AssetBundleName: String,
17805    /**Get or set the AssetBundle variant.*/
17806    pub m_AssetBundleVariant: String,
17807    pub m_ColorSpace: i32,
17808    pub m_Deinterlace: i32,
17809    pub m_EncodeAlpha: bool,
17810    pub m_EndFrame: i32,
17811    /**Apply a horizontal flip during import.*/
17812    pub m_FlipHorizontal: bool,
17813    /**Apply a vertical flip during import.*/
17814    pub m_FlipVertical: bool,
17815    pub m_FrameRange: i32,
17816    /**The name of the object.*/
17817    pub m_Name: String,
17818    pub m_Output: VideoClipImporterOutput,
17819    pub m_StartFrame: i32,
17820    pub m_TargetSettings: Vec<(i32, VideoClipImporterTargetSettings)>,
17821    /**Get or set any user data.*/
17822    pub m_UserData: String,
17823    /// i32: (5.6.0b1 - 5.6.0b2)
17824    pub m_AudioImportMode: Option<i32>,
17825    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2017.2.0b2 - 2022.3.2f1)
17826    pub m_ExternalObjects: Option<Vec<(SourceAssetIdentifier, PPtr)>>,
17827    /**Number of frames in the clip.*/
17828    /// i32: (5.6.0b1 - 2017.2.1f1)
17829    pub m_FrameCount: Option<i32>,
17830    /**Frame rate of the clip.*/
17831    /// f64: (5.6.0b1 - 2017.2.1f1)
17832    pub m_FrameRate: Option<f64>,
17833    /**Import audio tracks from source file.*/
17834    /// bool: (5.6.0f1 - 2022.3.2f1)
17835    pub m_ImportAudio: Option<bool>,
17836    /// bool: (5.6.0b1 - 2019.2.21f1)
17837    pub m_IsColorLinear: Option<bool>,
17838    /// i32: (5.6.0b1 - 2017.2.1f1)
17839    pub m_OriginalHeight: Option<i32>,
17840    /// i32: (5.6.0b1 - 2017.2.1f1)
17841    pub m_OriginalWidth: Option<i32>,
17842    /**Denominator of the pixel aspect ratio (num:den).*/
17843    /// u32: (2017.2.0b2 - 2017.2.1f1)
17844    pub m_PixelAspectRatioDenominator: Option<u32>,
17845    /**Numerator of the pixel aspect ratio (num:den).*/
17846    /// u32: (2017.2.0b2 - 2017.2.1f1)
17847    pub m_PixelAspectRatioNumerator: Option<u32>,
17848    /// f32: (5.6.0b1 - 2019.2.21f1)
17849    pub m_Quality: Option<f32>,
17850    /// Vec<u16>: (5.6.0b1 - 2017.2.1f1)
17851    pub m_SourceAudioChannelCount: Option<Vec<u16>>,
17852    /// Vec<u32>: (5.6.0b1 - 2017.2.1f1)
17853    pub m_SourceAudioSampleRate: Option<Vec<u32>>,
17854    /**Size in bytes of the file before importing.*/
17855    /// u64: (5.6.0b1 - 2017.2.1f1)
17856    pub m_SourceFileSize: Option<u64>,
17857    /**True if the source file has a channel for per-pixel transparency.*/
17858    /// bool: (5.6.0b1 - 2017.2.1f1)
17859    pub m_SourceHasAlpha: Option<bool>,
17860    /// bool: (5.6.0b1 - 2019.2.21f1)
17861    pub m_UseLegacyImporter: Option<bool>,
17862    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
17863    pub m_UsedFileIDs: Option<Vec<i64>>,
17864}
17865
17866/// VideoClipImporterOutput is a sub class of the Unity engine since version 5.6.0b1.
17867#[derive(Debug, Serialize, Deserialize)]
17868pub struct VideoClipImporterOutput {
17869    /// i32: (5.6.0b1 - 2017.2.1f1)
17870    pub encodedEndFrame: Option<i32>,
17871    /// i32: (5.6.0b1 - 2017.2.1f1)
17872    pub encodedHeight: Option<i32>,
17873    /// VideoClipImporterTargetSettings: (2017.1.4f1 - 2022.3.2f1)
17874    pub encodedSettings: Option<VideoClipImporterTargetSettings>,
17875    /// i32: (5.6.0b1 - 2017.2.1f1)
17876    pub encodedStartFrame: Option<i32>,
17877    /// i32: (5.6.0b1 - 2017.2.1f1)
17878    pub encodedWidth: Option<i32>,
17879    /// i32: (5.6.0b1 - 2017.2.1f1)
17880    pub format: Option<i32>,
17881    /// i32: (2017.1.4f1 - 2022.3.2f1)
17882    pub originalFrameCount: Option<i32>,
17883    /// i32: (2017.1.4f1 - 2022.3.2f1)
17884    pub originalHeight: Option<i32>,
17885    /// i32: (2017.1.4f1 - 2022.3.2f1)
17886    pub originalWidth: Option<i32>,
17887    /// VideoClipImporterTargetSettings: (5.6.0b1 - 2017.2.1f1)
17888    pub settings: Option<VideoClipImporterTargetSettings>,
17889    /// Vec<u16>: (2017.1.4f1 - 2022.3.2f1)
17890    pub sourceAudioChannelCount: Option<Vec<u16>>,
17891    /// Vec<u32>: (2017.1.4f1 - 2022.3.2f1)
17892    pub sourceAudioSampleRate: Option<Vec<u32>>,
17893    /// u64: (2017.1.4f1 - 2022.3.2f1)
17894    pub sourceFileSize: Option<u64>,
17895    /// f64: (2017.1.4f1 - 2022.3.2f1)
17896    pub sourceFrameRate: Option<f64>,
17897    /// bool: (2017.1.4f1 - 2022.3.2f1)
17898    pub sourceHasAlpha: Option<bool>,
17899    /// u32: (2017.2.2f1 - 2022.3.2f1)
17900    pub sourcePixelAspectRatioDenominator: Option<u32>,
17901    /// u32: (2017.2.2f1 - 2022.3.2f1)
17902    pub sourcePixelAspectRatioNumerator: Option<u32>,
17903    /// StreamedResource: (5.6.0b1 - 2017.2.1f1)
17904    pub streamedResource: Option<StreamedResource>,
17905    /// bool: (2017.3.0b1 - 2022.3.2f1)
17906    pub transcodeSkipped: Option<bool>,
17907}
17908
17909/// VideoClipImporterTargetSettings is a sub class of the Unity engine since version 5.6.0b1.
17910#[derive(Debug, Serialize, Deserialize)]
17911pub struct VideoClipImporterTargetSettings {
17912    pub aspectRatio: i32,
17913    pub bitrateMode: i32,
17914    pub codec: i32,
17915    pub customHeight: i32,
17916    pub customWidth: i32,
17917    pub enableTranscoding: bool,
17918    pub resizeFormat: i32,
17919    pub spatialQuality: i32,
17920}
17921
17922/// VideoPlayer is a  class of the Unity engine since version 5.6.0b1.
17923/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/Video.VideoPlayer.html):
17924/**
17925Plays video content onto a target.
17926Content can be either a VideoClip imported asset or a URL such as file:// or http://. Video content will be projected onto one of the supported targets, such as camera background or RenderTexture.
17927If the video content includes transparency, this transparency will be present in the target, allowing objects behind the video target to be visible. When the data VideoPlayer.source is set to URL, the audio and video description of what is being played will only be initialized once the VideoPlayer preparation is completed. You can test this with VideoPlayer.isPrepared.The following demonstrates a few features of the VideoPlayer:
17928*/
17929#[derive(Debug, Serialize, Deserialize)]
17930pub struct VideoPlayer {
17931    /**Defines how the video content will be stretched to fill the target area.*/
17932    pub m_AspectRatio: i32,
17933    /**Destination for the audio embedded in the video.*/
17934    pub m_AudioOutputMode: i32,
17935    /**Number of audio tracks that this VideoPlayer will take control of.*/
17936    pub m_ControlledAudioTrackCount: u16,
17937    pub m_DataSource: i32,
17938    pub m_DirectAudioMutes: Vec<bool>,
17939    pub m_DirectAudioVolumes: Vec<f32>,
17940    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
17941    pub m_Enabled: u8,
17942    pub m_EnabledAudioTracks: Vec<bool>,
17943    pub m_FrameReadyEventEnabled: bool,
17944    /**The game object this component is attached to. A component is always attached to a game object.*/
17945    /// PPtr<[`GameObject`]>: (5.6.0b1 - 2022.3.2f1)
17946    pub m_GameObject: PPtr,
17947    pub m_Looping: bool,
17948    /**Whether the content will start playing back as soon as the component awakes.*/
17949    pub m_PlayOnAwake: bool,
17950    /**Factor by which the basic playback rate will be multiplied.*/
17951    pub m_PlaybackSpeed: f32,
17952    /**Where the video content will be drawn.*/
17953    pub m_RenderMode: i32,
17954    /**Whether the VideoPlayer is allowed to skip frames to catch up with current time.*/
17955    pub m_SkipOnDrop: bool,
17956    /// Vec<PPtr<[`AudioSource`]>>: (5.6.0b1 - 2022.3.2f1)
17957    pub m_TargetAudioSources: Vec<PPtr>,
17958    /**Camera component to draw to when VideoPlayer.renderMode is set to either VideoRenderMode.CameraFarPlane or VideoRenderMode.CameraNearPlane.*/
17959    /// PPtr<[`Camera`]>: (5.6.0b1 - 2022.3.2f1)
17960    pub m_TargetCamera: PPtr,
17961    /**Overall transparency level of the target camera plane video.*/
17962    pub m_TargetCameraAlpha: f32,
17963    /**Material texture property which is targeted when VideoPlayer.renderMode is set to Video.VideoTarget.MaterialOverride.*/
17964    pub m_TargetMaterialProperty: String,
17965    /**Renderer which is targeted when VideoPlayer.renderMode is set to Video.VideoTarget.MaterialOverride*/
17966    /// PPtr<[`Renderer`]>: (5.6.0b1 - 2022.3.2f1)
17967    pub m_TargetMaterialRenderer: PPtr,
17968    /**RenderTexture to draw to when VideoPlayer.renderMode is set to Video.VideoTarget.RenderTexture.*/
17969    /// PPtr<[`RenderTexture`]>: (5.6.0b1 - 2022.3.2f1)
17970    pub m_TargetTexture: PPtr,
17971    /**The file or HTTP URL that the VideoPlayer reads content from.*/
17972    pub m_Url: String,
17973    /// PPtr<[`VideoClip`]>: (5.6.0b1 - 2022.3.2f1)
17974    pub m_VideoClip: PPtr,
17975    /**Determines whether the VideoPlayer will wait for the first frame to be loaded into the texture before starting playback when VideoPlayer.playOnAwake is on.*/
17976    pub m_WaitForFirstFrame: bool,
17977    /**Type of 3D content contained in the source video media.*/
17978    /// i32: (2017.3.0b1 - 2022.3.2f1)
17979    pub m_TargetCamera3DLayout: Option<i32>,
17980    /// String: (5.6.0b1 - 5.6.0b10)
17981    pub m_TargetMaterialName: Option<String>,
17982    /**The clock that the VideoPlayer observes to detect and correct drift.*/
17983    /// i32: (2017.1.0b2 - 2022.3.2f1)
17984    pub m_TimeReference: Option<i32>,
17985    /**The clock source used by the VideoPlayer to derive its current time.*/
17986    /// i32: (2022.2.0b1 - 2022.3.2f1)
17987    pub m_TimeUpdateMode: Option<i32>,
17988    /// Vec<PPtr<[`Shader`]>>: (2020.1.0b1 - 2022.3.2f1)
17989    pub m_VideoShaders: Option<Vec<PPtr>>,
17990}
17991
17992/// VisualEffect is a  class of the Unity engine since version 2018.3.0f2.
17993/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/VFX.VisualEffect.html):
17994/**
17995The visual effect class that references an VisualEffectAsset instance within the Scene.
17996*/
17997#[derive(Debug, Serialize, Deserialize)]
17998pub struct VisualEffect {
17999    /// PPtr<[`VisualEffectAsset`]>: (2018.3.0f2 - 2022.3.2f1)
18000    pub m_Asset: PPtr,
18001    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
18002    pub m_Enabled: u8,
18003    /**The game object this component is attached to. A component is always attached to a game object.*/
18004    /// PPtr<[`GameObject`]>: (2018.3.0f2 - 2022.3.2f1)
18005    pub m_GameObject: PPtr,
18006    pub m_PropertySheet: VFXPropertySheetSerializedBase,
18007    /**This property controls whether the visual effect generates a new seed for the random number generator with each call to VisualEffect.Play function.*/
18008    pub m_ResetSeedOnPlay: Enum_bool__u8,
18009    /**The initial seed used for internal random number generator.*/
18010    pub m_StartSeed: u32,
18011    /// u8: (2022.2.0b1 - 2022.3.2f1)
18012    pub m_AllowInstancing: Option<u8>,
18013    /**The default event name. Unity calls this event when the VisualEffect awakes, or when you call VisualEffect.Reinit.*/
18014    /// String: (2019.3.0b1 - 2022.3.2f1)
18015    pub m_InitialEventName: Option<String>,
18016    /// u8: (2019.3.0b1 - 2022.3.2f1)
18017    pub m_InitialEventNameOverriden: Option<u8>,
18018}
18019
18020/// VisualEffectAsset is a  class of the Unity engine since version 2018.3.0f2.
18021/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/VFX.VisualEffectAsset.html):
18022/**
18023This class contains a graph of the elements needed to describe a visual effect. These include: the visual effects system, generated shaders, and compiled data.
18024See Also: VisualEffect.
18025*/
18026#[derive(Debug, Serialize, Deserialize)]
18027pub struct VisualEffectAsset {
18028    pub m_Infos: VisualEffectInfo,
18029    /**The name of the object.*/
18030    pub m_Name: String,
18031    pub m_Systems: Vec<VFXSystemDesc>,
18032}
18033
18034/// VisualEffectImporter is a  class of the Unity engine since version 2018.3.0f2.
18035#[derive(Debug, Serialize, Deserialize)]
18036pub struct VisualEffectImporter {
18037    pub m_AssetBundleName: String,
18038    pub m_AssetBundleVariant: String,
18039    /// Vec<(SourceAssetIdentifier, PPtr<[`Object`]>)>: (2018.3.0f2 - 2022.3.2f1)
18040    pub m_ExternalObjects: Vec<(SourceAssetIdentifier, PPtr)>,
18041    pub m_Name: String,
18042    pub m_UserData: String,
18043    /// Vec<i64>: (2019.1.0b1 - 2022.3.2f1)
18044    pub m_UsedFileIDs: Option<Vec<i64>>,
18045}
18046
18047/// VisualEffectInfo is a sub class of the Unity engine since version 2018.3.0f2.
18048#[derive(Debug, Serialize, Deserialize)]
18049pub struct VisualEffectInfo {
18050    pub m_Buffers: Vec<VFXGPUBufferDesc>,
18051    pub m_CPUBuffers: Vec<VFXCPUBufferDesc>,
18052    pub m_CullingFlags: i32,
18053    pub m_Events: Vec<VFXEventDesc>,
18054    pub m_ExposedExpressions: Vec<VFXMapping>,
18055    pub m_Expressions: VFXExpressionContainer,
18056    pub m_PropertySheet: VFXPropertySheetSerializedBase,
18057    pub m_RendererSettings: VFXRendererSettings,
18058    pub m_UpdateMode: i32,
18059    /// u32: (2021.2.0b1 - 2022.3.2f1)
18060    pub m_CompilationVersion: Option<u32>,
18061    /// String: (2019.3.0b1 - 2022.3.2f1)
18062    pub m_InitialEventName: Option<String>,
18063    /// u32: (2022.2.0b1 - 2022.3.2f1)
18064    pub m_InstancingCapacity: Option<u32>,
18065    /// i32: (2022.2.0b1 - 2022.3.2f1)
18066    pub m_InstancingDisabledReason: Option<i32>,
18067    /// i32: (2022.2.0b1 - 2022.3.2f1)
18068    pub m_InstancingMode: Option<i32>,
18069    /// f32: (2019.1.0b1 - 2022.3.2f1)
18070    pub m_PreWarmDeltaTime: Option<f32>,
18071    /// u32: (2019.1.0b1 - 2022.3.2f1)
18072    pub m_PreWarmStepCount: Option<u32>,
18073    /// u32: (2018.4.15f1 - 2022.3.2f1)
18074    pub m_RuntimeVersion: Option<u32>,
18075    /// Vec<VFXTemporaryGPUBufferDesc>: (2019.2.0b1 - 2022.3.2f1)
18076    pub m_TemporaryBuffers: Option<Vec<VFXTemporaryGPUBufferDesc>>,
18077}
18078
18079/// VisualEffectResource is a  class of the Unity engine since version 2018.3.0f2.
18080#[derive(Debug, Serialize, Deserialize)]
18081pub struct VisualEffectResource {
18082    /// PPtr<[`MonoBehaviour`]>: (2018.3.0f2 - 2022.3.2f1)
18083    pub m_Graph: PPtr,
18084    pub m_Infos: Enum_VisualEffectInfo__VisualEffectSettings,
18085    pub m_Name: String,
18086    /// Vec<VFXShaderSourceDesc>: (2018.3.0f2 - 2020.1.0a12)
18087    pub m_ShaderSources: Option<Vec<VFXShaderSourceDesc>>,
18088    /// Vec<VFXEditorSystemDesc>: (2018.3.0f2 - 2020.1.0a12)
18089    pub m_Systems: Option<Vec<VFXEditorSystemDesc>>,
18090}
18091
18092#[derive(Debug, Serialize, Deserialize)]
18093#[serde(untagged)]
18094pub enum Enum_VisualEffectInfo__VisualEffectSettings {
18095    VisualEffectInfo(VisualEffectInfo),
18096    VisualEffectSettings(VisualEffectSettings),
18097}
18098
18099/// VisualEffectSettings is a sub class of the Unity engine since version 2020.1.0b1.
18100#[derive(Debug, Serialize, Deserialize)]
18101pub struct VisualEffectSettings {
18102    pub m_CullingFlags: i32,
18103    pub m_InitialEventName: String,
18104    pub m_PreWarmDeltaTime: f32,
18105    pub m_PreWarmStepCount: u32,
18106    pub m_RendererSettings: VFXRendererSettings,
18107    pub m_UpdateMode: i32,
18108    /// u32: (2022.2.0b1 - 2022.3.2f1)
18109    pub m_InstancingCapacity: Option<u32>,
18110    /// i32: (2022.2.0b1 - 2022.2.0a18)
18111    pub m_InstancingDisabledReason: Option<i32>,
18112    /// i32: (2022.2.0b1 - 2022.3.2f1)
18113    pub m_InstancingMode: Option<i32>,
18114}
18115
18116/// VisualEffectSubgraphBlock is a  class of the Unity engine since version 2019.2.0b1.
18117#[derive(Debug, Serialize, Deserialize)]
18118pub struct VisualEffectSubgraphBlock {
18119    pub m_Name: String,
18120}
18121
18122/// VisualEffectSubgraphOperator is a  class of the Unity engine since version 2019.2.0b1.
18123#[derive(Debug, Serialize, Deserialize)]
18124pub struct VisualEffectSubgraphOperator {
18125    pub m_Name: String,
18126}
18127
18128/// WheelCollider is a  class of the Unity engine since version 3.4.0.
18129/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/WheelCollider.html):
18130/**
18131A special collider for vehicle wheels.
18132Wheel collider is used to model vehicle wheels. It simulates a spring and damper suspension setup,
18133
18134and uses a slip based tire friction model to calculate wheel contact forces.Wheel's collision detection is performed by casting a ray from center downwards the local
18135
18136y-axis. The wheel has a radius and can extend downwards by suspensionDistance
18137
18138amount.The wheel is controlled with motorTorque, brakeTorque and steerAngle properties.Wheel collider computes friction separately from the rest of physics engine, using a slip based
18139
18140friction model. This allows for more realistic behaviour, but makes
18141
18142wheel colliders ignore standard PhysicMaterial settings. Simulation of different road materials
18143
18144is done by changing the forwardFriction and sidewaysFriction
18145
18146based on what material the wheel is hitting. See Also: GetGroundHit and WheelFrictionCurve.
18147*/
18148#[derive(Debug, Serialize, Deserialize)]
18149pub struct WheelCollider {
18150    /**The center of the wheel, measured in the object's local space.*/
18151    pub m_Center: Vector3f,
18152    /**Properties of tire friction in the direction the wheel is pointing in.*/
18153    pub m_ForwardFriction: WheelFrictionCurve,
18154    /**The game object this component is attached to. A component is always attached to a game object.*/
18155    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
18156    pub m_GameObject: PPtr,
18157    /**The mass of the wheel, expressed in kilograms. Must be larger than zero. Typical values would be in range (20,80).*/
18158    pub m_Mass: f32,
18159    /**The radius of the wheel, measured in local space.*/
18160    pub m_Radius: f32,
18161    /**Properties of tire friction in the sideways direction.*/
18162    pub m_SidewaysFriction: WheelFrictionCurve,
18163    /**Maximum extension distance of wheel suspension, measured in local space.*/
18164    pub m_SuspensionDistance: f32,
18165    /**The parameters of wheel's suspension. The suspension attempts to reach a target position by applying a linear force and a damping force.*/
18166    pub m_SuspensionSpring: JointSpring,
18167    /**Enabled Colliders will collide with other Colliders, disabled Colliders won't.*/
18168    /// bool: (3.5.0 - 2022.3.2f1)
18169    pub m_Enabled: Option<bool>,
18170    /**The additional layers that this Collider should exclude when deciding if the Collider can contact another Collider.*/
18171    /// BitField: (2022.2.0b1 - 2022.3.2f1)
18172    pub m_ExcludeLayers: Option<BitField>,
18173    /**Application point of the suspension and tire forces measured from the base of the resting wheel.*/
18174    /// f32: (5.0.0f4 - 2022.3.2f1)
18175    pub m_ForceAppPointDistance: Option<f32>,
18176    /**The additional layers that this Collider should include when deciding if the Collider can contact another Collider.*/
18177    /// BitField: (2022.2.0b1 - 2022.3.2f1)
18178    pub m_IncludeLayers: Option<BitField>,
18179    /**A decision priority assigned to this Collider used when there is a conflicting decision on whether a Collider can contact another Collider.*/
18180    /// i32: (2022.2.0b1 - 2022.3.2f1)
18181    pub m_LayerOverridePriority: Option<i32>,
18182    /**Whether or not this Collider generates contacts for Physics.ContactEvent.*/
18183    /// bool: (2022.2.0b1 - 2022.3.2f1)
18184    pub m_ProvidesContacts: Option<bool>,
18185    /**The damping rate of the wheel. Must be larger than zero.*/
18186    /// f32: (5.0.0f4 - 2022.3.2f1)
18187    pub m_WheelDampingRate: Option<f32>,
18188}
18189
18190/// WheelFrictionCurve is a sub class of the Unity engine since version 3.4.0.
18191/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/WheelFrictionCurve.html):
18192/**
18193WheelFrictionCurve is used by the WheelCollider to describe friction properties of the wheel tire.
18194The curve takes a measure of tire slip as an input and gives a force as output. The curve is approximated by
18195a two-piece spline. The first section goes from (0,0) to (extremumSlip,extremumValue), at which
18196point the curve's tangent is zero. The second section goes from (extremumSlip,extremumValue)
18197to (asymptoteSlip,asymptoteValue), where curve's tangent is again zero:Wheel collider computes friction separately from the rest of physics engine, using a slip based
18198friction model. It separates the overall friction force into a "forwards" component (in the
18199direction of rolling, and responsible for acceleration and braking) and "sideways" component
18200(orthogonal to rolling, responsible for keeping the car oriented). Tire friction is described
18201separately in these directions using WheelCollider.forwardFriction and WheelCollider.sidewaysFriction.
18202In both directions it is first determined how much the tire is slipping (what is the speed difference between
18203the rubber and the road). Then this slip value is used to find out tire force exerted on the contact.The property of real tires is that for low slip they can exert high forces as the rubber compensates
18204for the slip by stretching. Later when the slip gets really high, the forces are reduced as the tire
18205starts to slide or spin. Thus tire friction curves have a shape like in the image above.Because the friction for the tires is computed separately, the PhysicMaterial of the ground
18206does not affect the wheels. Simulation of different road materials is done by changing
18207the WheelCollider.forwardFriction and WheelCollider.sidewaysFriction of the wheel,
18208based on what material the wheel is hitting.See Also: WheelCollider, WheelCollider.forwardFriction, WheelCollider.sidewaysFriction.
18209*/
18210#[derive(Debug, Serialize, Deserialize)]
18211pub struct WheelFrictionCurve {
18212    /**Asymptote point slip (default 2).*/
18213    /// f32: (3.4.0 - 4.7.2)
18214    pub asymptoteSlip: Option<f32>,
18215    /**Force at the asymptote slip (default 10000).*/
18216    /// f32: (3.4.0 - 4.7.2)
18217    pub asymptoteValue: Option<f32>,
18218    /**Extremum point slip (default 1).*/
18219    /// f32: (3.4.0 - 4.7.2)
18220    pub extremumSlip: Option<f32>,
18221    /**Force at the extremum slip (default 20000).*/
18222    /// f32: (3.4.0 - 4.7.2)
18223    pub extremumValue: Option<f32>,
18224    /**Asymptote point slip (default 2).*/
18225    /// f32: (5.0.0f4 - 2022.3.2f1)
18226    pub m_AsymptoteSlip: Option<f32>,
18227    /**Force at the asymptote slip (default 10000).*/
18228    /// f32: (5.0.0f4 - 2022.3.2f1)
18229    pub m_AsymptoteValue: Option<f32>,
18230    /**Extremum point slip (default 1).*/
18231    /// f32: (5.0.0f4 - 2022.3.2f1)
18232    pub m_ExtremumSlip: Option<f32>,
18233    /**Force at the extremum slip (default 20000).*/
18234    /// f32: (5.0.0f4 - 2022.3.2f1)
18235    pub m_ExtremumValue: Option<f32>,
18236    /**Multiplier for the extremumValue and asymptoteValue values (default 1).*/
18237    /// f32: (5.0.0f4 - 2022.3.2f1)
18238    pub m_Stiffness: Option<f32>,
18239    /// f32: (3.4.0 - 4.7.2)
18240    pub stiffnessFactor: Option<f32>,
18241}
18242
18243/// WheelJoint2D is a  class of the Unity engine since version 4.5.0.
18244/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/WheelJoint2D.html):
18245/**
18246The wheel joint allows the simulation of wheels by providing a constraining suspension motion with an optional motor.
18247See Also: JointSuspension2D.
18248*/
18249#[derive(Debug, Serialize, Deserialize)]
18250pub struct WheelJoint2D {
18251    /**The joint's anchor point on the object that has the joint component.*/
18252    pub m_Anchor: Vector2f,
18253    /**The joint's anchor point on the second object (ie, the one which doesn't have the joint component).*/
18254    pub m_ConnectedAnchor: Vector2f,
18255    /// PPtr<[`Rigidbody2D`]>: (4.5.0 - 2022.3.2f1)
18256    pub m_ConnectedRigidBody: PPtr,
18257    /**Enabled Behaviours are Updated, disabled Behaviours are not.*/
18258    pub m_Enabled: u8,
18259    /**The game object this component is attached to. A component is always attached to a game object.*/
18260    /// PPtr<[`GameObject`]>: (4.5.0 - 2022.3.2f1)
18261    pub m_GameObject: PPtr,
18262    /**Parameters for a motor force that is applied automatically to the Rigibody2D along the line.*/
18263    pub m_Motor: JointMotor2D,
18264    /**Set the joint suspension configuration.*/
18265    pub m_Suspension: JointSuspension2D,
18266    /**Should a motor force be applied automatically to the Rigidbody2D?*/
18267    pub m_UseMotor: bool,
18268    /**Should the connectedAnchor be calculated automatically?*/
18269    /// bool: (5.3.0f1 - 2022.3.2f1)
18270    pub m_AutoConfigureConnectedAnchor: Option<bool>,
18271    /**The action to take when the joint breaks the breakForce or breakTorque.*/
18272    /// i32: (2022.2.0b1 - 2022.3.2f1)
18273    pub m_BreakAction: Option<i32>,
18274    /**The force that needs to be applied for this joint to break.*/
18275    /// f32: (5.3.0f1 - 2022.3.2f1)
18276    pub m_BreakForce: Option<f32>,
18277    /**The torque that needs to be applied for this joint to break.*/
18278    /// f32: (5.3.0f1 - 2022.3.2f1)
18279    pub m_BreakTorque: Option<f32>,
18280    /// bool: (4.5.0 - 5.0.0f4)
18281    pub m_CollideConnected: Option<bool>,
18282    /**Should the two rigid bodies connected with this joint collide with each other?*/
18283    /// bool: (5.0.1f1 - 2022.3.2f1)
18284    pub m_EnableCollision: Option<bool>,
18285}
18286
18287/// WindZone is a  class of the Unity engine since version 3.4.0.
18288/// Exert from [Unity's scripting documentation](https://docs.unity3d.com/ScriptReference/WindZone.html):
18289/**
18290Wind Zones add realism to the trees you create by making them wave their branches and leaves as if blown by the wind.
18291Note: This only works with trees created by the tree creator or imported from SpeedTree Modeler.
18292*/
18293#[derive(Debug, Serialize, Deserialize)]
18294pub struct WindZone {
18295    pub m_Enabled: u8,
18296    /**The game object this component is attached to. A component is always attached to a game object.*/
18297    /// PPtr<[`GameObject`]>: (3.4.0 - 2022.3.2f1)
18298    pub m_GameObject: PPtr,
18299    /**Defines the type of wind zone to be used (Spherical or Directional).*/
18300    pub m_Mode: i32,
18301    /**Radius of the Spherical Wind Zone (only active if the WindZoneMode is set to Spherical).*/
18302    pub m_Radius: f32,
18303    /**The primary wind force.*/
18304    pub m_WindMain: f32,
18305    /**Defines the frequency of the wind changes.*/
18306    pub m_WindPulseFrequency: f32,
18307    /**Defines how much the wind changes over time.*/
18308    pub m_WindPulseMagnitude: f32,
18309    /**The turbulence wind force.*/
18310    pub m_WindTurbulence: f32,
18311}
18312
18313/// WorldAnchor is a  class of the Unity engine since version 5.5.0f3.
18314#[derive(Debug, Serialize, Deserialize)]
18315pub struct WorldAnchor {
18316    /// PPtr<[`GameObject`]>: (5.5.0f3 - 2020.2.0a15)
18317    pub m_GameObject: PPtr,
18318}
18319
18320/// WorldParticleCollider is a  class of the Unity engine since version 3.4.0.
18321#[derive(Debug, Serialize, Deserialize)]
18322pub struct WorldParticleCollider {
18323    pub m_BounceFactor: f32,
18324    pub m_CollidesWith: BitField,
18325    pub m_CollisionEnergyLoss: f32,
18326    /// PPtr<[`GameObject`]>: (3.4.0 - 2018.2.21f1)
18327    pub m_GameObject: PPtr,
18328    pub m_MinKillVelocity: f32,
18329    pub m_SendCollisionMessage: bool,
18330}
18331
18332/// bitset is a sub class of the Unity engine since version 3.4.0.
18333#[derive(Debug, Serialize, Deserialize)]
18334pub struct bitset {
18335    pub bitCount: i32,
18336    pub bitblocks: Vec<u8>,
18337}
18338
18339/// float3 is a sub class of the Unity engine since version 5.4.0f3.
18340#[derive(Debug, Serialize, Deserialize)]
18341pub struct float3 {
18342    pub x: f32,
18343    pub y: f32,
18344    pub z: f32,
18345}
18346
18347/// float4 is a sub class of the Unity engine since version 4.0.0.
18348#[derive(Debug, Serialize, Deserialize)]
18349pub struct float4 {
18350    pub w: f32,
18351    pub x: f32,
18352    pub y: f32,
18353    pub z: f32,
18354}
18355
18356/// int2_storage is a sub class of the Unity engine since version 2018.1.0b2.
18357#[derive(Debug, Serialize, Deserialize)]
18358pub struct int2_storage {
18359    pub x: i32,
18360    pub y: i32,
18361}
18362
18363/// int3_storage is a sub class of the Unity engine since version 2017.2.0b2.
18364#[derive(Debug, Serialize, Deserialize)]
18365pub struct int3_storage {
18366    pub x: i32,
18367    pub y: i32,
18368    pub z: i32,
18369}
18370
18371/// xform is a sub class of the Unity engine since version 4.0.0.
18372#[derive(Debug, Serialize, Deserialize)]
18373pub struct xform {
18374    pub q: float4,
18375    pub s: Enum_float4__float3,
18376    pub t: Enum_float4__float3,
18377}