All Projects → nievesj → Unity Core Project

nievesj / Unity Core Project

Licence: mit
Core Framework for Unity

Projects that are alternatives of or similar to Unity Core Project

Jengine
JEngine是针对Unity开发者设计的开箱即用的框架,封装了强大的功能,小白也能快速上手,轻松制作可以热更新的游戏 | JEngine is a streamlined and easy-to-use framework designed for Unity Programmers which contains powerful features, beginners can start up quickly and making hot update-able games easily
Stars: ✭ 564 (+1242.86%)
Mutual labels:  framework, game, unity, unity3d
Bdframework.core
[中]Simple! Easy! Powerful Unity3d game workflow! Unity3d framework:c# hotfix(ILRuntime)、asset manager、ui workflow、network debug... and so on
Stars: ✭ 1,196 (+2747.62%)
Mutual labels:  framework, game, unity, unity3d
Htframework
Unity HTFramework, a rapid development framework of client to the unity.
Stars: ✭ 179 (+326.19%)
Mutual labels:  framework, game, unity, unity3d
Loxodon Framework
An MVVM & Databinding framework that can use C# and Lua to develop games
Stars: ✭ 802 (+1809.52%)
Mutual labels:  framework, game, unity3d
Redrunner
Red Runner, Awesome Platformer Game.
Stars: ✭ 414 (+885.71%)
Mutual labels:  game, unity, unity3d
Texturepanner
This repository hosts a shader for Unity3D whose main goal is to facilitate the creation of neon-like signs, conveyor belts and basically whatever based on scrolling textures
Stars: ✭ 528 (+1157.14%)
Mutual labels:  game, unity, unity3d
Catlib
CatLib for unity3d dependency injection framework
Stars: ✭ 228 (+442.86%)
Mutual labels:  framework, unity, unity3d
Savegamepro
A Complete and Powerful Save Game Solution for Unity (Game Engine)
Stars: ✭ 30 (-28.57%)
Mutual labels:  game, unity, unity3d
Buttons And Boxes
A Sokoban-esque puzzle game developed in unity 3D in 2016
Stars: ✭ 17 (-59.52%)
Mutual labels:  game, unity, unity3d
Bepinex
Unity / XNA game patcher and plugin framework
Stars: ✭ 1,001 (+2283.33%)
Mutual labels:  framework, unity, unity3d
Pokemonunity
A framework to build Pokémon RPG games.
Stars: ✭ 934 (+2123.81%)
Mutual labels:  game, unity, unity3d
Knight
Knight is a game framework based on Unity3D engine. It includes a complete assetbundle manager, a c# hotfix module based on ILRuntime, and a UI module based on MVVM, and other basic functions support.
Stars: ✭ 302 (+619.05%)
Mutual labels:  framework, unity, unity3d
Framework
deprecated, use : https://github.com/CatLib/CatLib
Stars: ✭ 279 (+564.29%)
Mutual labels:  framework, unity, unity3d
Tower Defense Game
this is a game made with Unity, the goal is to protect the tower against robots.
Stars: ✭ 25 (-40.48%)
Mutual labels:  game, unity, unity3d
Unitystandalonefilebrowser
A native file browser for unity standalone platforms
Stars: ✭ 1,002 (+2285.71%)
Mutual labels:  unity, unity3d, webgl
Noahgameframe
A fast, scalable, distributed game server engine/framework for C++, include the actor library, network library, can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua script/ Unity3d, Cocos2dx and plan to support Unreal.
Stars: ✭ 3,258 (+7657.14%)
Mutual labels:  game, unity, unity3d
Centrifuge
Cross-platform runtime mod loader and API for any Unity-based game. Supports Unity 5 and up!
Stars: ✭ 18 (-57.14%)
Mutual labels:  framework, unity, unity3d
Hsplugins
Various Honey Select plugins
Stars: ✭ 21 (-50%)
Mutual labels:  game, unity, unity3d
Xrtk Core
The Official Mixed Reality Framework for Unity
Stars: ✭ 219 (+421.43%)
Mutual labels:  framework, unity, unity3d
Number Wizard Ui Original
Introducing basic User Interface in the Complete Unity C# Developer 2D course (http://gdev.tv/cudgithub)
Stars: ✭ 18 (-57.14%)
Mutual labels:  game, unity, unity3d

