*Hey everyone!* 👏 👏 I'm happy to announce our community *Discord server* , come and *join us* : discord.gg/dac7sr2 And also, you can get all the *Sprites* and *Project Files* by supporting me on *Patreon* : www.patreon.com/CouchFerret
@bazookagoboom24923 жыл бұрын
Really well made videos. Short, easy to follow, and yet explains the concepts in enough detail to fully understand. A shame to see such a good channel dead.
@clowd13923 жыл бұрын
for anyone who wants to do it in the mouse pos using System.Collections; using System.Collections.Generic; using UnityEngine; public class Movement : MonoBehaviour { public Animator animator; public float speed; public float Bulletspeed; public GameObject Bullet; public Rigidbody2D rb; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { Vector3 movement = new Vector3(Input.GetAxis("Horizontal"),Input.GetAxis("Vertical"), 0.0f); AimAndShoot(); animator.SetFloat("Horizontal",movement.x); animator.SetFloat("Vertical", movement.y); animator.SetFloat("Magnitude", movement.magnitude); transform.position = transform.position + movement *speed * Time.deltaTime; } void AimAndShoot() { Vector2 mouseCursorePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); Vector2 lookDir = mouseCursorePos - rb.position; lookDir.Normalize(); if (Input.GetMouseButtonDown(0)) { GameObject bulletShooting = Instantiate(Bullet, transform.position, Quaternion.identity); bulletShooting.GetComponent().velocity = lookDir * Bulletspeed; } } }
@siko4902 жыл бұрын
omg really helpful
@abdulkadirdursn3 жыл бұрын
You are great at teaching and this is great video. Easy to understand. I hope you come back and upload more video in the future.
@robertomartinez9073 жыл бұрын
You are awesome man! everything you teach on all your videos, has helped me a lot to build an rpg mobile game! Keep making awesome content!
@kaliudeodato10774 жыл бұрын
Im really glad to find your channel, its helping me a lot. Your videos are awesome!!!
@heroyukimura5 жыл бұрын
I love your videos man! Can you also make a tutorial about melee action?Maybe sword attacks and dodge animations?
@CouchFerretmakesGames5 жыл бұрын
I plan to do these in the future. :) Stay tuned!
@heroyukimura5 жыл бұрын
@@CouchFerretmakesGames Thanks a lot dude!Keep up the good work.
@ayegeeachtee27896 жыл бұрын
you deserve a LIKE MY GUY
@CouchFerretmakesGames6 жыл бұрын
Thanks!!! :)
@milanlr95185 жыл бұрын
I really like your video's! They are great help for me. I have one question: how do you get the predictions for the unity code in VS code 2018? i got them in the 2017 version and I think I have to have an extension installed but I dont know wich one. Can you please help me with this? Keep up the good work!
@CouchFerretmakesGames5 жыл бұрын
Hey, thanks! Hmm, it was a long time ago, but I used this to set it up: code.visualstudio.com/docs/other/unity But sometimes it won't recognize correctly the packages, so I have to restart VSCode, so it's not perfect. Let me know if you could get it right. :)
@CanadaGradeEh6 жыл бұрын
Hello, Mr. Ferret. I've got a quick tip: have your code for each episode available in a pastebin link or something similar so we can easily reference it. I'm not using your asset, and I'm also focusing on using mouse inputs without the controller, so I have to think critically about certain changes and skip back and forth between parts of a video a lot. It's a hassle and can also be fairly confusing skipping around videos, or worse, checking other videos when certain parts of the code aren't visible in a given episode. Otherwise, pretty strong first tutorial series! Thanks for all the guidance.
@CouchFerretmakesGames6 жыл бұрын
Hey Cedstick! Thanks for the tips! You are right this issue is a hassle. I'm thinking about a workflow to have the whole project available on Github, nicely tagged after every video, so you can easily find a given episode's code. I'm still facing a few issues/questions about it like how to handle paid assets in it that I surely can't redistribute. So I ask for a bit of patience, I'm working on it to resolve this and make the tutorials as helpful as I can. Until then, I'm happy to send you versions of the code in email. You can find my address on the channel's About page. Thanks for watching! :) Cheers!
@hamzayousuf18596 жыл бұрын
This is really useful, you just made my life easier
@kiwioverlord95196 жыл бұрын
So I have an enemy AI character who shoots arrows at my player, but I don't want the enemy to fire at my player if there is a wall between the player and the enemy. How do I test if there is a wall between the player and the enemy? I'm trying a method where the enemies fire invisible "tester" bullets at very high velocity rapidly at my player. The bullets get destroyed if they hit a wall, or if they hit the player, they tell the enemy that there is no wall between the two and it starts shooting arrow. But there are two problems with this: first, it's a lot of work making a new bullet prefab for every single enemy (which there are a lot). Second, if the wall's collider isn't wide enough, the tester bullets go through the wall even though I set collision detection to continuous. I was hoping that there was some other method to test for objects between the player and the enemy? Maybe you could like draw a line between them and test if the line is broken? Thanks in advance!
@CouchFerretmakesGames6 жыл бұрын
Hah, you are clever my friend! :) You were very close. there's a thing called ray casting which does just like you have described in your line drawing example and acts like the invisible bullet. Search for "Unity ray casting" or something like that on Google or on KZbin and you will figure it out easily I'm sure. Sadly I don't have a tutorial on it yet, but I will for sure. It basically shoots a ray (like a line but in 3d) and gives you back the colliders it went through. There are a lot of variations about it in Unity, for example one will give you back the first collider it hit, another will give you back all of them I think, and there's one which can have size to (Circle raycast or something), so it can act as a bullet with size. Let me know if you couldn't figure it out.
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Thanks, the compliment means a lot to me coming from you :) And this is exactly what I was looking for, something far more seamless than my current makeshift method!
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames hi couchferret, I asked a question about scene resetting above. I think you didn't see it, so just notifying you again.
@CouchFerretmakesGames6 жыл бұрын
@@kiwioverlord9519 I'm on it!
@durrium2 жыл бұрын
Where does the player.GetAxis("AimHorizontal") come from? That is not a mouse position input now is it?
@LeHalazoone4 жыл бұрын
I don't understand something: is all the code done for a joystick? I do not want to use that. I want to use space key. How should i code that instead?
@kiwioverlord95196 жыл бұрын
Hi CouchFerret, I'm making another small game and I have a question. I want my player to have a rapid fire gun that shoots with some inaccuracy like a machine gun by using Random.Range and giving the bullets some spread. The code for a normal gun that shoots straight looks like this so far: public GameObject Bullet; public Transform FirePoint; GameObject bullet = Instantiate(Bullet, FirePoint.position, FirePoint.rotation); bullet.GetComponent().velocity = transform.up * bspd; Destroy(bullet, 1.0f); How do I make the gun shoot with inaccuracy? Thanks in advance!
@CouchFerretmakesGames6 жыл бұрын
I wrote an Update() function for you with comments. Let me know if something is not clear! void Update () { // 0f precision is the 100% accurate shooting // it defines how big should be the change in case if // the shooting is imprecise float precision = 0.3f; // Bullet speed for the velocity (not important in this case) float bspd = 2f; // Just a random vector. The insideUnitCircle gives a random direction // from the origin Vector2 randomVector = Random.insideUnitCircle; // If you normalize the randomVector then it's statistically more likely // to miss a lot than to be precise. I would recommend not to. // randomVector.Normalize(); // We only need this because transform.up is Vector3 Vector2 upVector = new Vector2(transform.up.x, transform.up.y); // We are adding the random vector which will slightly change // the original shooting direction. But first precision // modifies the overall volume of the change Vector2 aimVector = (upVector + randomVector * precision); // We need to normalize it, otherwise the bullets will // have different speeds. Some of them slower, some faster aimVector.Normalize(); // And just to boost their speed Vector2 velocity = aimVector * bspd; // This will visualize lines in the Scene window, // it helps you to see how imprecise the final result Debug.DrawLine(new Vector3(0,0,0), new Vector3(velocity.x,velocity.y,0)); }
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Hm so how do I apply the aimVector value to the instantiate function? GameObject bullet = Instantiate(Bullet, FirePoint.position, FirePoint.rotation);
@CouchFerretmakesGames6 жыл бұрын
@@kiwioverlord9519 You don't. You apply the aimVector to the bullet's velocity. :) Instead of having a perfect up direction, you have to make it a bit imprecise. The example I gave is making the bullet's velocity a bit imprecise so it will act like a minigun shooting bullets.
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Sorry I'm so new, but how do I apply the aimVector to the bullet's velocity?
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Hello CouchFerret, if you have a second, could I get a reply on my previous comment please?
@kiwioverlord95196 жыл бұрын
How do I make one GameObject look at another GameObject? It seems like you're supposed to use the LookAt function but all the sources I can find are outdated and don't work.
@CouchFerretmakesGames6 жыл бұрын
If you replace the shootingDirection.y and .x in the line where I rotate the arrow. (The line with the Atan2) then it would act as a LookAt thing. I've tried to use the builtin LookAt function (someone mentioned it in the comments, and it was a good idea). However, it is meant to be a 3D thing, and it just rotated my arrows in a way that they became invisible from the game's point of view. In the end, I managed to get it to work, but it was waaaay more complicated than this. It would be nice to have a LookAt for 2D as well. It should work in 3D though. It just rotates the gameobject's transform so its forward vector points at the target's current position.
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames So do I type 'public transform Target' and then replace shootingDirection.y and .x with 'Target.y' and 'Target.x'?
@CouchFerretmakesGames6 жыл бұрын
@@kiwioverlord9519 Yep, it should work. But I didn't try it. However, if you want the gameobject continuously look at the other gameobject then you should put the code into the Update function so it will change the gameobject's rotation in every frame.
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Ok so when I type this in: public Transform Target; private void Update() { } void FixedUpdate() { transform.Rotate(0.0f, 0.0f, Mathf.Atan2(Target.y, Target.x)*Mathf.Rad2Deg); } I get errors for "y" and "x" in "Target.y" and "Target.x". So then I tried something like this, but then there were errors for the "y" and "x" in "Target" on the 'Vector 2' line: public Transform Target; private void Update() { } void FixedUpdate() { Vector2 aim = new Vector2(Target.x,Target.y); transform.Rotate(0.0f, 0.0f, Mathf.Atan2(aim.y, aim.x)*Mathf.Rad2Deg); } How do I fix this?
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Oh wait, never mind, I figured it out! But I still have one more problem: I want a prefab (a homing missile) to track another object (the enemy player). But I can't drag the Player2 GameObject from the hierarchy into the missile prefab's transform slot. How do I get around this?
@RetrogamingCostello133424 жыл бұрын
I run into an issue and I hope you're still active to maybe give me advice. Instead of using the mouse to aim I just want to go off a player's facing direction. I've found a few ways to do it but I run into a few problems, such as the projectile changes direction if I move the player, and sometimes the projectile moves at a weird angle instead of a straight line. Do you have a tutorial or suggestion on how I can fire a projectile based off player's facing direction?
@kiwioverlord95196 жыл бұрын
Wow, networking with Photon is sooo complicated! I spent a few hours today trying to follow tutorials but I don't have much to show for it :( Could you recommend me some tutorials or tell me where to start? Thanks in advance.
@CouchFerretmakesGames6 жыл бұрын
Network programming is complex in general. And Photon is one of the easiest ways to achieve that, the other ways are more complex. :/ I would try to find some example projects and figure out how it works from the documentation. But it's hard I know. Keep up, or do local multiplayer like shared keyboard or controllers! :)
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Oh I did make a simple local multiplayer and I played it with my friends at school a bit, they thought it was fun :) But I feel like local multiplayer is very limited because of cramped keyboards, 2 players maximum, etc. But thanks for the reply! Also, do you know how to use Photon? And if so, how did you learn?
@CouchFerretmakesGames6 жыл бұрын
@@kiwioverlord9519 Yep, local multiplayer is limited, but online multiplayer is way more complex. That's why I don't plan to have an online multiplayer in this game, it's just not really worth the extra work hours. I could create half of another game instead. I've never used Photon, I've just read their stuff multiple times over the years and seems neat to me. Probably I could figure out their stuff in a few hours, but I have a solid Software Engineer background, so that's cheating :D. And I did similar things back in the early 2000s but in Flash games. Maybe in the future, I will do a free game like agar.io with Photon, but that is far future. I have to publish this one first, to have time to work on other things. :)
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Okay that sounds awesome! Do you know about how far in the future your Photon game might be?
@CouchFerretmakesGames6 жыл бұрын
@@kiwioverlord9519 No idea, no plans yet.
@kiwioverlord95196 жыл бұрын
Is there a way to prevent a scene from resetting itself every time you switch between scenes? Right now, I have a Map Scene which allows players to travel to various locations. If the player travels to a location, the game switches from the Map Scene to a Room Scene where the player fights monsters. When the player kills the monsters, a portal opens up which switches from the Room Scene back to the Map Scene so the player can travel to the next location and play the next room. However, every time the player clears a room and goes through the portal to return to the Map Scene, the character on the map starts off at the spawn location, not the location where they last left off. I did some poking around, but I'm pretty confused. It seems like it has something to do with the DontDestroyOnLoad function?
@kiwioverlord95196 жыл бұрын
Oh also, this kinda of leads into another question I had. I know there are ways to save player progress in Unity, but does saving player progress also work for WebGL games?
@CouchFerretmakesGames6 жыл бұрын
It sounds like your game is progressing well. :) So when you are loading a new Scene in the game, Unity deletes all existing objects and then loads the new objects from the new scene. Except the objects marked with DontDestroyOnLoad. If you mark everything with DontDestroyOnLoad then you will end up with a lot of duplicated objects in the game, so that sadly isn't a solution. You have to somehow store the current progression in the game that the player had, and read from it when setting up the new scene based on that. It could be like bool variables representing for example that the player has already killed X boss, or an integer representing the current level. And you could store these values in a script and on a gameobject marked with DontDestroyOnLoad, so you can always read from it and it won't lose the values, only when you exit the game. If you want to save the between play sessions then search for PlayerPrefs. I'm in a hurry now, and had answer it quickly, let me know if something isn't clear, and I'll be answering it in the evening for sure. Cheers!
@CouchFerretmakesGames6 жыл бұрын
@@kiwioverlord9519 On WebGL, PlayerPrefs are stored using the browser's IndexedDB API. So you can save data in WebGL games and the players' browser will store it for you. :)
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Oh that is very interesting! I'm thinking that for my Map Scene, what I could do is store that x coordinate of the character in one float and the y coordinate in another float, and then when the scene loads, set the characters location to the x and y float. Is that how it's supposed to work? or is there another way? And no rush of course!
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Awesome, thanks!
@neilorfonseca68495 жыл бұрын
Hi, Im new in this. I would like to know how can i do the same think but this time for the enemy to shoot like the player in this video.
@zacharyfeiner485 жыл бұрын
Is there a way to use this code without using the public Player player
@kiwioverlord95196 жыл бұрын
Im trying to have my player face the mouse position. Im trying to use the code I used before, which makes one GameObject look at another. It looks like this: public GameObject target; Vector2 direction = target.position - transform.position; float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg; Quaternion rotation = Quaternion.AngleAxis(angle, Vector3.forward); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, 100 * Time.deltaTime); Then I tried to modify to make it look at the mouse by replacing "target.position" with "Input.mousePosition", but this rotates the player based on the mouse's position relative to the bottom left corner of the Game page. I searched for other ways to make players face mouse positions, but they all have the exact same issue. Also, if it matters, the camera is a child object of the player, so it moves and rotates with the player accordingly. How do I fix this?
@CouchFerretmakesGames6 жыл бұрын
Hey Kiwi! Yeah that won't work cause as you have said, the Input.mousePosition gives back the cursor's position on the screen and not in your game's world. So it'll always be a value between (0, 0) and (Screen.width, Screen.height). What you need is a point in your game's space so the character can look at it. I think this function will help: docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html Try it out, and let me know if it worked. :) Cheers!
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Actually, I created a new Vector2 and added Screen.width/2 to Input.Mouseposition.x and screen height to mousePosition.y and it worked out, but thanks anyway!
@CouchFerretmakesGames6 жыл бұрын
Nice solution! Probably the Camera.ScreenToWorldPoint() does the same under the hood. :P
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Hm, so using this code that I wrote with a friend of mine: Vector3 mousePos = Input.mousePosition - new Vector3(Screen.width / 2, Screen.height / 2, 0f); Vector3 direction = transform.position - mousePos; float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg; Quaternion rotation = Quaternion.AngleAxis(angle+90, Vector3.forward); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, 100 * Time.deltaTime); We were able to make the player look at the mouse position with perfect acuracy, but ONLY when it was at coords (0,0). The camera is a child object of the player and has its z rotation set to 0 every tick so it follows the player around. However, the further the player travels from (0,0), the more inaccurate the facing towards mouse becomes. The point on the screen that determines the mouse's location is centered perfectly on the player when the player is at (0,0) but the point slowly moves outside the player as the player moves away from (0,0). I looked at the documentation link you provided, but I still can't seem to make it work. Can you explain whats happening please?
@CouchFerretmakesGames6 жыл бұрын
@@kiwioverlord9519 Hey Kiwi! Sorry for the delay! So I think the mousePos is the problem. It is basically a vector pointing from the top right corner of the screen to the cursor, but it remains still in the 2D space of the screen. I think you should try the Camera.ScreenToWorldPoint() function to convert the raw mousePosition into a WorldPosition just as the transform.position is a point in the 3d world and not a point in a 2d space of the screen. I'll try to recreate that you have, and I'll get back to you if I have a solution. Cheers!
@kiwioverlord95196 жыл бұрын
CouchFerret, can Unity WebGl run online multiplayer games like agar.io? Or can it only do LAN?
@CouchFerretmakesGames6 жыл бұрын
There's no difference between LAN and online multiplayer, only just distance and firewall rules maybe. You can make a game like agar.io in WebGL, the only thing you have to watch for is that Unity WebGL only support WebSockets, but not regular Sockets. So when you are coding your server you have to keep this in mind. But I would recommend using existing services like Photon instead of writing your own server software (it's difficult), they support WebGL connections out of the box, and their free plans offer 20 players to play at the same time.
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Awesome, thanks so much, this is exactly what I was looking for! So hosting an LAN game on itch.io for example, uses almost the exact same code as hosting it online on photon, right?
@CouchFerretmakesGames6 жыл бұрын
@@kiwioverlord9519 I don't know exactly how would you host a LAN game on itch, but from the point where a computer connects to another computer the game becomes multiplayer. The only difference between LAN and "online" is the size of the network and the overall distance.
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Oh let me clarify. This is a LAN networking video I was watching: kzbin.info/www/bejne/kGiXppZjgciobpY In the video, the person set up networking components and stuff for his game objects. Is LAN networking the way the person is doing it the same as networking on Photon?
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames Also, by the way, I'm glad to see how fast your channel is growing! When I first subscribed just a few weeks ago, you had about 230 subscribers. Now you have over 400! Great job :D
@ngdcricketpractice11006 жыл бұрын
Nice
@durrium2 жыл бұрын
Where does this player.getAxis thing come from? YOu never explained that :/
@kiwioverlord95196 жыл бұрын
Is there a way to tell Unity to repeat a line of code a certain amount of times? Like for example, if you push the space bar, transform forward 5 times? For now, i use floats and count them down to make "repeating" but its a bit of a hassle.
@CouchFerretmakesGames6 жыл бұрын
You could use Coroutines like in this StackOverflow answer: answers.unity.com/questions/1396115/making-coroutine-repeat.html And modify it a bit so it will set the readyToShoot variable to true 5 times so you can act on it in the Update() function (and also reset it to false). However, I wouldn't recommend Coroutines, only if they are your last resort. They are problematic and could be difficult to debug, and also they have a lot of restrictions. Your current solution is the one I go with most of the times. But you can read more about Coroutines here: docs.unity3d.com/Manual/Coroutines.html
@kiwioverlord95196 жыл бұрын
In a 2D platformer game, how do I make an object point in the direction its moving? For example, if I shoot an arrow upwards, I want it to face upwards, but when it begins to fall down because of the gravity, I want to face down. How do I do this? Also, I'm not sure if you celebrate Christmas, but if you do, Merry Christmas! :)
@CouchFerretmakesGames6 жыл бұрын
Hey Kiwi! Yes, I celebrate it, thanks! And happy new year to you! :) You can achieve that with a little change in this episode's script. Originally the script sets the arrow's velocity and the rotation, and then the arrow goes and we never touch the arrow's properties. But in your case, you want to update the arrows rotation frequently to follow along with the physics simulation (e.g. gravity). You can do that by creating a small script for the arrows and attach it to them. In its Update() (or FixedUpdate(), probably this one is better) function it should have the line just like the line in the original PlayerController script with the Rotate() function. This one: arrow.transform.Rotate(0, 0, Mathf.Atan2(shootingDirection.y, shootingDirection.x) * Mathf.Rad2Deg); But we need to modify it a little. Because it's the arrow script, we don't need to reference explicitly the arrow, so the "arrow." can go from the left side. And the most important thing is that we change the shootingDirection.y and .x to the arrows velocity.y and .x, so it will update the rotation based on the current velocity of the arrow, which is also the direction where it is going. So something like that: transform.Rotate(0, 0, Mathf.Atan2(rb.velocity.y, rb.velocity.x) * Mathf.Rad2Deg); Don't forget to declare a public Rigidbody2D rb; on the top and fill the variable with value in the Inspector too, so we can access its Rigidbody2d component to get the current velocity. The Matf.Atan2() function is a trigonometric magic which gives back a rotation that facing the direction, I think this video is somewhat explaining it. Let me know if something isn't clear, and I hope to see you here in 2019 too. :)
@kiwioverlord95196 жыл бұрын
I have a weird problem: In the unity program, shooting works perfectly; I can fire unlimited times, but when I tried to build and run my game, i can only shoot for a few seconds before i can't shoot anymore. Even when the shooting stops working though, I can still move my character around and everything else works fine. Any idea whats happening?
@CouchFerretmakesGames6 жыл бұрын
Wow, this sounds pretty weird indeed. However, there's nothing obvious which come to my mind, but if you email me your project I would be happy to take a look at it and try to find the problem. From this far, there's just not enough information for me to figure out. :/
@kiwioverlord95196 жыл бұрын
Really? That would be awesome if you could take a look at my project real fast and point me in the right direction! Thanks so much! Is there an email I can reach you by?
@CouchFerretmakesGames6 жыл бұрын
@@kiwioverlord9519 Sure thing! :) There's an email address on my channel's About page. Let me know if you can't find it.
@kiwioverlord95196 жыл бұрын
@@CouchFerretmakesGames I shared my project with you, did you receive it?
@CouchFerretmakesGames6 жыл бұрын
@@kiwioverlord9519 Yes!
@dennisdanso41604 жыл бұрын
My arrows gets stuck when i shoot without moving the player, but when i move the player. is there anyway i can fix that? Please help. P.S. i love your videos
@konstantinkostadinov75286 жыл бұрын
Can somebody explain why you have 150? YOU ARE GOD!
@CouchFerretmakesGames6 жыл бұрын
I've started 2 months ago, so that's why I'm small, but I'm growing. Thanks for your kind comment! :)
@Nariyo-uy6cu4 жыл бұрын
Hello, Mr.CouchFerret! I have an issue :/ When dragging my 2d arrow into a prefab it apparently becomes a 3d object and it doesn't rotate as intended. I've done everything I could but to no avail. Please, help me! Here is the image imgur.com/EnOs9Ha