Code Monkey home page Code Monkey logo

feature-vault's Introduction

Feature-vault

This a Unity package with features, extenstions and tools. Ideal for integration into any Unity project. This is free of use, you can even modify it within your own project.

What's in it?

See all currently added features, extenstions and tools on the wiki home page. You want to see the planned features, extenstions and tools? You can see that here on the issues page, if you want you can add any suggestion that can be added. The current milestons can be found on this page.

How to use it?

Go to the newest release or click here and download the Unity package. Then open your Unity project and add the custom package to your project. Use all the features, extenstions and tools :D

Note there is a MIT License, so when using Feature-vault you need to let people know that you have used it.

Can I contribute?

Yes, you can contribute. There are 2 ways, add a suggestion, bug report or ask a question on this page. Or frok this repository make some changes and make a pull request.

feature-vault's People

Contributors

bas-boop avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

feature-vault's Issues

Shooting system 2D and 3D

Is your feature request related to a problem? Please describe.
I want a package to use for a shoot mechanic so that i can implement it to my project if needed. I prefer if it supports 2D and 3D projects. this speeds up the process of setting it up.

Describe the solution you'd like
A 2D and 3D version of the following mechanics with adjustable settings:

  • use/shoot
  • aim
  • alternate fire
  • reload

Describe alternatives you've considered
it might be more practical if there are options to turn the features on or off. Think for example if there is no reload or alternate fire in the game. It will also be handy to keep in mind the different types of ways the player can aim. for example in first person or third person.
it might also be convenient to use the newer input system so that you can use a input map for the controls.

Additional context
separating the 2 and 3D versions and the scripts can help for keeping it organized.

Object pooling

Is your feature request related to a problem?
I would love to see object pooling so it wil be easier to make large waves of enemies or alot of bullets.

Describe the solution you'd like
A component that you can use to change a specified number of disabled gamobjects to a given gameobject when an event is called instead of instantiating new ones.

Unexpected usage of vector extensions.

Describe the bug
When using the vector extensions I expected to use the functions form the static class to change the vector that I'm calling it from.

To Reproduce
Make a Vector2 or Vector3:

Vector3 testVector = new();

Call a change function. This will result in a vector that has the value (0, 0, 0)

testVector.ChangeX(2);

Work around:

testVector = testVector.ChangeX(2);

Expected behavior
Is that I just call the function and it's already changed. This does apply to all other functions that suggest it changes the vector calling from it.

Vector3 testVector = new();
testVector.ChangeX(2); // returns (2, 0, 0)

Screenshots
image
image

What feature has a bug?

  • Version (0.0.0)
  • Scripts that produce the bug:
    • VectorExtentions.cs

Parralex effect system

Is your feature request related to a problem?
Never quit understand how to make it. So if it's in the Feature-vault that would be great.

Describe the solution you'd like
A script that can have a list of game objects or Unity layer that can scroll. With a follow point, for example the player. Perhaps each layer has it's own scrolling speed or all have the same. This is mostly for 2D and maybe 2.5D games. Not very useful for a 3D game.

Additional context
This is something I intended to make with my project Platypus. This was (and still is) perfect for the trees in the background.

Player movement 2D

Is your feature request related to a problem? Please describe.
Most games have a player that needs to move. When making this for 2D games I just copy paste my latesed player movement from a diffrent project. Would love to see a script in this package that tackles this problem.

Describe the solution you'd like
2 types of scripts. That have alot of diffrent options for movement and settings.

"Top-down"
A script that can be added to the player that handels top-down player movement. Refrence: rogue-like

"Side-view"
A script that can be added to the player that handels side-view player movement. Refrence: platformers

Describe alternatives you've considered
1 script that can do both that are mentioned above.

Transform and Rigidbody(2D) vector extensions

Is your feature request related to a problem?
The vector extensions do not work on something like transform.position or rigidbody.velocity. Because they are a temporary value.

Describe the solution you'd like
New functions that can be called from the transform rigidbody(2D) that do all the stuff you want with the vector extensions.

Additional context
Something like this rigidbody.ChangeVelocityX(speed);, source: https://github.com/bas-boop/Smoll_Knight_plus_Horse/blob/Develop/Assets/Scripts/Framework/Extentions/Rigidbody2DExtensions.cs

LateAwake method

Is your feature request related to a problem?
When coding, sometimes the order when the Awake method are called is not how it needs to be. So something like LateAwake would be great, just like the LateUpdate method.

Describe the solution you'd like
Any way to have a LateAwake method in code that can be called. This should be called after all other Awake merhods are called.

Easy to use statemachine

Is your feature request related to a problem?
Statemachines are in high priority when building a medium or larg sized game. Remaking it for every game is not time efficient.

Describe the solution you'd like
I would like to see a statemachine that is:

  • abstaract
  • easy to use
  • gives error's when something goes wrong

Additional context
What would be nice is a state queue. This can be nice for a player statemachine when pressing alot of buttons.

Vector extentions

Is your feature request related to a problem? Please describe.
There are many things that are annoying to make when using vectors, because they are a struct.

Describe the solution you'd like
A static class that handels a lot of these kind of functions.

  • Set the x, y, z.
  • Invert vector or x, y, z.
  • Allow '+' '-' '*' '/' with each dimension.

Universal groundchecker

Is your feature request related to a problem?
I would like to see a ground checker feature. This is something I allways need to make in games, I don't want to do that anymore.

Describe the solution you'd like
A script that can be added to a game object. In the inspector I would have some settings: legnth, what layer is ground, line or spehere checker. Can be used for 2D or 3D.

Additional context
If possible, make some gizmos to show the groundchecker for the developer.

Vector Range

Is your feature request related to a problem?
this is not related to a problem but a idea that might make it easier for the users to edit values.

Describe the solution you'd like
for some vectors there might be a maximum or minimal value that you would want to use. i would like to see a option that helps with editing vector 2/3 values using a slider in the editor.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.