How can I make an ATTACHABLE, physical rigidbody behave like a wing?

Robertbu told me to start a new question because he thinks it have drifted too far away from the initial point. So, to make the point obvious enough, I made an entire video to explain what I am trying to achieve:

Cool video that really explains both where you are with your problem and what needs to be solved. Typically a problem like this one is going to be solved not by someone knowing the answer, but by someone who knows Unity playing around until they figure out what works. There are forces going on with a real plane that are not simulated by Unity’s physics engine. So to figure out what can be done with Unity’s physics and what needs to be simulated in code is both experimentation guided by experience more than knowing an specific answer.

With that said, you might have a better shot getting an answer if you provide a package. It doesn’t have to have your visual assets, just a cylinder for a fuselage, a couple of boxes for wings, and the current state of your flying code. No guarantee that someone will take you up on it, but you’ll have a better shot.

With that said, I do have a couple of ideas based on the video. First, for each wing, I’d add an empty child game object for the position to apply force. These empty game objects will allow you to adjust the position the force is applied relative to the wing…you probably want it to align with the pivot point.

Second, the previous question had more to do with your issues than I thought (potentially). The following code assumes the leading edge of the wing is the forward (i.e. pointed towards positive ‘z’ with no rotation). Assuming you calculated some lift based on your speed and/or engine strength. Before applying the lift do:

lift *= Mathf.Abs(Vector3.Dot(wing.transform.forward, Rigidbody.velocity.normalized));

This will cause the lift to decay as the wing goes out of alignment with the direction of the plane’s travel.