All Projects → devsisters → UnityCLI

devsisters / UnityCLI

Licence: other
Unity TCP CLI communication for debugging

Programming Languages

C#
18002 projects
Makefile
30231 projects

Projects that are alternatives of or similar to UnityCLI

Dialogutil
common used dialog with material style ( in support v7),ios style,get top activity automatically, invoke everywhere (any thread , any window)
Stars: ✭ 948 (+4209.09%)
Mutual labels:  util
Schematics Utilities
🛠️ Useful exported utilities for working with Schematics
Stars: ✭ 73 (+231.82%)
Mutual labels:  util
Base
🍁 Base是针对于Android开发封装好一些常用的基类,主要包括通用的Adapter、Activity、Fragment、Dialog等、和一些常用的Util类,只为更简单。
Stars: ✭ 249 (+1031.82%)
Mutual labels:  util
V Androidcollectsources
🔥💪 Github优秀开源项目整理,方便查阅,仅供参考,感谢开源!!!
Stars: ✭ 51 (+131.82%)
Mutual labels:  util
Hastscript
utility to create hast trees
Stars: ✭ 65 (+195.45%)
Mutual labels:  util
Notificationdemo
通知demo
Stars: ✭ 85 (+286.36%)
Mutual labels:  util
Protools
历经开发周期两年,并且应用过千万级别项目的工具箱
Stars: ✭ 663 (+2913.64%)
Mutual labels:  util
Shogun
Shodan.io Command Line Interface
Stars: ✭ 42 (+90.91%)
Mutual labels:  command-line-interface
Androidtools
Android开发工具类库.Toolkit of Android development, make your app developing easier!
Stars: ✭ 67 (+204.55%)
Mutual labels:  util
Luna Commons
市场上许多界面和工具的集合,例如ftp,httpd等文件与工具操作,包括但不限于图像处理、人脸识别等的api。
Stars: ✭ 244 (+1009.09%)
Mutual labels:  util
Goutil
go util 是golang通用工具包,实现一站式,开箱即用
Stars: ✭ 56 (+154.55%)
Mutual labels:  util
Low
low level data type and utils in Golang.
Stars: ✭ 63 (+186.36%)
Mutual labels:  util
Greatwall
Util应用框架配套的权限管理系统
Stars: ✭ 88 (+300%)
Mutual labels:  util
Easyandroid
一个完整基于kotlin的安卓开发框架,采用了mvvm设计模式。涵盖了: 1、基于retrofit2封装的通过kotlin协程实现的网络框架 2、基于阿里开源router修改的api-router实现项目模块化 3、基于glide的图片加载缓存框架 4、基于room实现的往来数据缓存加载 5、基于step实现的数据异步提交 6、基于PreferenceHolder实现的本地数据快速存储 7、基于mlist实现的简单复杂列表的快速开发扩展 8、定制的toolbar可以自适应异形屏,挖孔屏,水滴屏等等。。 本框架几乎涵盖了开发所需的所有模块组件。简单fork之后就可以基于框架快速开发。
Stars: ✭ 33 (+50%)
Mutual labels:  util
awaitwhat
Await, What?
Stars: ✭ 48 (+118.18%)
Mutual labels:  debug
Object.reduce
Reduces an object to a value that is the accumulated result of running each property in the object through a callback. JavaScript/node.js utility.
Stars: ✭ 11 (-50%)
Mutual labels:  util
Easysp
A SharedPreferences wrapper that has a fluent interface to store data
Stars: ✭ 75 (+240.91%)
Mutual labels:  util
fastapi-debug-toolbar
A debug toolbar for FastAPI.
Stars: ✭ 90 (+309.09%)
Mutual labels:  debug
alog
Update: use loguru instead. Simple straight logging your Python code
Stars: ✭ 38 (+72.73%)
Mutual labels:  debug
Unist Util Visit
utility to visit nodes
Stars: ✭ 101 (+359.09%)
Mutual labels:  util

UnityCLI

Unity TCP CLI communication for debugging

About This Plugin

Making debugging menu is always tedious. It's also too complex to present every debugging UIs for all the features. With UnityCLI, you can send commands any debugging logics to the target device without UI.

Platform

This plugin is implemented by using .Net's System.Net, so it's platform-independent. You can send commands from PC to mobile device. If you have TCP terminal on your mobile device, then it's also possible to send commands from that device.

How To Use

  1. Copy bin/UnityCLI.dll to your project.

  2. To open communication, call CLI.Bridge.TryInstall.

CLI.Bridge.TryInstall({SOME_PORT}, {SOME_WELCOME_MESSAGE})

This will create singleton, which opens TCP connection at {SOME_PORT}. If you want to communicate upon more than one port, just attach CLI.Bridge MonoBehaviour on any of your GameObject.

  1. Bind your own CLI logic to CLI.Bridge like below.
void BindExecuteCmd()
{
  var inst = CLI.Bridge.Instance;
  inst.ExecuteCmd = ExecuteCmd;
}

CLI.Result ExecuteCmd(CLI.Command cmd)
{
  switch (cmd.Exe)
  {
    case "realtimeSinceStartup":
      return CLI.Result.Success("now: " + Time.realtimeSinceStartup);
    case "timescale":
      var newTimescale = float.Parse(cmd.Args[0]);
      Time.timeScale = newTimescale;
      return CLI.Result.Success("set timescale: " + newTimescale);
    default:
      return CLI.Result.InvalidCmd(cmd);
  }
}
  1. Build and play your game on target device.

  2. To make connection from PC (OSX) to target device, you can use any TCP connection tools.

If you are on OSX, then this can be easily done with nc. Open your terminal and enter below.

nc {TARGET_DEVICE_IP} {TARGET_DEVICE_PORT}

Make sure that PC and target device are reachable each other. To check reachable, on terminal, enter ping {TARGET_DEVICE_IP}.

Contribution

To build DLL, enter make on your terminal. The output DLL will be placed in bin/UnityCLI.dll

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].