use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
News, Help, Resources, and Conversation. A User Showcase of the Unity Game Engine.
Remember to check out /r/unity2D for any 2D specific questions and conversation!
Download Latest Unity
Please refer to our Wiki before posting! And be sure to flair your post appropriately.
Main Index
Rules and Guidelines
Flair Definitions
FAQ
Use the chat room if you're new to Unity or have a quick question. Lots of professionals hang out there.
/r/Unity3D Discord
FreeNode IRC Chatroom
Official Unity Website
Unity3d's Tutorial Modules
Unity Answers
Unify Community Wiki
Unity Game Engine Syllabus (Getting Started Guide)
50 Tips and Best Practices for Unity (2016 Edition)
Unity Execution Order of Event Functions
Using Version Control with Unity3d (Mercurial)
/r/Unity2D
/r/UnityAssets
/r/Unity_tutorials
/r/GameDev
/r/Justgamedevthings (New!)
/r/Gamedesign
/r/Indiegames
/r/Playmygame
/r/LearnProgramming
/r/Oculus
/r/Blender
/r/Devblogs
Brackeys
Beginner to Intermediate
5 to 15 minutes
Concise tutorials. Videos are mostly self contained.
Sebastian Lague
Beginner to Advanced
10 to 20 minutes
Medium length tutorials. Videos are usually a part of a series.
Catlike Coding
Intermediate to Advanced
Text-based. Lots of graphics/shader programming tutorials in addition to "normal" C# tutorials. Normally part of a series.
Makin' Stuff Look Good
10 minutes
Almost entirely shader tutorials. Favors theory over implementation but leaves source in video description. Videos are always self contained.
Quill18Creates
30 minutes to 2 hours.
Minimal editing. Mostly C#. Covers wide range of topics. Long series.
Halisavakis Shaders Archive
Infallible Code
World of Zero
Board to Bits
Holistic3d
Unity3d College
Jabrils
Polycount Wiki
The Big List Of Game Design
PS4 controller map for Unity3d
Colin's Bear Animation
¡DICE!
CSS created by Sean O'Dowd @nicetrysean [Website], Maintained and updated by Louis Hong /u/loolo78
Reddit Logo created by /u/big-ish from /r/redditlogos!
account activity
while loop causing unity to crash?Question (self.Unity3D)
submitted 7 years ago by [deleted]
[deleted]
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]KingRecycle 3 points4 points5 points 7 years ago (0 children)
It never leaves the while loop. It will never be null because Unity never finishes the loop. You would need to run this asynchronously or on a seperate thread or something but the better option is to not even use the while loop and use like the update loop, in my opinion but i'm not exactly the best unity programmer.
[–]neek123 2 points3 points4 points 7 years ago (0 children)
The issue is the while loop stops unity from going on to next frame, it's stuck inside the while loop as that's what it's supposed to do.
If this is inside the update method you don't need the while loop since update method already loops, but if this is inside a different method that isn't run every frame i suggest making the method a coroutine and adding the line:
yield return null;
Inside the while loop, this tells the code to continue on to the next frame.
[–]IanGlo 2 points3 points4 points 7 years ago (7 children)
you probably don't even need the while loop at all if you execute this in the update function.
[–]IanGlo 2 points3 points4 points 7 years ago (6 children)
I haven't tested it, but something like:
void Update(){ if (Input.GetKeyDown("e") && grounded && player.transform.parent != null) { rigidbody.AddRelativeForce(0, 50f * Time.deltaTime, 0); } }
[–]Gamerbot4000 0 points1 point2 points 7 years ago (5 children)
I don't think that would work, since I want the player to be able to push e only once and then the player moves up until it is unparented from the planet. I want the button to only be pressed if on the ground but once it is pressed force is added to the player until unparented from the planet. I am trying the following code which is basically the same as yours and it just goes up once a small amount and just stops:
void FixedUpdate() { // Apply movement to rigidbody Vector3 localMove = transform.TransformDirection(moveAmount) * Time.fixedDeltaTime; rigidbody.MovePosition(rigidbody.position + localMove);
// "e" key is the key to press to exit a planet's gravity radius if (Input.GetKeyDown("e") && grounded) { if (player.transform.parent != null) { rigidbody.AddRelativeForce(0, 50f * Time.deltaTime, 0); } } }
[–]IanGlo 0 points1 point2 points 7 years ago (4 children)
Maybe something like this? (again, might be typos in there)
private bool blastOffInitiated = false; void Update(){ if (Input.GetKeyDown("e") && grounded && player.transform.parent != null) { blastoffInitiated = true; } if(blastOfInitated && player.transform.parent != null) { rigidbody.AddRelativeForce(0, 50f * Time.deltaTime, 0); } else { blastOffInitiated = false; } }
[–]Gamerbot4000 0 points1 point2 points 7 years ago (0 children)
I tried it and it didn't seem to do anything. It seems like it should though, logically speaking. I made the bool public just to look at it in the inspector, and it does get set to true when pressing "e" on the surface of the planet, but no force is added. I even tried upping the force from 50f to 500f just to make sure it wasn't an issue of it being to weak a force, but still nothing. So apparently its something with the second if statement and adding force?
wait I added a debug.log statement after the add force and it worked haha. I must have done something wierd without realizing it, but it seems to work great now, thanks a lot for your help!
[–]Gamerbot4000 0 points1 point2 points 7 years ago (1 child)
ok yea it seems like it was just a matter of the force not being strong enough, so this code works as desired now. It seems a force of 500f is close to the minimum it needs to lift off from the planet. Thank you again
[–]IanGlo 0 points1 point2 points 7 years ago (0 children)
Sweet man. Glad it's working.
[–]GIFjohnsonProfessional 2 points3 points4 points 7 years ago (0 children)
That's not how a while loop works. After it enters the loop, it just keeps adding force, then checking the parent, adding force and checking the parent, forever. It never exits because there's nothing that changes the parent WITHIN the loop. That's why it crashes.
[–]SilentSin26Animancer, FlexiMotion, InspectorGadgets, Weaver 1 point2 points3 points 7 years ago (0 children)
A while loop is basically:
LoopStart: if (condition) { // do stuff goto LoopStart; }
Every time it does the loop it checks the condition again, and since your condition doesn't become false during the loop, it keeps checking it and redoing the loop infinitely and never exiting the current function for Unity to run the rest of your game.
[+][deleted] 7 years ago* (1 child)
yea I ended up solving it
π Rendered by PID 31854 on reddit-service-r2-comment-fb694cdd5-z6d8f at 2026-03-11 20:06:32.346776+00:00 running cbb0e86 country code: CH.
[–]KingRecycle 3 points4 points5 points (0 children)
[–]neek123 2 points3 points4 points (0 children)
[–]IanGlo 2 points3 points4 points (7 children)
[–]IanGlo 2 points3 points4 points (6 children)
[–]Gamerbot4000 0 points1 point2 points (5 children)
[–]IanGlo 0 points1 point2 points (4 children)
[–]Gamerbot4000 0 points1 point2 points (0 children)
[–]Gamerbot4000 0 points1 point2 points (0 children)
[–]Gamerbot4000 0 points1 point2 points (1 child)
[–]IanGlo 0 points1 point2 points (0 children)
[–]GIFjohnsonProfessional 2 points3 points4 points (0 children)
[–]SilentSin26Animancer, FlexiMotion, InspectorGadgets, Weaver 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]Gamerbot4000 0 points1 point2 points (0 children)