The web application is an tool for multiple users in a team to analyze game data and Unity AssetBundles online. It starts from POC, and is currently designed for Sdorica only. The project is inspired by AssetStudio, using UnityPack for deserialization, and django-vue-template for startup.
With the tool, you can analyze these data through the browser (whether desktop or mobile). While all the data has been stored on the server, you needn't to download all the AssetBundle to you computer. More over, you can share URL, JS code and convert rules between your team if needed, or call APIs for further purpose.
中文 (WIP)
- Imperium (msgpack format game data used by Rayark) and AssetBundles collecting & diff
- Searching containers/assets in all AssetBundles by keywords
- AssetBundle viewer: inspect raw assets data and media assets (currently support
Sprite
,Texture2D
(support ETC2),AudioClip
) - Spine web player integration, with converting Spine
v3.2.01
.skel
to latest.json
support (web player supports.json
file only), and GIF export. - Client-side script: Enhancing AssetBundle viewer/ Executing custom scripts by client-side JavaScript ( for example, convert asset data to human-readable text or Wikitext )
- Convert rules: a diction for looking up the meaning of some ID when analyzing
- Select then lookup: "translate" selected words according to convert rules, or check the version of an AssetBundle.
- User groups for access control (read_only or standard) based on Django authentication system
- Discord OAuth2 Support, managing whitelisting through Django admin
- Dark theme (Vuetify)
Live Demo: (WIP)
- Backend: Django + Django REST framework + Celery (for async download)
- Frontend: Vue + Vuetify
Name (*=required) | Default | Meaning |
---|---|---|
DATABASE_URL * |
- | Database URL for dj-database-url |
SECRET_KEY |
secrets.token_urlsafe(64) on every startup |
Django SECRET_KEY |
DJANGO_SETTINGS_MODULE |
backend.settings.prod (wsgi.py) |
Django settings module |
INSPECTOR_PYPY_PATH |
- | PyPy acceleration for ETC2Decoder |
DISCORD_OAUTH2_CLIENT_ID |
- | Discord OAuth2 client ID |
DISCORD_OAUTH2_CLIENT_SECRET |
- | Discord OAuth2 client secret |
Before getting started you should have the following installed and running:
- Yarn - instructions
- Vue CLI 3 - instructions
- Python 3 (Recommend 3.6) - instructions
- Pipenv - instructions
- Redis - required only if you need to download ABs by Celery asynchronous task.
- Clone the repo.
- Set the environment variables according to your needs
- Run
deploy.sh
to install the requirements and build frontend code. - (Optional) Create superuser using
pipenv run python manage.py createsuperuser
- run
run.sh
to start the server.
Location | Content |
---|---|
/backend |
Django Project & Backend Config |
/backend/api |
Django App (/api ) |
/src |
Vue App . |
/src/main.js |
JS Application Entry Point |
/public/index.html |
Html Application Entry Point (/ ) |
/public/static |
Static Assets |
/dist/ |
Bundled Assets Output (generated at yarn build |
/data/ |
Data or cache generated by Sdorica Inspector |
$ python manage.py runserver
$ celery -A backend.api.celery worker --loglevel=info
$ celery -A backend.api.celery flower # run flower if you need monitor
From another tab in the same directory:
$ yarn serve
More info: Running Development Servers