Giter Site home page Giter Site logo

customtoolbar's Introduction

CustomToolbar

Unity 2019.4+ License: MIT

based on this marijnz unity-toolbar-extender. Also avaliable on Asset Store. Please, review it to make it more popular

image

Why you should use the CustomToolbar?

This custom tool helps you to test and develop your game easily

Installation

(For Unity 2018.3 or later) Using OpenUPM

This package is available on OpenUPM.
You can install it via openupm-cli.

openupm add com.smkplus.customtoolbar

(For Unity 2019.2 or later) Through Unity Package Manager

  • MenuItem - Window - Package Manager
  • Add package from git url
  • paste https://github.com/smkplus/CustomToolbar.git#master

(For Unity 2018.3 or later) Using Git

Find the manifest.json file in the Packages folder of your project and add a line to dependencies field. "com.smkplus.customtoolbar": "https://github.com/smkplus/CustomToolbar.git#master" Or, use UpmGitExtension to install and update the package.

For Unity 2018.2 or earlier

  1. Download a source code zip this page
  2. Extract it
  3. Import it into the following directory in your Unity project
    • Packages (It works as an embedded package. For Unity 2018.1 or later)
    • Assets (Legacy way. For Unity 2017.1 or later)

From Unity Asset Store

  1. https://assetstore.unity.com/packages/tools/utilities/custom-toolbar-189047
  2. Add it to project as usual

Sample scenes to test

You can import sample scenes from package manager.

image


Scene selection dropdown to open scene in editor. Scenes in build have unity icon while selected and appear above splitter in list

image


when you want to clear all playerprefs you have to follow 3 step:

image

but you can easily Clear them by clicking on this button:

image


another button relevant to saving is this button that prevents saving during the gameplay. because sometimes you have to Clear All playerprefs after each test so you can enable this toggle:

Enable Playerprefs:

image

Disable Playerprefs:

image


you can restart the active scene by this button:

image


suppose you want to test your game so you should start game from scene 1(Menu):

image

you have to find scene 1 (Menu):

image

then you should start the game:

image

this button is shortcut to start the game from scene 1:

image


I usually test my games by changing timescale.

image


Also it usefull to test your game with different framerates, to be sure that it is framerate-independent.

image


Button to recompile scripts. Usefull when you working on splitting code into .asmdef

image


Force reserialize selected(in project window) assets. What it does - https://docs.unity3d.com/ScriptReference/AssetDatabase.ForceReserializeAssets.html

image


Force reserialize all assets. Same as previous, but for all assets and takes some time. Use this after adding new asset or updating unity version in order to not spam git history with unwanted changes.

image


You can customize the toolbar on Project Setting

Images~/ProjectSetting-CustomToolbar.png


How to Contribute

Development directory:

  1. Create a project through Unity Hub.
  2. clone repository at Package folder at root of project.
  3. edit codes with your IDE.

image

image

image

customtoolbar's People

Contributors

baba-s avatar inertiave avatar smkplus avatar sttrox avatar team-on avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

customtoolbar's Issues

Cannot distinguish scenes with the same name.

In some cases, most of asset from asset store provides several example scenes that uses common names such as Main.unity, SampleScene.unity, Scene.unity and Test.unity. Distinguishing by name of scene might cause malfunction. So my suggestion is to use path to take uniqueness instead of name.

If you don't mind, I'll PR this branch.
Appreciate.

CONTRIBUTING.md

In my opinion, we should create a document with a contribution protocol from now on. Because the code is getting complicated. Let's talk about this together if you have any opinions about it.

Unity 2019.1.6f1

I have errors after fix using that UIElements no longer in Experimental

PastedGraphic-1

ToolBarSceneSelection should check playmode change

ToolBarSceneSelection's Draw handling of the dropdown conflicts with opening scenes for playing.
As this changes the lists content (rebuild), the scene is opened implicitly (again) by this action (GUI.changed).
This becomes noticable if the ToolbarStartFromFirstScene button is used. The internal reopening of the scene prolongs the playmode start and the regular unity toolbar buttons don't show the entering-playmode-state change (play-button being visually pressed down).
This little change works around this (in DrawSceneDropdown() - ToolbarSceneSelection.cs):
if ((scenePath) == scenesPopupDisplay[selectedSceneIndex].path && !EditorApplication.isPlayingOrWillChangePlaymode) // check for entering playmode here

Exception after exiting the play mode

ArgumentException: Scene file not found: ''.
UnityEditor.SceneManagement.EditorSceneManager.OpenScene (System.String scenePath, UnityEditor.SceneManagement.OpenSceneMode mode) (at <007193b7fa9c4ad1be5b26df6a654213>:0)
UnityEditor.SceneManagement.EditorSceneManager.OpenScene (System.String scenePath) (at <007193b7fa9c4ad1be5b26df6a654213>:0)
ToolbarStartFromFirstScene.LogPlayModeState (UnityEditor.PlayModeStateChange state) (at Library/PackageCache/com.smkplus.custom-toolbar@34d4c8580b/Editor/CustomToolbar/Scripts/ToolbarElements/ToolbarStartFromFirstScene.cs:40)
UnityEditor.EditorApplication.Internal_PlayModeStateChanged (UnityEditor.PlayModeStateChange state) (at <007193b7fa9c4ad1be5b26df6a654213>:0)

Missing Release (Therefore no OpenUPM version)

Currently the asset can't be installed through openupm, since it is missing a github release.

To add a version to OpenUPM just add a git-tag (like 1.0.0) to the commit that should be used for the version :)

Doesn't work in 2021.

It draws GUI elements on toolbar but they don't properly react on mouse events... e.g. scene drown-down does nothing on click.

Publish at Asset store?

What about publishing asset at Unity Asset Store? I think that asset pretty usefull and it should be in the store.

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.