[RELEASED] Platformer Project (3D platformer template)

The Platformer Project is a template for 3D platform games.

The main focus of this asset is to provide core mechanics like jumping, wall jumping, wall sliding, climbing, gliding, back flipping, air dashing, swimming, and many others. The Player can also collect items, handle moving platformers, and respawn from checkpoints. You can move the character using the keyboard, a gamepad, or a virtual gamepad for mobile support.

From version 1.8.0, the asset now features Gravity Fields! With this update, the Player can walk on planets of multiple shapes, like spheres, boxes, cylinders, capsules, splines, etc. To achieve this, a custom kinematic Character Controller now powers the Player and other Entities, so they no longer rely on Unity’s default Character Controller limitations.

The asset is available on Unity’s Asset Store: Platformer Project | Systems | Unity Asset Store.

If you can’t buy it right now, click on the heart icon on the Asset Store page, and you’ll be notified when it gets a discount.

3 Likes

Hi, this looks really cool! Is this Character Controller? Rigidbody?

Hello! Sorry for taking so long to answer, I haven’t been following this thread. It’s using Unity’s Character Controller.

EDIT: From version 1.8.0, it now features a custom Character Controller solution.

1 Like

Bought it over the Xmas/NewYear break. Totally worth it and it’s very new-user & student friendly!
Please keep updating and adding features and I’ll keep recommending to newer Unity users and students (hopefully you can get a lot more mileage out of this $$-wise through repeat sales, and we can get more mileage feature-wise as it grows and expands).
Love the fact that you have immediate interaction with the system and effectively have a game running in a few minutes (similar to Unity’s MicroGames but much more in depth). You get dropped in the middle of a functioning and fun sandbox, and can make a game out of it in literally no time flat. It grabs even a new user’s attention at t=0, holds it for hours, and makes them come back repeatedly for days or weeks.
I’m a huge proponent of CorgiEngine, TopDown Engine, Highroad (most everything by MoreMountains really), PlayMaker, Flare Engine, and a few other frameworks, but your Platformer Project is soooo good and makes it so immediately reachable and usable by literally just about anyone. I love it as a teaching tool and for prototyping!
I really hope it will become one of my long-term “go to” frameworks like the others above have become.

3 Likes

@Darknight747 Thanks for the support! I’ll do my best to keep improving it. :wink:

can you make a vid on how to set up for mobile?

Hey, I answered you on Discord. But in case anyone else has this question, there’s no additional setup for mobile. All you need to do is change the build target platform; it should work just fine. Of course, you may need to turn off some post-processing effects to gain performance. Still, there’s nothing fancy. Create another post-processing profile with lower-quality effects (or disable it altogether). In any case, it’s up to you. The code itself doesn’t need any changes.

I bought the kit how I can add more levels to the Game?

Thanks for the support! The documentation has all details about creating new levels and other stuff. I can provide better support through email or the Discord server. You can find all the support links in the “Getting Help” section from the docs Quick Start menu.

I figure out already thanks but I have question, I put a new Enemy model with my own AI I put the health script,
on him but the attack of the player are not working, that I miss something when I add the health script to my Enemy?

If you’re using a custom enemy AI, you’ll need to integrate it with the damage system. Damage currently works by identifying the entity you want to damage through the Hitbox component (which is basically an ‘on trigger’ event) and sending the damaging information to it so it can react appropriately. After that, this entity notifies the health component to decrease or not the health points. To make the Player attacks interact with your custom enemies, you must tell the Hitbox component to do so, by reading your enemy through the collision event and invoking a ‘damage’ event, either by an interface through your custom component or by directly changing the Health component ‘Damage’ method.

I try this way but is not working

The hitbox is already on the Player. You must change the code from the Entity Hitbox “HandleColision” method to damage your custom enemy. Your setup doesn’t work because these components were not designed to work like this.

Hi, is the package support URP?
As I import the package to URP project, and all the materials in the test level scene turn pink. Thanks.

Hello, It does support URP. Please, follow the instructions from the documentation to migrate the custom shaders from the built-in pipeline to URP or HDRP.

ok I am back with a question how I can create like bullet object using on the game to add damage to the enemy for a long distance attack?

A solution for this has been posted in our community on Discord. Consider joining it to get access to the tutorial. Also, I’m now requiring an Invoice Number validation to provide customer support, so you’ll need to ask for help through e-mail or the Discord server.

will it work with Playmaker?

Some people from the Discord server do use it with Playmaker. It’s possible to use both to some extent. Of course, this is not built with Playmaker, so even though you can combine both, changing the asset will require C# knowledge.

1 Like

A Mario 64 slide mechanic addition would be amazing! Like the princess secret slide and the one in cool cool mountain.

2 Likes