- Home /
Why is rigidbody.AddForce not working?
Hi,
I am new to Unity Development and I was working on Roll a ball tutorial when I encountered during the scripting phase.Whenever I type rigidbody.AddForce,it puts the AddForce in red letters and it shows me
"Error CS0117:UnityEngine.Component does not contain a definition for 'AddForce'".
Also,at the same time I keep getting the message to update the API but if I comment out that piece of code,it goes away.I have attached pictures of both the problems and I appreciate any help or suggestion regarding the solution.Thanks!
Answer by Digital-Phantom · Mar 20, 2015 at 05:31 PM
I take it your using unity 5.
When you get that little pop up screen it basically means the some of the wording/code that was used in earlier version scripts no longer exists in unity 5. Just click the "I made a backup..." button and unity will auto correct for you.
;)
Answer by Landern · Mar 20, 2015 at 05:29 PM
Does your script have a rigidbody variable?
Have you referenced it if it exists?
private RigidBody3D rigidbody;
void Start()
{
rigidbody = GetComponent<RigidBody3D>();
}
if not, you need to get the component if the component(RigidBody3d) exists on the same gameobject that the script you have your FixedUpdate exists on.
void FixedUpdate()
{
RigidBody3D rigidbody = GetComponent<RigidBody3D>();
// your other code
rigidbody.AddForce(new Vector3(0,0,0)); // set your values here, or provide another vector3 types from another object.
}
The variable(what ever you use) that you're using must be a RigidBody3D/2D type and have a reference to a RigidBody.
Answer by TBone71 · Jun 01, 2015 at 12:43 PM
I just made the problem disappear by writing the code attached, i.e. the errormessage disappeared.
Your answer
Follow this Question
Related Questions
Errors when following the Rolling Ball script tutorial. 2 Answers
Tutorial button doesn't work 0 Answers
Bouncing ball tutorial - Ball goes through the floor. 2 Answers
xpecting (, found 'OnGUI' 2 Answers
Turials that work with Unity 3.4 0 Answers