Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/push-pop/Unity-MVVM

Lightweight MVVM Framework for Unity3D
https://github.com/push-pop/Unity-MVVM

Last synced: 3 months ago
JSON representation

Lightweight MVVM Framework for Unity3D

Awesome Lists containing this project

README

        

# Unity-MVVM
Simple, Lightweight MVVM Framework for Unity3D

For a background on MVVM checkout the [Wikipedia page](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel)

The goal of this project is to implement some of the concepts I knew and loved from developing WPF applications, mainly that they be very quick to build, and easy to maintain. It also attempts to solve some of the Unity-specific pain points I've uncovered over the last few years working with Unity.

## Add to a project
This project is available on OpenUPM. This is the recomended way to include Unity-MVVM in your project.

[![openupm](https://img.shields.io/npm/v/com.push-pop.unitymvvm?label=openupm&registry_uri=https://package.openupm.com)](https://openupm.com/packages/com.push-pop.unitymvvm/)

This project now supports Unity's package manager! The easiest way to get Unity-MVVM + Samples and keep it up to date is to add it in the package manager window.

Click the + icon at the top left and select "Add from git url." Then copy+paste the https url from this repo and make sure to add the #upm to get the right branch: https://github.com/push-pop/Unity-MVVM.git#upm

The library will be automatically added to your project, and you can download samples from the package manager to see demonstrated usage.

## Documentation
[MVVM Architechture](Docs/Architechture.md)

[Writing a ViewModel](Docs/ViewModels.md)

[How to create bindings](Docs/Bindings.md)

[Views](Docs/Views.md)

[Converters](Docs/Converters.md)

[Events](Docs/Events.md)

[ChangeLog](ChangeLog.md)

## Contributing

I am open to contributions, requests, PRs etc... however know that this is mostly a personal project for my own use in my [production projects](https://nateturley.com/), so I can't guarantee I will accept a change.

DM me up on [twitter](https://twitter.com/turleyn) if you want to chat!

## Support

I am an independent developer, and most of the development on this project is done in my spare time. If you like using this library, please consider donating:

[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](http://paypal.me/NTurley)

If you're interested in collaborating or hiring me for a project, check out [my portfolio](https://nateturley.com/) and [reach out](mailto:[email protected])!

## License
MIT License - do with it what you will, just don't blame me if it doesn't work :)

Copyright (c) 2021 Nate Turley
[email protected]