Unity Search Tool

Finding assets and objects will be difficult when projects are getting bigger with hundreds of assets and objects in scene

Unity search tool helps artists and engineers to find their assets in project and object in scene based on search criteria.

Below video shows

finding objects based on Object Layer,

finding un used layers in scene,

finding un used textures in scene,

finding Animation based on frame rate.

All search results can be exported to text file for reference.

Unity Difff Tool

Unity diff tool is a .net win form application developed using c# to find and display differences of two unity files in organised way.
Tool can be integrate in to perforce as custom diff tool for scene files also works for prefab, anim, material

Below video shows differences between two scene files GameRoom_Old (Old scene) and GameRoom (Latest scene)

Pink defines objects and properties are modified in latest scene.
Green defines objects and properties are added in latest scene.
Red defines objects and properties are removed in latest scene.

Unity Animation Hierarchy Editor

When i was working with unity 2D character animations, I have created hierarchy style rigs and done many animations. But later i had a situation to change the order of hierarchy and also renaming some nodes. After doing these changes i noticed that all animations were broken.

After some research i understood that animation curves stores data based on naming. So the solution is i have to replace paths for all animation curves in all animations.  INSANE

Unfortunately there is no option to set new path for animation curves. So i have started replacing paths manually for few animations using word pad search and replace. Got tired and back to unity and looked into scripts and found a way to replace using code. And made this tool.

 

If you are in same situation then download this compiled plugin and save your soul 🙂

Works with unity 5 and above. Please comment below for any issues or suggestions.

Plase note:

  1. All rotational curves should be save in Quaternion format. Other wise it will create keys on every frame.
  2. Take backup of your work before editing with this tool.
  3. This is not a professionally tested tool, So use it with your own risk.

 

AnimationHierarchyEditor.rar

 

 

Interface Puzzle

google-play-badge_256     Interface is a simple and addictive 2D puzzle game. To complete the puzzle simply connect and make free flow of electricity from power hub to power banks. . Just touch to set the direction of any connection line. Highlights: 1. Available in different grid sizes. 2. Unlimited Time. 3. Attractive Design and fx. 4. Comfortable play with one hand-one finger 5. 400 free puzzles.

Indian Ludo 3D

google-play-badge_256

  Indian Ludo 3D ( Ashta Chamma ) is one of the oldest and traditional turn based family board game of INDIA which is similar to Ludo game, this game is called by various names in different languages in different regions of India. This game is played with special dice called cowry shells and with different size grids with minimum of 2 players and maximum of 4 players. Different names for the Indian Ludo: • Ashta Chamma in Telugu ( Andhra Pradesh and Telangana regions of India ) • Chauka Bara, Katte Mane, Gatta Mane in Kannada ( Karnataka region of India ) • Pakidakali, Kavidi Kali in Malayalam ( Kerala region of India ) • Daayam or Thaayam in Tamil ( Tamil Nadu region of India ) • Kaana Duaa in Hindi ( Madhya Pradesh region of India ) Game features: • Play with 3D real time physics based cowries • Rotatable 3D view port • Play with device players or with human players • Attractive Animated Pawn movements and kill cam feature • Play LAN game with your friends on Wi-Fi connection • OnLine Game is an upcoming feature. • Achivements • Leader Boards Objective: Like Ludo game Player must move all his four pawn to destination zone which is located at the center of the grid before other players do. Game Rules: 1. When game starts all pawns are blocked at home zone, to release pawns player must roll 4 or 8. If player rolls 8 he/she can release up to 4 pawns(2 per each Pawn ). If player rolls 4 he/she can release up to 2 pawns. 2. Every player has a pre designed path to reach destination zone. So when player gets a number, then he/she needs to choose one of their released pawns and move it that many squares along the path designated for that player. 3. Only one pawn can stand on a zone or square except on a safe zone or square which marked with special design patterns. So if player X’s pawn stands on a zone and player Y’s pawn is moving to the same zone then player Y pawn can kill Player X’s pawn. Then player X’s pawn will go back to the starting zone and gets blocked again. 4. The game grid is divided into 3 lanes outer, middle and inner. Player has to kill at least one opponent’s pawn to enter into middle lane.(This rule excluded from my game) 5. When player rolls 4, 8 or kills opponent pawn he/she will get another chance to roll. 6. Reaching the central square: A pawn needs to reach the central square exactly. For example, if a pawn is 3 squares away from the center and the player throws a 4, then that pawn cannot be moved.

Unity Text Rendering Issue

Recently I have planned for a Telugu word game in unity and i have noticed that Unity text rendering system doesn’t work for some languages(Hindi, Telugu, Tamil etc..). The text looks broken, wrong order of alphabets and missing shapes etc...

Look into below image for better understanding.

 BrokenCorrect

This happens because unity doesn't read/apply glyph positions (GPOS) and glyph substitutes (GSUB) from font file.

GPOS and GSUB tables information is necessary for these languages to render text properly.

I have searched for a solution, but i couldn't find anything, So i thought to solve myself and tried some ideas.

Idea 1:

  1. Create a native plugin to read GPOS and GSUB tables from font files.
  2. Create a custom Text component  and uni scribe text as per language rules
  3. Apply GPOS and GSUB information and generate text mesh .

 

Pros: I can use downloaded TTF fonts, No need to create font asset.

Cons: Creating a native plugin is platform dependent.  I have to write for all platforms.

Idea 2:

  1. Create a custom font asset inside unity.
  2. Design font from scratch using sprites and store alphabet information in font asset.
  3. Create a custom Text component  and uni scribe text as per language rules.
  4. Read alphabets information from custom font asset and generate text mesh.

 

This idea is platform independent, But have to design font asset.

I followed the Idea no 2 and prepared flow charts

Click on the image to see full size.

IndicFontAsset

IndicTextComponent

 

 

Download Sample Telugu and Tamil Font:

IndicText

Here is the output.

"https://youtu.be/KnTtBFrI3d0"

 

 

There might be a better and easy solution for this issue, but for now this is the only idea i have. So i am using this for my upcoming game.