Core Framework for Unity

Current Version 3

Supported Unity versions: 2019.1 or latest.

If you need to use the old scripting runtime (.net 3.5) then use the release-1.3 branch.

What is Core Framework?

The purpose of Core Framework is to help speed up development in Unity3D by providing the following basic systems every game needs to have:

  • Asset Bundle loading system that can load assets from:
    • Streaming assets folder
    • Web server or cloud service
    • Simulate asset bundles on editor
  • UI System
    • Basic implementation of Widgets, Dialogs and Panels
    • Transition animations by using DOTween, configurable on inspector
    • Can trigger sounds when a transition plays
  • Basic audio system
  • Mouse / Touch input control
  • Factory tool
  • Console window colors! Colorize your debug messages with colors so they are easier to read.
  • Base game starting point (Example Project)

Requirements

  • .Net 4.5.
  • .Net Standard 2.0

Demo

Example Project

Purpose

The main aspect of this library is loading and unloading asset bundles in a very simple way.

 var ball = await AssetService.LoadAsset<Ball>(AssetCategoryRoot.Prefabs,
            "Ball");

How to integrate into a project?

This project is meant to be added to an existing Unity Project, either by downloading it and placing it in the "Plugins" folder, or by setting it as a subtree to your git repo. Alternatively you can use the Example Project as a starting point.

Dependencies

Core Framework depends on the the following components

  • UniRx: And UniAsync.
  • Extenject: Core Framework libraries are loaded and used with Dependency Injectiion.
  • AssetBundles-Browser: Unity's tool for building and organizing asset bundles.
  • DOTween: Used in UI transitions.

Which platforms are compatible?

Has been tested on iOS, Android, Mac, Windows and WebGL.

Asset Bundles

For simplicity, the current asset bundle strategy for this tool is that each prefab is its own asset bundle, and asset bundles are organized by categories or directories. Image below is Unity's AssetBundles-Browser.

Asset Bundle Organization

These directories are mapped to the enum AssetCategoryRoot as shown below.

public enum AssetCategoryRoot
{
	None,
	Configuration,
	Services,
	Levels,
	SceneContent,
	GameContent,
	Windows,
	Audio,
	Prefabs
}

The service also detects the platform it's running on, and uses that to get the asset bundles from the web in the following order:

Cloud Asset Bundle Structure

This functionality is entirely seamless to the developer, thus requesting an asset is now as easy as:

   var shaterrer = await AssetService.LoadAsset<Shaterrer>(AssetCategoryRoot.Prefabs,
            Constants.Prefabs.Shaterrer);

Simulating Asset Bundles

Asset Bundle simulation is enabled by default. If you wish to disable it go to menu Core Framework -> Disable Simulate Asset Bundles.

Core Framework Preferences

Alternatively, there's also a _Core menu to enable/disable simulation mode

Core Menu

Asset Service Options

  • Use Streaming Assets
    • Toggling this will load the asset bundles from the streaming assets folder
  • Asset Bundles URL
    • Location where the asset bundles are stored on the cloud
  • Cache Asset Bundles?
    • Toggle this if you want to cache the asset bundles on device. The file UnityCloudBuildManifest.json needs to be present in order to cache bundles.

Console window colors!

This feature allows you to easily colorize debug messages so you can keep track of related events by colors on editor. This functionality is disabled on builds so the console log doesn't become cluttered with color tags.

By using the logger, device logs are not littered with tags. thus are easier to read.

Asset Service Options

   Logger.Log("My very awesome lime colored text!"",Colors.Lime);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].