Unity Standard Asset: From Using 3rd person prefab and change it to be like the 1st person prefab

Sorry for the super long title and I know that you’re wondering why would I want to change the 3rd person prefab from the Unity Standard Assets to be more like the First person prefab.

Desired outcome:
To be able to make the 3rd person prefab and change it to be like the first person prefab.

(Difference between the two, there’s a mouse look script that allows the first person prefab to look a certain direction and it can move in any direction without turning; Third person prefab you can only make the camera rotate according to the direction Ethan is facing)

Reason:
-There’s very limited tutorials for mobile development, such as fps shooters, advance movement, manual pick up, etc.
(And they use the third person prefab)
-There’s a rigged and animated body (Ethan) you can swap out with your own asset
-While I have very little experience with coding and development, making my game towards mobile makes it even harder (So if I were to start from scratch I have no idea what direction to head in)

What I’ve Tried so far:
-Countless hours of searching how to make an first person shooter game or in relation (That I’m heading towards to)
-Playing around with the Standard Assets (Such as swapping scripts around like instead of using the third person script I would swap it with the first person script, or including mouse script, etc.)
Results of switching: Very weird effects actually, when moving the body to the left, right, backwards Ethan barely moves, animation is pretty awkward

My conclusion I came to:
If I were to change it, it has to be something dealing with script. (Knowing that I very little knowledge I came to this conclusion)
But my issue is where do I even begin? Or should I start completely from scratch and if so how do I even do that?
Thanks beforehand you answer.

I know this is not what you want to hear, but maybe you should start learning how to code. Let me finish. If you want to complete a full game with very limited (which i assume means basically zero) coding experience, then you’ll have to use assets and copy code for everything you do. Not only will this result in a very generic game, but you will also be stuck on a lot of problems. If you spent this time on learning how to code a bit, you would probably be able to overcome most of them, thus end up roughly with the same completion time and learn a new skill at the same time which will save you time in the future.
Why am i saying this? Because… first of all, there is not really a difference between mobile and desktop games. You put a couple different checkboxes to build to a different platform, target a system with lower specs, and use different inputs. That’s about it. So you do in fact not need hand tailored tutorials for ‘picking up items in a mobile game’. If you find a tutorial that picks up items with the mouse, then all you need to do is port the code to use Touches instead. Not being able to do this, again, leads to major slowdown i explained above.

If you want a good starting point for learning Unity + C# game development which really starts at 0, here you go:

https://www.youtube.com/watch?v=_cCGBMmMOFw

It may involve a couple of hours to get a basic grasp, and a couple of days to develop some confidence, and obviously learning doesnt stop there. It basically never stops. However, i dont think it will be as hard as you may imagine. Programming is basically just about giving a computer instructions. But computers cannot think for themselves, so the instructions need to be absolutely impossible to misunderstand. The only way to do this is to write them ‘formally’, following a specific way of writing things down and working with available data.

After you went through the above tutorial until… let’s say at least episode 8, since it handles movement, you should also be able to understand tutorials directed more specifically at what you are trying to do. The same guy actually made a tutorial series on character creation, which goes over everything from modelling over animating, to coding the movement and making it work with the camera as well. So this would probably be a good starting point for learning how to get to where you want (after learning the basics):

https://www.youtube.com/watch?v=ocLZNRasU64

The scripting part begins at episode 7.
So if you want to skip the whole modelling and animating part outside of Unity, start there.

I hope this helps :slight_smile:

Thanks for the advice I will take it, but I have a question.

You said that :

Where is a good starting point to learn about touch input then and high end (just for future references)? Of course this will happen after I’ve gone through the tutorial you suggested.

Touch is quite similar to mouse inputs. If i remember correctly (!) the new input system they are working on doesnt even differentiate between the two and instead cagtegorizes both as ‘Pointers’. Just shows that it’s mostly the same thing, and if you think about it, the interaction of a single finger and a mouse is pretty similar. For now the major difference is that, since there can be more than one touch, it’s an array (basically a list) of inputs, instead of just one for the mouse.

To learn about new topics i’d first look up the documentation and maybe a tutorial to skip through, just to see some examples. For Touches the documentation would be: https://docs.unity3d.com/ScriptReference/Input.GetTouch.html
On that note, being able to read and understand documentation is also a very much useful (or rather required) skill. Some of it, of course, comes from understanding code itself. But after you build some confidence i would really spend a moment to figure out how to efficiently get the information you need from the documentation. Just like being able to code itself, getting information and being able to quickly utilize it, is really gonna save you time.

When you say ‘high end’ i assume you are talking about non mobile games with better graphics, targeting ‘high end’ systems? If so… not really sure what to say about it. You simply have more ressources (stronger hardware) you can use, and as such you can process more things in the same time, ie write more complex and more realistic looking games. To really know what you can and can not do on specific hardware you’ll need some experience and / or a bit of understanding about topics like runtime complexity. Both of which require time, so i would take one step after another. For now imagine it like that: when you develop a mobile game and target 30-60 FPS, the same game would run with hundreds of FPS on a high end compuer. The extra time you have per frame could instead be used to render more complex models or process more data, which you can use to make a game look ‘better’.