---
tags:
    - "Physics, 3D, Kinematic"
---

# Character Joint Projection Angle

[Physics 3D](../../index.md) / [Joint](../index.md) / [Character Joint](index.md) / **Character Joint Projection Angle**

## Description

Compares the Projection Angle property of Character Joint component to another value

## Parameters

| Name | Description |
| :--- | :---------- |
| Character Joint |  |
| Compare |  |
| Value |  |

## Code

```cs
// <auto-generated>
// This script was automatically generated using the Visual Script Transpiler.
// Do not modify. Changes to this file will be lost when updating the package.
// </auto-generated>

using System;
using UnityEngine;
using VisualScript.Icons;

namespace VisualScript.Runtime
{
    [Title("Character Joint Projection Angle")]
    [Category("Physics 3D/Joint/Character Joint/Projection Angle")]
    [Description("Compares the Projection Angle property of Character Joint component to another value")]

    [Image(typeof(IconJoint), ColorTheme.Type.Lime, typeof(BadgeCharacter))]
    [Keywords("Physics, 3D, Kinematic")]

    [Parameter("Character Joint")]
    [Parameter("Compare")]
    [Parameter("Value")]

    [Serializable]
    public class GenConditionNumber_CharacterJoint_CheckProjectionAngle : Condition
    {
        [SerializeField] private GetGameObject m_CharacterJoint = new GetGameObject(
            new GenTypeGameObject_CharacterJoint()
        );

        [SerializeField] private CompareNumber m_Compare = new CompareNumber();

        [SerializeField] private GetNumber m_Value = new GetNumber();

        protected override string GetTitle(GameObject source)
        {
            string member = TextUtils.ThemeAsKeyword("Projection Angle");
            return $"{this.m_CharacterJoint} {member} {this.m_Compare} {this.m_Value}";
        }

        protected override bool Run(Args args)
        {
            CharacterJoint component = this.m_CharacterJoint.Get<CharacterJoint>(args);
            if (component == null) return false;

            return this.m_Compare.Compare(component.projectionAngle, (float) this.m_Value.Get(args));
        }
    }
}
```

