Repository: FlaxEngine/FlaxEngine
File: Source/Engine/Physics/Colliders/CharacterController.h (C/C++)

Code before:
    /// </summary>
    API_PROPERTY() void SetNonWalkableMode(NonWalkableModes value);

    /// <summary>
    /// Gets the step height. The character will step up a stair only if it is closer to the ground than the indicated value. This should not be greater than the Character Controller’s height or it will generate an error.
    /// </summary>
    API_PROPERTY(Attributes="EditorOrder(220), DefaultValue(30.0f), Limit(0), EditorDisplay(\"Character Controller\")")
    FORCE_INLINE float GetStepOffset() const
    {
        return _stepOffset;
    }

    /// <summary>
    /// Sets the step height. The character will step up a stair only if it is closer to the ground than the indicated value. This should not be greater than the Character Controller’s height or it will generate an error.
    /// </summary>
    API_PROPERTY() void SetStepOffset(float value);

    /// <summary>
    /// Sets the character up vector.
    /// </summary>
    API_PROPERTY() void SetUpDirection(const Vector3& up);

    /// <summary>
    /// Gets the character up vector.
    /// </summary>
    API_PROPERTY() Vector3 GetUpDirection() const;
    
    /// <summary>
    /// Gets the minimum move distance of the character controller. The minimum traveled distance to consider. If traveled distance is smaller, the character doesn't move. This is used to stop the recursive motion algorithm when remaining distance to travel is small.
    /// </summary>
    API_PROPERTY(Attributes="EditorOrder(230), DefaultValue(0.0f), Limit(0, 1000), EditorDisplay(\"Character Controller\")")
    FORCE_INLINE float GetMinMoveDistance() const
    {
        return _minMoveDistance;
    }

    /// <summary>
    /// Sets the minimum move distance of the character controller.The minimum traveled distance to consider. If traveled distance is smaller, the character doesn't move. This is used to stop the recursive motion algorithm when remaining distance to travel is small.
    /// </summary>
    API_PROPERTY() void SetMinMoveDistance(float value);

public:

    /// <summary>
    /// Gets the linear velocity of the Character Controller. This allows tracking how fast the character is actually moving, for instance when it is stuck at a wall this value will be the near zero vector.
    /// </summary>
    API_PROPERTY() Vector3 GetVelocity() const;

    /// <summary>
    /// Gets a value indicating whether this character was grounded during last move call grounded.
    /// </summary>

Review comment (suggestion):
Move getter up to be first (in order). And add attributes like: `Attributes="EditorOrder(240), DefaultValue(true), EditorDisplay(\"Character Controller\")"`

Code after:
    /// </summary>
    API_PROPERTY() void SetNonWalkableMode(NonWalkableModes value);

    /// <summary>
    /// Gets the step height. The character will step up a stair only if it is closer to the ground than the indicated value. This should not be greater than the Character Controller’s height or it will generate an error.
    /// </summary>
    API_PROPERTY(Attributes="EditorOrder(220), DefaultValue(30.0f), Limit(0), EditorDisplay(\"Character Controller\")")
    FORCE_INLINE float GetStepOffset() const
    {
        return _stepOffset;
    }

    /// <summary>
    /// Sets the step height. The character will step up a stair only if it is closer to the ground than the indicated value. This should not be greater than the Character Controller’s height or it will generate an error.
    /// </summary>
    API_PROPERTY() void SetStepOffset(float value);

    /// <summary>
    /// Gets the character up vector.
    /// </summary>
    API_PROPERTY(Attributes="EditorOrder(240), DefaultValue(true), EditorDisplay(\"Character Controller\")")
    Vector3 GetUpDirection() const;
    
    /// <summary>
    /// Sets the character up vector.
    /// </summary>
    API_PROPERTY() void SetUpDirection(const Vector3& up);
    
    /// <summary>
    /// Gets the minimum move distance of the character controller. The minimum traveled distance to consider. If traveled distance is smaller, the character doesn't move. This is used to stop the recursive motion algorithm when remaining distance to travel is small.
    /// </summary>
    API_PROPERTY(Attributes="EditorOrder(230), DefaultValue(0.0f), Limit(0, 1000), EditorDisplay(\"Character Controller\")")
    FORCE_INLINE float GetMinMoveDistance() const
    {
        return _minMoveDistance;
    }

    /// <summary>
    /// Sets the minimum move distance of the character controller.The minimum traveled distance to consider. If traveled distance is smaller, the character doesn't move. This is used to stop the recursive motion algorithm when remaining distance to travel is small.
    /// </summary>
    API_PROPERTY() void SetMinMoveDistance(float value);

public:

    /// <summary>
    /// Gets the linear velocity of the Character Controller. This allows tracking how fast the character is actually moving, for instance when it is stuck at a wall this value will be the near zero vector.
    /// </summary>
    API_PROPERTY() Vector3 GetVelocity() const;

    /// <summary>
    /// Gets a value indicating whether this character was grounded during last move call grounded.