SmartCopier - quickly copy components and properties

3517728--281234--Logo big.png

If you find yourself regularly needing to copy Components from one GameObject to another (or even multiple), you have probably realized by now that this workflow quickly becomes very tedious. SmartCopier is a tiny utility that improves this, and provides a smooth and easy user experience.

[Get SmartCopier in the Asset Store]

Features
:heavy_check_mark: Copy any number of Components instantly
:heavy_check_mark: Select which properties of each Component you wish to copy
:heavy_check_mark: Paste the Components to all selected GameObjects
:heavy_check_mark: Specify custom types and attributes for Components or properties to ignore by default
:heavy_check_mark: Full source provided, features fully accessible through code-first API

How to use
SmartCopier requires no setup and is immediately available for any GameObject in your project. You can watch the video for a quick intro or read the instructions below.

  • Right-click any GameObject or component in the inspector.
  • Click “Smart Copy Components” at the bottom of the context menu.
  • This will open the SmartCopier window where all of the GameObject’s Components will be displayed.
  • Toggle any Component and their respective properties you wish to copy.
  • Select any amount of GameObjects you wish to copy the Components to and click “Paste And Replace” or “Paste As New”

What’s new
SmartCopier v2.0 is out now! This version includes:

  • A complete rewrite of the code
  • A new developer-centric API that is easy to extend
  • Prettier user interface

Requirements
Supports Unity 5.0 and above. Requires no additional setup. SmartCopier will work as soon as you import the package!

Roadmap
Some features that will be implemented in the future:

  • Save property selection for each Component type to a preset
  • Add default ignored Components or properties through GUI (currently only accessible through code)
  • Dedicated settings panel to access certain features that are only available through code right now

Support
Feel free to ask me here if you need any support. I’d also love to be notified if you find any problems or bugs, or come up with ideas for improvement.

Hi,

I just purchased the SmartCopier on the Asset Store.

This tool is looking amazing!

There are fields in the Rigidbody component that SmartCopier seems to ignore.

It’s missing the “Constraints” fields from the Rigidbody.

Can you confirm if this is happening?

Thank you!

Here are some screenshots from my previous post.

4472560--411007--upload_2019-4-26_4-21-48.png

4472560--411010--upload_2019-4-26_4-22-43.png

Hi there,

I see that the asset hasn’t been updated for a while, yet support is still very active.

Should I assume there was no good reason to push an update and that it still works perfectly in Unity 2019.1.0f2 even when entering/exiting prefab/subscene mode?

I’m of course interested in purchasing :slight_smile:

Hi,

The tool is not working 100% as expected (Win10/Unity 2019.1.0f2), it duplicates components during paste action, see video below

The template character has a component, RPG character controller, with some dependencies

  • When I copy it and paste it without using Smartcopier, the paste will take the dependencies in account
  • When I use Smartcopier to select n components, the paste is messy

There is not duplicated items if I uncheck the dependencies from the Smartcopier window, I “just” have to think twice before clicking on Paste button

Hi everyone, thanks for your interest in SmartCopier.

Apologies for my lack of replies here - email notifications seem not be working as expected. I will look into all reported issues and report back to you as soon as I have an update. You can expect this to be rather soon!

Cheers

1 Like

Update: @endae 's issue where required components would sometimes be duplicated when being copied to a new object has been resolved in version 2.1 of SmartCopier. You can download the update from the Asset Store!

To answer @NeatWolf 's question:

Yes! This should work straight out of the box. If you experience any problems you can write me on this forum, send me an email, or request a refund of course if the issue not resolved in time.

1 Like

I posted about the missing of the “Constraints” fields from the Rigidbody many weeks ago. Does the new version 2.1 fix that issue? Or, can you confirm if that issue does exist?

I confirm the problem I’ve reported has been fixed.
Thanks Kwinten

Hi there. Sorry for overlooking your question.

I can confirm this particular issue still exists in version 2.1. I can explain why: SmartCopier technically doesn’t copy over ALL serializable properties of an object. This is to avoid copying over unwanted properties such as its id, the reference to the GameObject it is on, etc. Instead, SmartCopier copies all “visible” serializable properties - the ones you see in the inspector. However, Unity implements custom inspectors for all of its “native” components. As a result, the “Constraints” property, which is serializable but normally “hidden”, becomes visible. Because SmartCopier has no way of knowing it is a “visible” property, it is not copied.

There’s no straightforward solution that I could find. But I will look into implementing a custom fix for this particular component (Rigidbody). I’ll keep you up to date.

1 Like

Just a quick update:

I’ve created a small intro video on how to use SmartCopier and attached it to this thread and to the Asset Store page.

This tool is still in active development and will see some cool new features soon! Stay tuned.

Hello !
I bought Smartcopier today.
It is copying only Components , Not values :frowning:

How to fix it? I am not a coder. I make games with playMaker !

Hi there,

Sorry to hear that it isn’t working as expected for you. Can you try the following things for me:

  • Completely delete the “SmartCopier” folder from your Assets folder.
  • Re-import SmartCopier from the Asset Store, making sure that you get the latest version.
  • See if everything works as expected now - try copying Components again.

If the issue persists, it would help me to know the following information from you:

  • Your version of Unity.
  • The version of SmartCopier you are / were using.
  • Which Component types are causing issues (all Components or specific ones?).

If I can identify the bug, I will try to provide a fixed version as early as possible. You can also PM or email me (email address if found here) me if you want to request a refund.

1 Like

Hi ! I tried re-installing. Same issue.

My Unity Version is Unity 2018.4.0f1 (64-bit)
Smartcopier : I don’t know. I just re-imported from Asset store after deleting

Ya ! All components are making troubles. Not copying values.
Btw, Unable to click this4655534--437411--Screenshot_8.png

Thanks for reporting back! I will try to reproduce your issue in the specified Unity version and report back to you later today.

1 Like

Hi @mobdoggo ,

Thank you again for reporting the issue. Thanks to your description I was able to find the bug and fix it. I have submitted a fixed version of SmartCopier to the Asset Store. Note that this can take a few days to be approved by Unity.

If you want, I can also send you a fixed version immediately (privately).

Thanks ! I just PMed my email.

Thank you !
I got fixed version and it’s doing it’s job.
Thank you.

1 Like

Version 2.1.3 of SmartCopier is now available for everyone on the Asset Store. It includes the latest bugfix!

Cheers

Hello, can this tool copy multiple components in childs based on the names of the gameobjects with couple of clicks?

For example:
I got 2 armatures exported from blender. The first armature was modified in unity and has components added to the bones for procedural animations.
The second armature has has a changed rig, a different hierachy but the bone names are all still the same name. There are however some bones that might be deleted.

This is how an example Hierachy could look like:

Armature 1(Source)

Root
Hip
Back
LegL(comp1,comp2,comp3)
LegR(comp1,comp2,comp3)

Armature 2 (Target with changed Hierachy)

Root
Hip
LegL <- Components should be automatically copied here by comparing the names and ignoring the hierachy
LegR <- Components should be automatically copied here by comparing the names and ignoring the hierachy
Back

What I am looking for is finding a tool, that compares both armatures and copies the components in editor to the new armature by comparing ALL BONES and ignoring bones or objects that doe not exist.