Announcement

Collapse
No announcement yet.

CamUEr, an alternative editor viewport camera bookmarking system

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • CamUEr, an alternative editor viewport camera bookmarking system

    What is it?
    CamUEr is an Unreal Engine editor plugin that lets you bookmark as many viewport camera locations as you want,
    give them names so you can easily remember them and delete them if you no longer need them.

    Want to get quick access to your first 12 bookmarks? They all have shortcut keys (Ctrl-F1 through F12) for instant access.

    Bookmarks are saved per project and per map, so the next time you open a map, they'll be right there, waiting for you.

    It's not on the marketplace. Where do I get it?
    Go to itch.io or Gumroad.

    Still confused? Maybe these demonstrations will help.



    Screenshots
    Click image for larger version

Name:	camuer1.png
Views:	1
Size:	28.9 KB
ID:	1180843
    Click image for larger version

Name:	camuer2.png
Views:	1
Size:	34.9 KB
ID:	1180844
    Click image for larger version

Name:	camuer3.png
Views:	1
Size:	29.4 KB
ID:	1180845
    Last edited by turfster; 07-19-2016, 10:21 PM.
    Creator of

    and also

  • #2
    Originally posted by franktech
    Needs more Editor features than this imo... Top Suggestions:
    Those are... all outside the scope of my plugin, though? I guess I could add number 3, maybe?
    You're better off talking about Epic about those.
    Creator of

    and also

    Comment


    • #3
      Needs more Editor features than this imo... Top Suggestions:

      1. Add a wider range of Camera speeds 1-20 (10x faster then the top speed of 8 atm).
      2. Add Edit-> Goto Co-ordinates X,Y,Z etc...
      3. Add a feature to search for / select actors by Tag similar to UDK.....
      4. Fix: Editor -> Right-click over mesh -> Go Here (Often you end up in 'black hole' limbo)

      5. Fix: Add a Collapse-All option to World Outliner to quickly get back to top-level root folders...
      6. Fix: GroupActors in World Outliner can't be moved to a subfolder w/o breaking the folder hierarchy???
      7. Fix: World-Outliner -> Filter search box. Right-click -> Select -> Immediate Children (Doesn't work if child names differ)
      8. Add: World-Outliner -> Right-Click -> Select -> All brother / sister actors in same folder. (helpful if folder is mega large)
      9. Fix: Extend Drag / Drop to make the World Outliner window scroll up / down before user lets go of objects (mouse button released).

      10. Fix: The F key is an abomination in large worlds as it defaults to a random angle light-years from target meshes.

      11. Add Cancel button: Large de-selection of meshes can cause UE4 to hang indefinitely...
      12. Add Cancel button: Cancel file-open if large level file is accidentally clicked on...
      13. Add Cancel button: Cancel static-mesh auto-convex collision operation or add a warning if it'll take a long time..

      14. Fix: Allow meshes to be moved as you pan / move around in world off-screen (same as UDK...)
      15. Fix: Content-Browser: Filter: Level / Maps DateModified is useless. It often reads 01/01/1 (Win7 / UE4.10???)...
      16: Fix: Camera Bookmarks affect all viewport windows at same time. But only the current viewport should be affected...
      17. Add: Add additional World-Outliner windows to allow for switching between sections of large maps (only one to be active at a time).
      18. Fix: After PIE is canceled revert camera viewport to location before PIE. (Already exists in INI / Editor options somewhere???)

      Comment


      • #4
        This is a cool tool and the price is certainly right. A shame that Epic does not sell that through the marketplace. Anyway, thanks for making this

        Comment


        • #5
          Originally posted by Wallenstein View Post
          This is a cool tool and the price is certainly right. A shame that Epic does not sell that through the marketplace. Anyway, thanks for making this
          You're welcome.
          Creator of

          and also

          Comment


          • #6
            4.13 build up on the itch.io and gumroad marketplaces.
            Creator of

            and also

            Comment


            • #7
              I had it running on 4.14 yesterday and today it would crash the program on start. I didnt download the 4.13 release because I cant find my original download info. Will this new version run on 4.14?

              Comment


              • #8
                Originally posted by Wallenstein View Post
                I had it running on 4.14 yesterday and today it would crash the program on start. I didnt download the 4.13 release because I cant find my original download info. Will this new version run on 4.14?
                There's a 4.14 build on both marketplaces that *should* work.
                Crashing on start is a new one.
                Do you have a crash log for it (or can you repeat it and get the crash log?)
                Creator of

                and also

                Comment


                • #9
                  the plugin works in one project but not in another anymore. Both projects use UE 4.14 and I'm using the source file version of the plugin. I copied the exact same plugin files over to make sure I have the right version and all. I can activate the plugin and it runs. When I restart the project in the editor with the plugin already activated and the window open and one bookmark it crashes.
                  Here is the crash stack:

                  Access violation - code c0000005 (first/second chance not available)

                  UE4Editor_CamBookmarkUEr!SCamUErWidget::Construct() [c:\data\mikaboshi2\unrealprojects\client\plugins\cambookmarkuer\source\cambookmarkuer\private\scamuerwidget.cpp:80]
                  UE4Editor_CamBookmarkUEr!TDecl<SCamUErWidget,RequiredArgs::T0RequiredArgs>:perator<<=() [c:\program files (x86)\epic games\4.14\engine\source\runtime\slatecore\public\widgets\declarativesyntaxsupport.h:1079]
                  UE4Editor_CamBookmarkUEr!FCamBookmarkUErModule::OnSpawnPluginTab() [c:\data\mikaboshi2\unrealprojects\client\plugins\cambookmarkuer\source\cambookmarkuer\private\cambookmarkuer.cpp:67]
                  UE4Editor_CamBookmarkUEr!TMemberFunctionCaller<FCamBookmarkUErModule,TSharedRef<SDockTab,0> (__cdecl FCamBookmarkUErModule::*)(FSpawnTabArgs const & __ptr64) __ptr64>:perator()<FSpawnTabArgs const & __ptr64>() [c:\program files (x86)\epic games\4.14\engine\source\runtime\core\public\delegates\delegateinstanceinterface.h:161]
                  UE4Editor_CamBookmarkUEr!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<FCamBookmarkUErModule,TSharedRef<SDockTab,0> (__cdecl FCamBookmarkUErModule::*)(FSpawnTabArgs const & __ptr64) __ptr64>,FSpawnTabArgs const & __ptr64>() [c:\program files (x86)\epic games\4.14\engine\source\runtime\core\public\delegates\tuple.h:116]
                  UE4Editor_CamBookmarkUEr!TBaseRawMethodDelegateInstance<0,FCamBookmarkUErModule,TSharedRef<SDockTab,0> __cdecl(FSpawnTabArgs const & __ptr64)>::Execute() [c:\program files (x86)\epic games\4.14\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:547]
                  UE4Editor_Slate!TBaseDelegate<TSharedRef<SDockTab,0>,FSpawnTabArgs const & __ptr64>::Execute() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:522]
                  UE4Editor_Slate!FTabManager::SpawnTab() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1301]
                  UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1160]
                  UE4Editor_Slate!FTabManager::RestoreSplitterContent() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1275]
                  UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1253]
                  UE4Editor_Slate!FTabManager::RestoreSplitterContent() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1275]
                  UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1253]
                  UE4Editor_Slate!FTabManager::RestoreSplitterContent() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1275]
                  UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1253]
                  UE4Editor_Slate!FTabManager::RestoreSplitterContent() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1275]
                  UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1244]
                  UE4Editor_Slate!FTabManager::RestoreArea() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1136]
                  UE4Editor_Slate!FTabManager::RestoreFrom() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:700]
                  UE4Editor_LevelEditor!SLevelEditor::RestoreContentArea() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\leveleditor\private\sleveleditor.cpp:1183]
                  UE4Editor_LevelEditor!SLevelEditor::Initialize() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\leveleditor\private\sleveleditor.cpp:166]
                  UE4Editor_LevelEditor!FLevelEditorModule::SpawnLevelEditor() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\leveleditor\private\leveleditor.cpp:160]
                  UE4Editor_LevelEditor!TMemberFunctionCaller<FLevelEditorModule,TSharedRef<SDockTab,0> (__cdecl FLevelEditorModule::*)(FSpawnTabArgs const & __ptr64) __ptr64>:perator()<FSpawnTabArgs const & __ptr64>() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegateinstanceinterface.h:161]
                  UE4Editor_LevelEditor!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<FLevelEditorModule,TSharedRef<SDockTab,0> (__cdecl FLevelEditorModule::*)(FSpawnTabArgs const & __ptr64) __ptr64>,FSpawnTabArgs const & __ptr64>() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\tuple.h:116]
                  UE4Editor_LevelEditor!TBaseRawMethodDelegateInstance<0,FLevelEditorModule,TSharedRef<SDockTab,0> __cdecl(FSpawnTabArgs const & __ptr64)>::Execute() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:547]
                  UE4Editor_Slate!TBaseDelegate<TSharedRef<SDockTab,0>,FSpawnTabArgs const & __ptr64>::Execute() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:522]
                  UE4Editor_Slate!FTabManager::SpawnTab() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1301]
                  UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1160]
                  UE4Editor_Slate!FTabManager::RestoreSplitterContent() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1275]
                  UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1244]
                  UE4Editor_Slate!FTabManager::RestoreArea() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1136]
                  UE4Editor_Slate!FTabManager::RestoreFrom() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:700]
                  UE4Editor_MainFrame!FMainFrameModule::CreateDefaultMainFrame() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\mainframe\private\mainframemodule.cpp:189]
                  UE4Editor_UnrealEd!EditorInit() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\unrealed\private\unrealed.cpp:116]
                  UE4Editor!GuardedMain() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\launch.cpp:136]
                  UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
                  UE4Editor!WinMain() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
                  UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
                  kernel32
                  ntdll

                  Comment


                  • #10
                    Originally posted by Wallenstein View Post
                    UE4Editor_CamBookmarkUEr!SCamUErWidget::Construct() [c:\data\mikaboshi2\unrealprojects\client\plugins\cambookmarkuer\source\cambookmarkuer\private\scamuerwidget.cpp:80]
                    ... huh.
                    Try removing line 80 in SCamUErWidget.cpp: client = (FEditorViewportClient*)(GEditor->GetActiveViewport()->GetClient());
                    (which should be superfluous at this point anyway. Maybe it's trying to create the plugin before the rest of the editor because it was open the last time, and there's no active viewports yet?) and recompiling it?
                    Last edited by turfster; 12-05-2016, 07:24 PM.
                    Creator of

                    and also

                    Comment


                    • #11
                      Yes this seems to fix it. The error only occurred when you have the CamUR window open but the tab attached to a UE subwindow, like next to your content browser tab. It didn't occur when the CamUR window was a separate floating window

                      Comment


                      • #12
                        Yeah, attaching it to the main interface probably makes it get constructed alongside/before the viewports are fully initialized or something to that effect.
                        Creator of

                        and also

                        Comment

                        Working...
                        X